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%2Finternal%2Fparsing%2Ftypes%2FTVarAst.java;h=84d3e3a01d4f37fd02e6fc331ba979b40bf7aa99;hp=e95b3ad9a9a4cdf21aab2abafa835b6457d013ad;hb=4c2fb8fefbdec1856e160dc24b6498aa4bd5eb48;hpb=aca33ac9ec17d1555f6413edaa339ad3692e29bb diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/parsing/types/TVarAst.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/parsing/types/TVarAst.java index e95b3ad9a..84d3e3a01 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/parsing/types/TVarAst.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/parsing/types/TVarAst.java @@ -56,6 +56,8 @@ public class TVarAst extends TypeAst { } else if(Character.isLowerCase(c)) return context.resolveTypeVariable(location, name, expectedKind); + else if(c == '?') + return context.resolveExistential(location, name, expectedKind); else { TypeDescriptor tdesc; try { @@ -105,6 +107,8 @@ public class TVarAst extends TypeAst { } else if(Character.isLowerCase(c)) return context.resolveTypeVariable(name); + else if(c == '?') + return context.resolveExistential(name); else { con = context.resolveTypeConstructor(name); if(con == null) { @@ -150,6 +154,8 @@ public class TVarAst extends TypeAst { char c = name.charAt(0); if(Character.isLowerCase(c)) return context.resolveTypeVariable(name); + else if(c == '?') + return context.resolveExistential(name); else { Type con = context.resolveTypeConstructor(name); if(con == null) {