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

do not normalize names of types that are not explicit imported

parent 431d8087
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -133,11 +133,12 @@ public class TTCN3ImportedNamespaceAwareLocalScopeProvider extends ImportedNames

	protected <T extends EObject> List<ImportNormalizer> namespaceResolverForImportedType(final TTCN3Module context, final IScope scope, boolean ignoreCase) {
		List<ImportNormalizer> normalizers = Lists.newArrayList();
		List<String> imports = getImports(context);

		for (IEObjectDescription e : scope.getAllElements()) {
			if (!e.getQualifiedName().getFirstSegment().equals(context.getName())) {
			if (!e.getQualifiedName().getFirstSegment().equals(context.getName()) && imports.contains(e.getQualifiedName().getFirstSegment())) {
				if (EcoreUtil2.isAssignableFrom(TTCN3Package.eINSTANCE.getGroupDef(), e.getEClass()))
					normalizers.add(doCreateImportNormalizer(e.getQualifiedName(), false, ignoreCase));
					normalizers.add(doCreateImportNormalizer(e.getQualifiedName(), true, ignoreCase));
				if (EcoreUtil2.isAssignableFrom(TTCN3Package.eINSTANCE.getEnumDefNamed(), e.getEClass()))
					normalizers.add(doCreateImportNormalizer(e.getQualifiedName(), false, ignoreCase));
				if (EcoreUtil2.isAssignableFrom(TTCN3Package.eINSTANCE.getEnumeration(), e.getEClass()))
@@ -162,7 +163,7 @@ public class TTCN3ImportedNamespaceAwareLocalScopeProvider extends ImportedNames
					normalizers.add(doCreateImportNormalizer(e.getQualifiedName(), false, ignoreCase));
				if (EcoreUtil2.isAssignableFrom(TTCN3Package.eINSTANCE.getBaseTemplate(), e.getEClass()))
					normalizers.add(doCreateImportNormalizer(e.getQualifiedName(), false, ignoreCase));
				if (EcoreUtil2.isAssignableFrom(TTCN3Package.eINSTANCE.getFunctionDef(), e.getEClass()))
				if (EcoreUtil2.isAssignableFrom(TTCN3Package.eINSTANCE.getFunctionRef(), e.getEClass()))
					normalizers.add(doCreateImportNormalizer(e.getQualifiedName(), false, ignoreCase));
				if (EcoreUtil2.isAssignableFrom(TTCN3Package.eINSTANCE.getAltstepDef(), e.getEClass()))
					normalizers.add(doCreateImportNormalizer(e.getQualifiedName(), false, ignoreCase));
@@ -175,4 +176,12 @@ public class TTCN3ImportedNamespaceAwareLocalScopeProvider extends ImportedNames
		return normalizers;
	}
	
	protected List<String> getImports(final TTCN3Module module) {
		List<String> list = Lists.newArrayList();
		for (ImportDef i: EcoreUtil2.getAllContentsOfType(module, ImportDef.class)) {
			list.add(i.getModuleNamespace());
		}
		return list;	
	}	

}