content: /*
   * generated by Xtext
   */
  package com.intel.llvm.ireditor;
  
  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 {com.intel.llvm.ireditor.LLVM_IRRuntimeModule}
   */
   @SuppressWarnings("all")
  public abstract class AbstractLLVM_IRRuntimeModule extends DefaultRuntimeModule {
  
  	protected Properties properties = null;
  
  	@Override
  	public void configure(Binder binder) {
  		properties = tryBindProperties(binder, "com/intel/llvm/ireditor/LLVM_IR.properties");
  		super.configure(binder);
  	}
  	
  	public void configureLanguageName(Binder binder) {
  		binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("com.intel.llvm.ireditor.LLVM_IR");
  	}
  	
  	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("ll");
  	}
  	
  	// contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
  	public Class<? extends org.eclipse.xtext.IGrammarAccess> bindIGrammarAccess() {
  		return com.intel.llvm.ireditor.services.LLVM_IRGrammarAccess.class;
  	}
  
  	// contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
  	public Class<? extends org.eclipse.xtext.serializer.sequencer.ISemanticSequencer> bindISemanticSequencer() {
  		return com.intel.llvm.ireditor.serializer.LLVM_IRSemanticSequencer.class;
  	}
  
  	// contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
  	public Class<? extends org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer> bindISyntacticSequencer() {
  		return com.intel.llvm.ireditor.serializer.LLVM_IRSyntacticSequencer.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 com.intel.llvm.ireditor.parser.antlr.LLVM_IRParser.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 com.intel.llvm.ireditor.parser.antlr.LLVM_IRAntlrTokenFileProvider.class;
  	}
  
  	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
  	public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() {
  		return com.intel.llvm.ireditor.parser.antlr.internal.InternalLLVM_IRLexer.class;
  	}
  
  	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
  	public com.google.inject.Provider<com.intel.llvm.ireditor.parser.antlr.internal.InternalLLVM_IRLexer> provideInternalLLVM_IRLexer() {
  		return org.eclipse.xtext.parser.antlr.LexerProvider.create(com.intel.llvm.ireditor.parser.antlr.internal.InternalLLVM_IRLexer.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(com.intel.llvm.ireditor.parser.antlr.internal.InternalLLVM_IRLexer.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.parser.antlr.XtextAntlrGeneratorFragment
  	public Class<? extends org.eclipse.xtext.parser.antlr.IUnorderedGroupHelper> bindIUnorderedGroupHelper() {
  		return org.eclipse.xtext.parser.antlr.UnorderedGroupHelper.class;
  	}
  
  	// contributed by org.eclipse.xtext.generator.validation.JavaValidatorFragment
  	@org.eclipse.xtext.service.SingletonBinding(eager=true)	public Class<? extends com.intel.llvm.ireditor.validation.LLVM_IRJavaValidator> bindLLVM_IRJavaValidator() {
  		return com.intel.llvm.ireditor.validation.LLVM_IRJavaValidator.class;
  	}
  
  	// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
  	public Class<? extends org.eclipse.xtext.scoping.IScopeProvider> bindIScopeProvider() {
  		return com.intel.llvm.ireditor.scoping.LLVM_IRScopeProvider.class;
  	}
  
  	// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
  	public void configureIScopeProviderDelegate(com.google.inject.Binder binder) {
  		binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider.class);
  	}
  
  	// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
  	public void configureIgnoreCaseLinking(com.google.inject.Binder binder) {
  		binder.bindConstant().annotatedWith(org.eclipse.xtext.scoping.IgnoreCaseLinking.class).to(false);
  	}
  
  	// contributed by org.eclipse.xtext.generator.exporting.QualifiedNamesFragment
  	public Class<? extends org.eclipse.xtext.naming.IQualifiedNameProvider> bindIQualifiedNameProvider() {
  		return org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider.class;
  	}
  
  	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
  	public Class<? extends org.eclipse.xtext.resource.IContainer.Manager> bindIContainer$Manager() {
  		return org.eclipse.xtext.resource.containers.StateBasedContainerManager.class;
  	}
  
  	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
  	public Class<? extends org.eclipse.xtext.resource.containers.IAllContainersState.Provider> bindIAllContainersState$Provider() {
  		return org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider.class;
  	}
  
  	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
  	public void configureIResourceDescriptions(com.google.inject.Binder binder) {
  		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
  	}
  
  	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
  	public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
  		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
  	}
  
  	// contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
  	public Class<? extends org.eclipse.xtext.generator.IGenerator> bindIGenerator() {
  		return com.intel.llvm.ireditor.generator.LLVM_IRGenerator.class;
  	}
  
  	// contributed by org.eclipse.xtext.generator.formatting.FormatterFragment
  	public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
  		return com.intel.llvm.ireditor.formatting.LLVM_IRFormatter.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;
  	}
  
  }
  