summaryrefslogtreecommitdiffstats
path: root/rba.tool.editor/src/rba/tool/editor/scoping/IExpressionScope.xtend
blob: 12f7ca493b75de062389d595fd1d26a14f8bbf92 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package rba.tool.editor.scoping

import org.eclipse.emf.ecore.EObject
import org.eclipse.xtext.scoping.IScope

interface IExpressionScope {

	enum Anchor {
		UNKNOWN,
		CONSTRAINT
	}

	def IScope getFeatureScope(EObject model, IExpressionScope.Anchor anchor);

	IExpressionScope NULL = new NullExpressionScope();

	class NullExpressionScope implements IExpressionScope {
		override getFeatureScope(EObject model, IExpressionScope.Anchor anchor) {
			return IScope.NULLSCOPE;
		}
	}
}