content: /*
   * generated by Xtext
   */
  package csep.example.cake;
  
  import org.eclipse.xtext.linking.ILinkingDiagnosticMessageProvider;
  import org.eclipse.xtext.linking.ILinkingService;
  import org.eclipse.xtext.linking.impl.DefaultLinkingService;
  import org.eclipse.xtext.resource.XtextResource;
  
  import csep.example.cake.scoping.LinkingServiceWithNode;
  import csep.scoping.CoffeescriptBuiltins;
  
  /**
   * Use this class to register components to be used at runtime / without the
   * Equinox extension registry.
   */
  public class CakefileRuntimeModule extends
  		csep.example.cake.AbstractCakefileRuntimeModule {
  	@Override
  	public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() {
  		return csep.example.cake.parser.CustomCakefileParser.class;
  	}
  
  	@Override
  	public Class<? extends XtextResource> bindXtextResource() {
  		return csep.example.cake.scoping.CakefileLinkingResource.class;
  	}
  
  	public Class<? extends ILinkingDiagnosticMessageProvider> bindILinkingDiagnosticMessageProvider() {
  		return csep.linking.SuppressingLinkingDiagnosticMessageProvider.class;
  	}
  
  	public Class<? extends CoffeescriptBuiltins> bindCoffeescriptBuiltins() {
  		return CoffeescriptBuiltins.class;
  	}
  
  	@Override
  	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(csep.scoping.DefaultGlobalScopeProvider.class);
  	}
  	
  	@Override
  	public Class<? extends ILinkingService> bindILinkingService() {
  		return LinkingServiceWithNode.class;
  	}	
  }
  