Commit b1496df1 authored by Daniel Honsel's avatar Daniel Honsel
Browse files

fixed resolving references with leading module name

parent 015a0ccd
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@
</listAttribute>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="de.ugoe.cs.swe.T3Q.T3Q"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="--config config/t3q.cfg --profile defaultProfile resources/checkNoDuplicatedModuleDefinitionIdentifiers"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="--config config/t3q.cfg --profile defaultProfile resources/IMS_PART4_IWD_15wk38"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="de.ugoe.cs.swe.T3Q"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms256m -Xmx4g"/>
<stringAttribute key="yk-options" value="&#13;&#10;additional-options2=onexit\=snapshot&#13;&#10;"/>
+5 −2
Original line number Diff line number Diff line
@@ -659,9 +659,12 @@ VarInstance:
VarList:
	variables+=SingleVarInstance (COMMA variables+=SingleVarInstance)*;

ModuleOrGroup:
	GroupDef | TTCN3Module;

ReferencedType:
	SubTypeDefNamed | RecordDefNamed | SetDefNamed | PortDef | ComponentDef | UnionDefNamed | EnumDefNamed |
	RecordOfDefNamed | SetOfDefNamed | SignatureDef | GroupDef | TTCN3Module;
	RecordOfDefNamed | SetOfDefNamed | SignatureDef | ModuleOrGroup;

TypeDef:
	TYPEDEFKEYWORD body=TypeDefBody;
@@ -1089,7 +1092,7 @@ ReferencedValue:
	head=Head fields+=ExtendedFieldReference*;

RefValueHead:
	RefValue | GroupDef;
	RefValue | ModuleOrGroup;

RefValueElement:
	RefValue | GroupDef | FieldReference;
+14 −1
Original line number Diff line number Diff line
@@ -647,6 +647,7 @@ class TTCN3ScopeProvider extends AbstractDeclarativeScopeProvider {
		switch it {
			GroupDef: directGroupElements
			RefValue: directValueElements
			TTCN3Module: directModuleElements
		}
	}

@@ -719,6 +720,18 @@ class TTCN3ScopeProvider extends AbstractDeclarativeScopeProvider {
		}
	}
	
	private def Iterable<EObject> directModuleElements(TTCN3Module module) {
		val ArrayList<EObject> list = newArrayList
		module.defs.scopeModuleVariable(list)
		for (ModuleDefinition g : module.defs.definitions.filter[it.def instanceof GroupDef]) {
			val GroupDef group = g.def as GroupDef
			if (group.list != null) {
				group.list.scopeModuleVariable(list)
			}
		}		
		return list
	}
	
	private def Iterable<EObject> directGroupElements(GroupDef it) {
		val List<EObject> res = newArrayList
		if (list == null)