Commit 5f57b987 authored by Philip Makedonski's avatar Philip Makedonski
Browse files

+ (naive) scope resolution for enums

parent cc68e4c2
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import org.etsi.mts.tdl.CollectionDataInstance;
import org.etsi.mts.tdl.DataUse;
import org.etsi.mts.tdl.Element;
import org.etsi.mts.tdl.ElementImport;
import org.etsi.mts.tdl.EnumDataType;
import org.etsi.mts.tdl.Extension;
import org.etsi.mts.tdl.FormalParameterUse;
import org.etsi.mts.tdl.FunctionCall;
@@ -432,6 +433,11 @@ public class TDLScopeProvider extends AbstractDeclarativeScopeProvider {
		for (PackageableElement e : p.getPackagedElement()) {
			if (c.isInstance(e)) {
				elements.add(e);
			} else if (e instanceof EnumDataType) {
				//TODO: naive enum handling (also below
				for (var ev : ((EnumDataType) e).getValue()) {
					elements.add(ev);
				}
			}
		}
		
@@ -444,6 +450,11 @@ public class TDLScopeProvider extends AbstractDeclarativeScopeProvider {
					for (PackageableElement e : ip.getPackagedElement()) {
						if (c.isInstance(e)) {
							elements.add(e);
						} else if (e instanceof EnumDataType) {
							//enums
							for (var ev : ((EnumDataType) e).getValue()) {
								elements.add(ev);
							}
						}
					}
				} else {
@@ -451,6 +462,11 @@ public class TDLScopeProvider extends AbstractDeclarativeScopeProvider {
					for (PackageableElement e : i.getImportedElement()) {
						if (c.isInstance(e)) {
							elements.add(e);
						} else if (e instanceof EnumDataType) {
							//enums
							for (var ev : ((EnumDataType) e).getValue()) {
								elements.add(ev);
							}
						}
					}
				}