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%2Ftypes%2FTForAll.java;h=b4b1af8196486fc14e2209983d425e8279d83edc;hp=98b4578af676642e54288a161037eda249314150;hb=a8758de5bc19e5adb3f618d3038743a164f09912;hpb=12d9af17384d960b75d58c3935d2b7b46d93e87b diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/types/TForAll.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/types/TForAll.java index 98b4578af..b4b1af819 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/types/TForAll.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/types/TForAll.java @@ -203,6 +203,56 @@ public class TForAll extends Type { return t.type.hashCode(hash, boundVars); } + @Override + public int skeletonHashCode(int hash) { + int count=1; + { + Type t = Types.canonical(type); + while(t instanceof TForAll) { + t = Types.canonical( ((TForAll)t).type ); + ++count; + } + } + TVar[] boundVars = new TVar[count]; + boundVars[0] = var; + TForAll t = this; + { + for(int i=1;i