/*
* Copyright 2013
*
* Licensed under the Eclipse Public License version 1.0, available at
* http://opensource.org/licenses/eclipse-1.0.txt
*/
/*
* generated by Xtext
*/
package de.lynorics.eclipse.jangaroo;
import org.eclipse.xtext.naming.IQualifiedNameProvider;
import org.eclipse.xtext.parser.antlr.ISyntaxErrorMessageProvider;
import org.eclipse.xtext.resource.IDefaultResourceDescriptionStrategy;
import com.google.inject.Binder;
import com.google.inject.name.Names;
import de.lynorics.eclipse.jangaroo.scoping.AS3ImportedNamespaceScopeProvider;
import de.lynorics.eclipse.jangaroo.scoping.AS3QualifiedNameProvider;
import de.lynorics.eclipse.jangaroo.scoping.AS3ResourceDescriptionStrategy;
import de.lynorics.eclipse.jangaroo.scoping.AS3SyntaxErrorMessageProvider;
/**
* Use this class to register components to be used at runtime / without the Equinox extension registry.
*/
public class AS3RuntimeModule extends de.lynorics.eclipse.jangaroo.AbstractAS3RuntimeModule {
@Override
public void configureIScopeProviderDelegate(Binder binder) {
binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class)
.annotatedWith(Names.named(org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.NAMED_DELEGATE))
.to(AS3ImportedNamespaceScopeProvider.class);
}
// @Override
// public Class<? extends IParser> bindIParser() {
// return MyAS3Parser.class;
// }
public Class<? extends IDefaultResourceDescriptionStrategy> bindIDefaultResourceDescriptionStrategy() {
return AS3ResourceDescriptionStrategy.class;
}
@Override
public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() {
return AS3QualifiedNameProvider.class;
}
/**
* custom error messages for syntax errors
*/
public Class<? extends ISyntaxErrorMessageProvider> bindISyntaxErrorMessageProvider() {
return AS3SyntaxErrorMessageProvider.class;
}
}