package com.github.jknack.antlr4ide.fragment; import java.util.Set; import org.eclipse.emf.mwe.utils.StandaloneSetup; import org.eclipse.xtext.Grammar; import org.eclipse.xtext.generator.BindFactory; import org.eclipse.xtext.generator.Binding; import org.eclipse.xtext.generator.DefaultGeneratorFragment; import org.eclipse.xtext.scoping.IGlobalScopeProvider; public class JdtFreeTypesGeneratorFragment extends DefaultGeneratorFragment { static { new StandaloneSetup() .addRegisterGeneratedEPackage("org.eclipse.xtext.common.types.TypesPackage"); } @Override public Set<Binding> getGuiceBindingsRt(final Grammar grammar) { return new BindFactory() .addTypeToInstance(ClassLoader.class.getName(), "getClass().getClassLoader()") .addTypeToInstance("org.eclipse.xtext.common.types.TypesFactory", "org.eclipse.xtext.common.types.TypesFactory.eINSTANCE") .addTypeToType("org.eclipse.xtext.common.types.access.IJvmTypeProvider.Factory", "org.eclipse.xtext.common.types.access.ClasspathTypeProviderFactory") .addTypeToType("org.eclipse.xtext.common.types.xtext.AbstractTypeScopeProvider", "org.eclipse.xtext.common.types.xtext.ClasspathBasedTypeScopeProvider") .addTypeToType(IGlobalScopeProvider.class.getName(), "org.eclipse.xtext.common.types.xtext.TypesAwareDefaultGlobalScopeProvider") .getBindings(); } @Override public String[] getRequiredBundlesRt(final Grammar grammar) { return new String[]{"org.eclipse.xtext.common.types" }; } }