| /******************************************************************************* |
| * Copyright (c) 2019 Willink Transformations and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v2.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v20.html |
| * |
| * Contributors: |
| * E.D.Willink - initial API and implementation |
| *******************************************************************************/ |
| /* |
| * generated by Xtext 2.16.0 |
| */ |
| package org.eclipse.qvtd.doc; |
| |
| import com.google.inject.Binder; |
| import com.google.inject.Provider; |
| import com.google.inject.name.Names; |
| import java.util.Properties; |
| import org.eclipse.qvtd.doc.generator.MiniOCLCSGenerator; |
| import org.eclipse.qvtd.doc.parser.antlr.MiniOCLCSAntlrTokenFileProvider; |
| import org.eclipse.qvtd.doc.parser.antlr.MiniOCLCSParser; |
| import org.eclipse.qvtd.doc.parser.antlr.internal.InternalMiniOCLCSLexer; |
| import org.eclipse.qvtd.doc.scoping.MiniOCLCSScopeProvider; |
| import org.eclipse.qvtd.doc.serializer.MiniOCLCSSemanticSequencer; |
| import org.eclipse.qvtd.doc.serializer.MiniOCLCSSyntacticSequencer; |
| import org.eclipse.qvtd.doc.services.MiniOCLCSGrammarAccess; |
| import org.eclipse.qvtd.doc.validation.MiniOCLCSValidator; |
| import org.eclipse.xtext.Constants; |
| import org.eclipse.xtext.IGrammarAccess; |
| import org.eclipse.xtext.generator.IGenerator2; |
| import org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider; |
| import org.eclipse.xtext.naming.IQualifiedNameProvider; |
| import org.eclipse.xtext.parser.IParser; |
| import org.eclipse.xtext.parser.ITokenToStringConverter; |
| import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider; |
| import org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter; |
| import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider; |
| import org.eclipse.xtext.parser.antlr.ITokenDefProvider; |
| import org.eclipse.xtext.parser.antlr.Lexer; |
| import org.eclipse.xtext.parser.antlr.LexerBindings; |
| import org.eclipse.xtext.parser.antlr.LexerProvider; |
| import org.eclipse.xtext.resource.IContainer; |
| import org.eclipse.xtext.resource.IResourceDescriptions; |
| import org.eclipse.xtext.resource.containers.IAllContainersState; |
| import org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider; |
| import org.eclipse.xtext.resource.containers.StateBasedContainerManager; |
| import org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider; |
| import org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions; |
| import org.eclipse.xtext.scoping.IGlobalScopeProvider; |
| import org.eclipse.xtext.scoping.IScopeProvider; |
| import org.eclipse.xtext.scoping.IgnoreCaseLinking; |
| import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider; |
| import org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider; |
| import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider; |
| import org.eclipse.xtext.serializer.ISerializer; |
| import org.eclipse.xtext.serializer.impl.Serializer; |
| import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer; |
| import org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer; |
| import org.eclipse.xtext.service.DefaultRuntimeModule; |
| import org.eclipse.xtext.service.SingletonBinding; |
| |
| /** |
| * Manual modifications go to {@link MiniOCLCSRuntimeModule}. |
| */ |
| @SuppressWarnings("all") |
| public abstract class AbstractMiniOCLCSRuntimeModule extends DefaultRuntimeModule { |
| |
| protected Properties properties = null; |
| |
| @Override |
| public void configure(Binder binder) { |
| properties = tryBindProperties(binder, "org/eclipse/qvtd/doc/MiniOCLCS.properties"); |
| super.configure(binder); |
| } |
| |
| public void configureLanguageName(Binder binder) { |
| binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.eclipse.qvtd.doc.MiniOCLCS"); |
| } |
| |
| public void configureFileExtensions(Binder binder) { |
| if (properties == null || properties.getProperty(Constants.FILE_EXTENSIONS) == null) |
| binder.bind(String.class).annotatedWith(Names.named(Constants.FILE_EXTENSIONS)).toInstance("mocl"); |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2 |
| public ClassLoader bindClassLoaderToInstance() { |
| return getClass().getClassLoader(); |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2 |
| public Class<? extends IGrammarAccess> bindIGrammarAccess() { |
| return MiniOCLCSGrammarAccess.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 |
| public Class<? extends ISemanticSequencer> bindISemanticSequencer() { |
| return MiniOCLCSSemanticSequencer.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 |
| public Class<? extends ISyntacticSequencer> bindISyntacticSequencer() { |
| return MiniOCLCSSyntacticSequencer.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 |
| public Class<? extends ISerializer> bindISerializer() { |
| return Serializer.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 |
| public Class<? extends IParser> bindIParser() { |
| return MiniOCLCSParser.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 |
| public Class<? extends ITokenToStringConverter> bindITokenToStringConverter() { |
| return AntlrTokenToStringConverter.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 |
| public Class<? extends IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() { |
| return MiniOCLCSAntlrTokenFileProvider.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 |
| public Class<? extends Lexer> bindLexer() { |
| return InternalMiniOCLCSLexer.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 |
| public Class<? extends ITokenDefProvider> bindITokenDefProvider() { |
| return AntlrTokenDefProvider.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 |
| public Provider<? extends InternalMiniOCLCSLexer> provideInternalMiniOCLCSLexer() { |
| return LexerProvider.create(InternalMiniOCLCSLexer.class); |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 |
| public void configureRuntimeLexer(Binder binder) { |
| binder.bind(Lexer.class) |
| .annotatedWith(Names.named(LexerBindings.RUNTIME)) |
| .to(InternalMiniOCLCSLexer.class); |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2 |
| @SingletonBinding(eager=true) |
| public Class<? extends MiniOCLCSValidator> bindMiniOCLCSValidator() { |
| return MiniOCLCSValidator.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 |
| public Class<? extends IScopeProvider> bindIScopeProvider() { |
| return MiniOCLCSScopeProvider.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 |
| public void configureIScopeProviderDelegate(Binder binder) { |
| binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(ImportedNamespaceAwareLocalScopeProvider.class); |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 |
| public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider() { |
| return DefaultGlobalScopeProvider.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 |
| public void configureIgnoreCaseLinking(Binder binder) { |
| binder.bindConstant().annotatedWith(IgnoreCaseLinking.class).to(false); |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2 |
| public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() { |
| return DefaultDeclarativeQualifiedNameProvider.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 |
| public Class<? extends IContainer.Manager> bindIContainer$Manager() { |
| return StateBasedContainerManager.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 |
| public Class<? extends IAllContainersState.Provider> bindIAllContainersState$Provider() { |
| return ResourceSetBasedAllContainersStateProvider.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 |
| public void configureIResourceDescriptions(Binder binder) { |
| binder.bind(IResourceDescriptions.class).to(ResourceSetBasedResourceDescriptions.class); |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 |
| public void configureIResourceDescriptionsPersisted(Binder binder) { |
| binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(ResourceSetBasedResourceDescriptions.class); |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2 |
| public Class<? extends IGenerator2> bindIGenerator2() { |
| return MiniOCLCSGenerator.class; |
| } |
| |
| } |