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;
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);