| /***************************************************************************** |
| * Copyright (c) 2018 CEA LIST. |
| * |
| * 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: |
| * Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr |
| * - Initial API and implementation |
| * |
| ****************************************************************************** |
| * Generated by Xtext 2.25.0 |
| *****************************************************************************/ |
| package org.eclipse.efm.sew.xtext; |
| |
| import com.google.inject.Binder; |
| import com.google.inject.Provider; |
| import com.google.inject.name.Names; |
| import java.util.Properties; |
| import org.eclipse.efm.sew.xtext.generator.SEWGenerator; |
| import org.eclipse.efm.sew.xtext.parser.antlr.SEWAntlrTokenFileProvider; |
| import org.eclipse.efm.sew.xtext.parser.antlr.SEWParser; |
| import org.eclipse.efm.sew.xtext.parser.antlr.internal.InternalSEWLexer; |
| import org.eclipse.efm.sew.xtext.scoping.SEWScopeProvider; |
| import org.eclipse.efm.sew.xtext.serializer.SEWSemanticSequencer; |
| import org.eclipse.efm.sew.xtext.serializer.SEWSyntacticSequencer; |
| import org.eclipse.efm.sew.xtext.services.SEWGrammarAccess; |
| import org.eclipse.efm.sew.xtext.validation.SEWValidator; |
| import org.eclipse.xtext.Constants; |
| import org.eclipse.xtext.IGrammarAccess; |
| import org.eclipse.xtext.common.services.Ecore2XtextTerminalConverters; |
| import org.eclipse.xtext.conversion.IValueConverterService; |
| import org.eclipse.xtext.generator.IGenerator2; |
| import org.eclipse.xtext.naming.IQualifiedNameProvider; |
| import org.eclipse.xtext.naming.SimpleNameProvider; |
| 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 SEWRuntimeModule}. |
| */ |
| @SuppressWarnings("all") |
| public abstract class AbstractSEWRuntimeModule extends DefaultRuntimeModule { |
| |
| protected Properties properties = null; |
| |
| @Override |
| public void configure(Binder binder) { |
| properties = tryBindProperties(binder, "org/eclipse/efm/sew/xtext/SEW.properties"); |
| super.configure(binder); |
| } |
| |
| public void configureLanguageName(Binder binder) { |
| binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.eclipse.efm.sew.xtext.SEW"); |
| } |
| |
| 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("sew,favm"); |
| } |
| |
| // 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 SEWGrammarAccess.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 |
| public Class<? extends ISemanticSequencer> bindISemanticSequencer() { |
| return SEWSemanticSequencer.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 |
| public Class<? extends ISyntacticSequencer> bindISyntacticSequencer() { |
| return SEWSyntacticSequencer.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 SEWParser.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 SEWAntlrTokenFileProvider.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 |
| public Class<? extends Lexer> bindLexer() { |
| return InternalSEWLexer.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 InternalSEWLexer> provideInternalSEWLexer() { |
| return LexerProvider.create(InternalSEWLexer.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(InternalSEWLexer.class); |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2 |
| @SingletonBinding(eager=true) |
| public Class<? extends SEWValidator> bindSEWValidator() { |
| return SEWValidator.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 |
| public Class<? extends IScopeProvider> bindIScopeProvider() { |
| return SEWScopeProvider.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.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 SEWGenerator.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.ecore2xtext.Ecore2XtextValueConverterServiceFragment2 |
| public Class<? extends IValueConverterService> bindIValueConverterService() { |
| return Ecore2XtextTerminalConverters.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.exporting.SimpleNamesFragment2 |
| public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() { |
| return SimpleNameProvider.class; |
| } |
| |
| } |