| /* |
| * generated by Xtext |
| */ |
| package org.eclipse.handly.examples.basic; |
| |
| import com.google.inject.Binder; |
| import com.google.inject.Provider; |
| import com.google.inject.name.Names; |
| import java.util.Properties; |
| import org.eclipse.handly.examples.basic.parser.antlr.FooAntlrTokenFileProvider; |
| import org.eclipse.handly.examples.basic.parser.antlr.FooParser; |
| import org.eclipse.handly.examples.basic.parser.antlr.internal.InternalFooLexer; |
| import org.eclipse.handly.examples.basic.serializer.FooSemanticSequencer; |
| import org.eclipse.handly.examples.basic.serializer.FooSyntacticSequencer; |
| import org.eclipse.handly.examples.basic.services.FooGrammarAccess; |
| import org.eclipse.xtext.Constants; |
| import org.eclipse.xtext.IGrammarAccess; |
| 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.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; |
| |
| /** |
| * Manual modifications go to {@link FooRuntimeModule}. |
| */ |
| @SuppressWarnings("all") |
| public abstract class AbstractFooRuntimeModule extends DefaultRuntimeModule { |
| |
| protected Properties properties = null; |
| |
| @Override |
| public void configure(Binder binder) { |
| properties = tryBindProperties(binder, "org/eclipse/handly/examples/basic/Foo.properties"); |
| super.configure(binder); |
| } |
| |
| public void configureLanguageName(Binder binder) { |
| binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.eclipse.handly.examples.basic.Foo"); |
| } |
| |
| 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("foo"); |
| } |
| |
| // 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 FooGrammarAccess.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 |
| public Class<? extends ISemanticSequencer> bindISemanticSequencer() { |
| return FooSemanticSequencer.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 |
| public Class<? extends ISyntacticSequencer> bindISyntacticSequencer() { |
| return FooSyntacticSequencer.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 FooParser.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 FooAntlrTokenFileProvider.class; |
| } |
| |
| // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 |
| public Class<? extends Lexer> bindLexer() { |
| return InternalFooLexer.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 InternalFooLexer> provideInternalFooLexer() { |
| return LexerProvider.create(InternalFooLexer.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(InternalFooLexer.class); |
| } |
| |
| } |