/*
* generated by Xtext
*/
package ch.vorburger.el;
import org.eclipse.xtext.conversion.IValueConverterService;
import org.eclipse.xtext.naming.IQualifiedNameProvider;
import org.eclipse.xtext.xbase.compiler.XbaseCompiler;
import org.eclipse.xtext.xbase.scoping.batch.ImplicitlyImportedFeatures;
import org.eclipse.xtext.xbase.typesystem.computation.ITypeComputer;
import ch.vorburger.el.engine.Expression;
import ch.vorburger.el.engine.ExpressionImpl;
import ch.vorburger.el.generator.ELCompiler;
import ch.vorburger.el.naming.ELQualifiedNameProvider;
import ch.vorburger.el.scoping.batch.ELImplicitlyImportedTypes;
import ch.vorburger.el.typesystem.computation.ELTypeComputer;
import ch.vorburger.el.valueconverter.ELValueConverterService;
/**
* Use this class to register components to be used at runtime / without the
* Equinox extension registry.
*/
@SuppressWarnings("restriction")
public class ELRuntimeModule extends ch.vorburger.el.AbstractELRuntimeModule {
public Class<? extends XbaseCompiler> bindXbaseCompiler() {
return ELCompiler.class;
}
@Override
public Class<? extends IValueConverterService> bindIValueConverterService() {
return ELValueConverterService.class;
}
@Override
public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() {
return ELQualifiedNameProvider.class;
}
public Class<? extends ImplicitlyImportedFeatures> bindImplicitlyImportedTypes() {
return ELImplicitlyImportedTypes.class;
}
// @Override in 2.7.3, but no longer possible in 2.8.3, removed from default module?
public Class<? extends ITypeComputer> bindITypeComputer() {
return ELTypeComputer.class;
}
public Class<? extends Expression> bindExpression() {
return ExpressionImpl.class;
}
}