| /** |
| * Copyright (c) 2017 CEA. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * CEA - initial API and implementation and/or initial documentation |
| */ |
| /* |
| * generated by Xtext 2.9.1 |
| */ |
| package org.eclipse.sensinact.studio.language; |
| |
| import com.google.inject.Binder; |
| import com.google.inject.Provider; |
| import com.google.inject.name.Names; |
| import java.util.Properties; |
| import org.eclipse.sensinact.studio.language.generator.SensinactGenerator; |
| import org.eclipse.sensinact.studio.language.parser.antlr.SensinactAntlrTokenFileProvider; |
| import org.eclipse.sensinact.studio.language.parser.antlr.SensinactParser; |
| import org.eclipse.sensinact.studio.language.parser.antlr.internal.InternalSensinactLexer; |
| import org.eclipse.sensinact.studio.language.scoping.SensinactScopeProvider; |
| import org.eclipse.sensinact.studio.language.serializer.SensinactSemanticSequencer; |
| import org.eclipse.sensinact.studio.language.serializer.SensinactSyntacticSequencer; |
| import org.eclipse.sensinact.studio.language.services.SensinactGrammarAccess; |
| import org.eclipse.sensinact.studio.language.validation.SensinactValidator; |
| 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 SensinactRuntimeModule}. |
| */ |
| @SuppressWarnings("all") |
| public abstract class AbstractSensinactRuntimeModule extends DefaultRuntimeModule { |
| |
| protected Properties properties = null; |
| |
| @Override |
| public void configure(Binder binder) { |
| properties = tryBindProperties(binder, "org/eclipse/sensinact/studio/language/Sensinact.properties"); |
| super.configure(binder); |
| } |
| |
| public void configureLanguageName(Binder binder) { |
| binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.eclipse.sensinact.studio.language.Sensinact"); |
| } |
| |
| 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("sna"); |
| } |
| |
| // 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 SensinactGrammarAccess.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 |
| public Class<? extends ISemanticSequencer> bindISemanticSequencer() { |
| return SensinactSemanticSequencer.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 |
| public Class<? extends ISyntacticSequencer> bindISyntacticSequencer() { |
| return SensinactSyntacticSequencer.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 SensinactParser.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 SensinactAntlrTokenFileProvider.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 |
| public Class<? extends Lexer> bindLexer() { |
| return InternalSensinactLexer.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<InternalSensinactLexer> provideInternalSensinactLexer() { |
| return LexerProvider.create(InternalSensinactLexer.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(InternalSensinactLexer.class); |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2 |
| @SingletonBinding(eager=true) |
| public Class<? extends SensinactValidator> bindSensinactValidator() { |
| return SensinactValidator.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 |
| public Class<? extends IScopeProvider> bindIScopeProvider() { |
| return SensinactScopeProvider.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 SensinactGenerator.class; |
| } |
| |
| } |