Commit 46478ad4 authored by Philip Makedonski's avatar Philip Makedonski
Browse files

+ fixed scoping issue with gate instances in the TPLan editor



Change-Id: I21f9d68ea6c4832f47900d4581247d6253b776e1
Signed-off-by: default avatarmakedonski <makedonski@informatik.uni-goettingen.de>
parent 0a53029e
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -13,6 +13,8 @@ import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider;
import org.etsi.mts.tdl.DataInstanceUse;
import org.etsi.mts.tdl.DataUse;
import org.etsi.mts.tdl.ElementImport;
import org.etsi.mts.tdl.GateInstance;
import org.etsi.mts.tdl.GateReference;
import org.etsi.mts.tdl.MemberAssignment;
import org.etsi.mts.tdl.MemberReference;
import org.etsi.mts.tdl.Package;
@@ -38,6 +40,13 @@ public class TPLan2ScopeProvider extends AbstractDeclarativeScopeProvider {
				&& !(context instanceof ElementImport)) {
			EList<EObject> elements = getScopedElementsOfType(context, reference.getEType().getInstanceClass());
			return Scopes.scopeFor(elements);
		}
		if (reference.getEType().getInstanceClass() == GateInstance.class) {
			if (context instanceof GateReference) {
				GateReference gate = (GateReference) context;
				IScope scope = Scopes.scopeFor(gate.getComponent().getType().getGateInstance());
				return scope;
			}
		} else if (Parameter.class.isAssignableFrom(reference.getEType().getInstanceClass())) {
			if (context instanceof MemberAssignment) {
				if (context.eContainer() instanceof StructuredDataInstance) {