From 0ba45fac8a137dde7ade121a7deb2425d1198255 Mon Sep 17 00:00:00 2001 From: Sven Efftinge Date: Tue, 1 Mar 2016 13:34:45 +0100 Subject: [PATCH] [486420] fixed scope provider binding for xbase --- .../scoping/ImportNamespacesScopingFragment2.xtend | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/plugins/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/scoping/ImportNamespacesScopingFragment2.xtend b/plugins/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/scoping/ImportNamespacesScopingFragment2.xtend index 866b873e5..f5eb40619 100644 --- a/plugins/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/scoping/ImportNamespacesScopingFragment2.xtend +++ b/plugins/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/scoping/ImportNamespacesScopingFragment2.xtend @@ -29,6 +29,7 @@ import static org.eclipse.xtext.GrammarUtil.* import static extension org.eclipse.xtext.xtext.generator.model.TypeReference.* import static extension org.eclipse.xtext.xtext.generator.util.GrammarUtil2.* +import org.eclipse.xtext.resource.IBatchLinkableResource class ImportNamespacesScopingFragment2 extends AbstractInheritingFragment { @@ -97,7 +98,12 @@ class ImportNamespacesScopingFragment2 extends AbstractInheritingFragment { protected def contributeRuntimeGuiceBindings() { val bindingFactory = new GuiceModuleAccess.BindingFactory - bindingFactory.addTypeToType(IScopeProvider.typeRef, grammar.scopeProviderClass) + val targetType = if (language.grammar.inheritsXbase) { + "org.eclipse.xtext.xbase.scoping.batch.IBatchScopeProvider".typeRef + } else { + IScopeProvider.typeRef + } + bindingFactory.addTypeToType(targetType, grammar.scopeProviderClass) bindingFactory.addConfiguredBinding(IScopeProvider.simpleName + 'Delegate', '''binder.bind(«IScopeProvider».class).annotatedWith(«Names».named(«AbstractDeclarativeScopeProvider».NAMED_DELEGATE)).to(«getDelegateScopeProvider».class);''')