/*
* generated by Xtext
*/
package de.sebastianbenz.xgherkin;
import java.util.Properties;
import org.eclipse.xtext.Constants;
import org.eclipse.xtext.service.DefaultRuntimeModule;
import com.google.inject.Binder;
import com.google.inject.name.Names;
/**
* Manual modifications go to {de.sebastianbenz.xgherkin.GherkinRuntimeModule}
*/
@SuppressWarnings("all")
public abstract class AbstractGherkinRuntimeModule extends DefaultRuntimeModule {
protected Properties properties = null;
@Override
public void configure(Binder binder) {
properties = tryBindProperties(binder, "de/sebastianbenz/xgherkin/Gherkin.properties");
super.configure(binder);
}
public void configureLanguageName(Binder binder) {
binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("de.sebastianbenz.xgherkin.Gherkin");
}
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("feature");
}
// contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
public Class<? extends org.eclipse.xtext.IGrammarAccess> bindIGrammarAccess() {
return de.sebastianbenz.xgherkin.services.GherkinGrammarAccess.class;
}
// contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
public Class<? extends org.eclipse.xtext.serializer.sequencer.ISemanticSequencer> bindISemanticSequencer() {
return de.sebastianbenz.xgherkin.serializer.GherkinSemanticSequencer.class;
}
// contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
public Class<? extends org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer> bindISyntacticSequencer() {
return de.sebastianbenz.xgherkin.serializer.GherkinSyntacticSequencer.class;
}
// contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
public Class<? extends org.eclipse.xtext.serializer.ISerializer> bindISerializer() {
return org.eclipse.xtext.serializer.impl.Serializer.class;
}
// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() {
return de.sebastianbenz.xgherkin.parser.antlr.GherkinParser.class;
}
// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
public Class<? extends org.eclipse.xtext.parser.ITokenToStringConverter> bindITokenToStringConverter() {
return org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter.class;
}
// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
public Class<? extends org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() {
return de.sebastianbenz.xgherkin.parser.antlr.GherkinAntlrTokenFileProvider.class;
}
// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() {
return de.sebastianbenz.xgherkin.parser.antlr.internal.InternalGherkinLexer.class;
}
// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
public com.google.inject.Provider<de.sebastianbenz.xgherkin.parser.antlr.internal.InternalGherkinLexer> provideInternalGherkinLexer() {
return org.eclipse.xtext.parser.antlr.LexerProvider.create(de.sebastianbenz.xgherkin.parser.antlr.internal.InternalGherkinLexer.class);
}
// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
public void configureRuntimeLexer(com.google.inject.Binder binder) {
binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.parser.antlr.LexerBindings.RUNTIME)).to(de.sebastianbenz.xgherkin.parser.antlr.internal.InternalGherkinLexer.class);
}
// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
public Class<? extends org.eclipse.xtext.parser.antlr.ITokenDefProvider> bindITokenDefProvider() {
return org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class;
}
// contributed by org.eclipse.xtext.generator.validation.JavaValidatorFragment
@org.eclipse.xtext.service.SingletonBinding(eager=true) public Class<? extends de.sebastianbenz.xgherkin.validation.GherkinJavaValidator> bindGherkinJavaValidator() {
return de.sebastianbenz.xgherkin.validation.GherkinJavaValidator.class;
}
// contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
public Class<? extends org.eclipse.xtext.generator.IGenerator> bindIGenerator() {
return de.sebastianbenz.xgherkin.generator.GherkinGenerator.class;
}
// contributed by org.eclipse.xtext.generator.formatting.FormatterFragment
public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
return de.sebastianbenz.xgherkin.formatting.GherkinFormatter.class;
}
// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
public java.lang.ClassLoader bindClassLoaderToInstance() {
return getClass().getClassLoader();
}
// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
public org.eclipse.xtext.common.types.TypesFactory bindTypesFactoryToInstance() {
return org.eclipse.xtext.common.types.TypesFactory.eINSTANCE;
}
// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
public Class<? extends org.eclipse.xtext.common.types.access.IJvmTypeProvider.Factory> bindIJvmTypeProvider$Factory() {
return org.eclipse.xtext.common.types.access.ClasspathTypeProviderFactory.class;
}
// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
public Class<? extends org.eclipse.xtext.common.types.xtext.AbstractTypeScopeProvider> bindAbstractTypeScopeProvider() {
return org.eclipse.xtext.common.types.xtext.ClasspathBasedTypeScopeProvider.class;
}
// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
return org.eclipse.xtext.common.types.xtext.TypesAwareDefaultGlobalScopeProvider.class;
}
}