aboutsummaryrefslogtreecommitdiffstats
path: root/rba.tool.editor/src/rba/tool/editor/scoping/RBAModelExpressionScope.xtend
diff options
context:
space:
mode:
Diffstat (limited to 'rba.tool.editor/src/rba/tool/editor/scoping/RBAModelExpressionScope.xtend')
-rw-r--r--rba.tool.editor/src/rba/tool/editor/scoping/RBAModelExpressionScope.xtend22
1 files changed, 22 insertions, 0 deletions
diff --git a/rba.tool.editor/src/rba/tool/editor/scoping/RBAModelExpressionScope.xtend b/rba.tool.editor/src/rba/tool/editor/scoping/RBAModelExpressionScope.xtend
new file mode 100644
index 0000000..90bdf3b
--- /dev/null
+++ b/rba.tool.editor/src/rba/tool/editor/scoping/RBAModelExpressionScope.xtend
@@ -0,0 +1,22 @@
+package rba.tool.editor.scoping
+
+import com.google.inject.Inject
+import com.google.inject.Singleton
+import org.eclipse.emf.ecore.EObject
+import org.eclipse.xtext.scoping.IScope
+import rba.tool.editor.scoping.internal.RBAModelMemberFieldScopes
+import rba.tool.editor.scoping.internal.RBAModelMemberOperationScopes
+
+@Singleton
+class RBAModelExpressionScope implements IExpressionScope {
+
+ @Inject private RBAModelMemberFieldScopes filedScopeCreator;
+ @Inject private RBAModelMemberOperationScopes operationScopeCreator;
+
+ override getFeatureScope(EObject model, IExpressionScope.Anchor anchor) {
+ var IScope result = filedScopeCreator.createFeatureScope(model);
+ result = operationScopeCreator.createFeatureScope(model, anchor, result);
+ return result;
+ }
+
+}