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%2Fmodule%2FConcreteModule.java;h=a8b51a8be96cad3a0aa1933758e89cc4201707bf;hp=8edd9f7019b3f1d01992a2471414b900d21fcd3f;hb=7045f0f516c243563976207abcec13a68891ff1d;hpb=969bd23cab98a79ca9101af33334000879fb60c5 diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/module/ConcreteModule.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/module/ConcreteModule.java index 8edd9f701..a8b51a8be 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/module/ConcreteModule.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/module/ConcreteModule.java @@ -11,15 +11,15 @@ import org.simantics.scl.compiler.common.names.Name; import org.simantics.scl.compiler.constants.Constant; import org.simantics.scl.compiler.elaboration.modules.Documentation; 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.TypeClassInstance; -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; import org.simantics.scl.compiler.elaboration.rules.TransformationRule; import org.simantics.scl.compiler.environment.filter.NamespaceFilter; +import org.simantics.scl.compiler.errors.CompilationError; import org.simantics.scl.compiler.internal.codegen.effects.EffectConstructor; import org.simantics.scl.compiler.top.ModuleInitializer; import org.simantics.scl.compiler.types.TCon; @@ -31,8 +31,7 @@ import gnu.trove.procedure.TObjectProcedure; public class ConcreteModule implements Module { String moduleName; - THashMap typeConstructors = new THashMap(); - THashMap typeAliases = new THashMap(); + THashMap typeDescriptors = new THashMap(); THashMap effectConstructors = new THashMap(); THashMap typeClasses = new THashMap(); THashMap> typeClassInstances = new THashMap>(); @@ -43,7 +42,8 @@ public class ConcreteModule implements Module { THashMap mappingRelations = new THashMap(); ArrayList dependencies = new ArrayList(); THashMap branchPoints; - + CompilationError[] warnings = CompilationError.EMPTY_ARRAY; + Map classes = Collections.emptyMap(); ModuleInitializer moduleInitializer; @@ -53,12 +53,8 @@ public class ConcreteModule implements Module { this.moduleName = moduleName; } - public boolean addTypeConstructor(String name, TypeConstructor typeConstructor) { - return typeConstructors.put(name, typeConstructor) != null; - } - - public boolean addTypeAlias(String name, TypeAlias alias) { - return typeAliases.put(name, alias) != null; + public boolean addTypeDescriptor(String name, TypeDescriptor typeConstructor) { + return typeDescriptors.put(name, typeConstructor) != null; } public boolean addEffectConstructor(String name, EffectConstructor effectConstructor) { @@ -169,8 +165,8 @@ public class ConcreteModule implements Module { } @Override - public TypeConstructor getTypeConstructor(String name) { - return typeConstructors.get(name); + public TypeDescriptor getTypeDescriptor(String name) { + return typeDescriptors.get(name); } @Override @@ -199,11 +195,6 @@ public class ConcreteModule implements Module { return documentation; } - @Override - public TypeAlias getTypeAlias(String name) { - return typeAliases.get(name); - } - public void setClasses(Map classes) { this.classes = classes; } @@ -260,16 +251,11 @@ public class ConcreteModule implements Module { @Override public void findTypesForPrefix(String prefix, NamespaceFilter filter, Consumer consumer) { - typeConstructors.values().forEach(type -> { + typeDescriptors.values().forEach(type -> { TCon tcon = type.name; if (tcon.name.toLowerCase().startsWith(prefix.toLowerCase()) && filter.isValueIncluded(tcon.name)) consumer.accept(tcon); }); - typeAliases.values().forEach(type -> { - TCon tcon = type.getCon(); - if (tcon.name.toLowerCase().startsWith(prefix.toLowerCase()) && filter.isValueIncluded(tcon.name)) - consumer.accept(tcon); - }); } public void setBranchPoints(THashMap branchPoints) { @@ -283,6 +269,13 @@ public class ConcreteModule implements Module { @Override public void dispose() { - + } + + public void setWarnings(CompilationError[] warnings) { + this.warnings = warnings; + } + + public CompilationError[] getWarnings() { + return warnings; } }