X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Fenvironment%2FNamespaceImpl.java;h=6dac77acf029d54aa3dc9f641de6bd5c0fc006af;hp=9fd58989d1f3b0e4953a8952990caa542b428311;hb=cb5fc8d606d8b322563e9345c441eecfa7f01753;hpb=969bd23cab98a79ca9101af33334000879fb60c5 diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/environment/NamespaceImpl.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/environment/NamespaceImpl.java index 9fd58989d..6dac77acf 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/environment/NamespaceImpl.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/environment/NamespaceImpl.java @@ -1,15 +1,11 @@ package org.simantics.scl.compiler.environment; -import gnu.trove.map.hash.THashMap; -import gnu.trove.procedure.TObjectProcedure; - import java.util.ArrayList; import java.util.function.Consumer; import org.simantics.scl.compiler.elaboration.modules.SCLValue; -import org.simantics.scl.compiler.elaboration.modules.TypeAlias; import org.simantics.scl.compiler.elaboration.modules.TypeClass; -import org.simantics.scl.compiler.elaboration.modules.TypeConstructor; +import org.simantics.scl.compiler.elaboration.modules.TypeDescriptor; import org.simantics.scl.compiler.elaboration.relations.SCLEntityType; import org.simantics.scl.compiler.elaboration.relations.SCLRelation; import org.simantics.scl.compiler.elaboration.rules.MappingRelation; @@ -20,6 +16,9 @@ import org.simantics.scl.compiler.internal.codegen.effects.EffectConstructor; import org.simantics.scl.compiler.module.Module; import org.simantics.scl.compiler.types.TCon; +import gnu.trove.map.hash.THashMap; +import gnu.trove.procedure.TObjectProcedure; + public class NamespaceImpl implements Namespace { private final THashMap namespaceMap; @@ -131,14 +130,14 @@ public class NamespaceImpl implements Namespace { } @Override - public TypeConstructor getTypeConstructor(String name) + public TypeDescriptor getTypeDescriptor(String name) throws AmbiguousNameException { - TypeConstructor result = null, temp; + TypeDescriptor result = null, temp; Module resultModule = null; ArrayList conflictingModules = null; for(ModuleImport moduleImport : moduleImports) { Module module = moduleImport.module; - temp = module.getTypeConstructor(name); + temp = module.getTypeDescriptor(name); if(temp != null) { if(result != null) { if(conflictingModules == null) { @@ -213,33 +212,6 @@ public class NamespaceImpl implements Namespace { return result; } - @Override - public TypeAlias getTypeAlias(String name) throws AmbiguousNameException { - TypeAlias result = null, temp; - Module resultModule = null; - ArrayList conflictingModules = null; - for(ModuleImport moduleImport : moduleImports) { - Module module = moduleImport.module; - temp = module.getTypeAlias(name); - if(temp != null) { - if(result != null) { - if(conflictingModules == null) { - conflictingModules = new ArrayList(2); - conflictingModules.add(resultModule.getName()); - } - conflictingModules.add(module.getName()); - } - else { - result = temp; - resultModule = module; - } - } - } - if(conflictingModules != null) - throw new AmbiguousNameException(conflictingModules, name); - return result; - } - @Override public MappingRelation getMappingRelation(String name) throws AmbiguousNameException { MappingRelation result = null, temp;