blob: da833ec12a6b1a43c477c481f0ee83fd8efd0732 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
package rba.tool.editor.scoping.internal
import com.google.inject.Inject
import org.eclipse.emf.ecore.EObject
import org.eclipse.xtext.scoping.IScope
import org.eclipse.xtext.scoping.impl.SimpleScope
import rba.tool.editor.scoping.IExpressionScope
class RBAModelMemberOperationScopes implements IMemberFeatureScopes {
private RBAModelMemberOperationRegistry operationRegistry;
@Inject
new(RBAModelMemberOperationRegistry operationRegistry) {
this.operationRegistry = operationRegistry;
}
override createFeatureScope(EObject model) {
return createFeatureScope(model, IExpressionScope.Anchor.UNKNOWN, IScope.NULLSCOPE);
}
override createFeatureScope(EObject model, IExpressionScope.Anchor anchor, IScope outer) {
val descriptions = operationRegistry.getOperations(model, anchor);
return new SimpleScope(outer, descriptions ?: newHashSet());
}
}
|