]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/parsing/types/TApplyAst.java
Merged changes from feature/scl to master.
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / internal / parsing / types / TApplyAst.java
index c1b2d43723e744f780983627d7d1f3480db55897..3c77000757f67b96d56a2f4f6a5125888a4a8300 100644 (file)
@@ -4,6 +4,7 @@ import java.util.Arrays;
 
 import org.simantics.scl.compiler.elaboration.contexts.TypeTranslationContext;
 import org.simantics.scl.compiler.elaboration.modules.TypeAlias;
+import org.simantics.scl.compiler.elaboration.modules.TypeDescriptor;
 import org.simantics.scl.compiler.environment.AmbiguousNameException;
 import org.simantics.scl.compiler.environment.Environments;
 import org.simantics.scl.compiler.internal.types.TypeElaborationContext;
@@ -38,9 +39,11 @@ public class TApplyAst extends TypeAst {
     public Type toType(TypeTranslationContext context, Kind expectedKind) {
         if(function instanceof TVarAst) {
             String name = ((TVarAst)function).name;
-            TypeAlias alias;
+            TypeAlias alias = null;
             try {
-                alias = Environments.getTypeAlias(context.getEnvironment(), name);
+                TypeDescriptor tdesc = Environments.getTypeDescriptor(context.getEnvironment(), name);
+                if(tdesc instanceof TypeAlias)
+                    alias = (TypeAlias)tdesc;
             } catch (AmbiguousNameException e) {
                 context.getErrorLog().log(location, e.getMessage());
                 return Types.metaVar(Kinds.STAR);