X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Felaboration%2Fexpressions%2FEAmbiguous.java;h=1d17281dd2935462388044641156fb2699125e93;hb=624ab61bd302e999952f792e619a691e027ff1d2;hp=d52cc3f2ef4c3d493170fb3205c7e5238ea55b1c;hpb=a8d72a172fdc815c8a9f0f584f010f7e35286f92;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/EAmbiguous.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/EAmbiguous.java index d52cc3f2e..1d17281dd 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/EAmbiguous.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/EAmbiguous.java @@ -16,9 +16,6 @@ import org.simantics.scl.compiler.types.util.TypeListener; import org.simantics.scl.compiler.types.util.TypeUnparsingContext; import gnu.trove.map.hash.THashMap; -import gnu.trove.map.hash.TObjectIntHashMap; -import gnu.trove.set.hash.THashSet; -import gnu.trove.set.hash.TIntHashSet; public class EAmbiguous extends SimplifiableExpression { public static final boolean DEBUG = false; @@ -27,7 +24,7 @@ public class EAmbiguous extends SimplifiableExpression { boolean[] active; int activeCount; transient TypingContext context; - Expression resolvedExpression; + public Expression resolvedExpression; public abstract static class Alternative { public abstract Type getType(); @@ -42,11 +39,6 @@ public class EAmbiguous extends SimplifiableExpression { this.activeCount = alternatives.length; } - @Override - public void collectVars(TObjectIntHashMap allVars, - TIntHashSet vars) { - } - @Override protected void updateType() throws MatchException { throw new InternalCompilerError(); @@ -84,7 +76,7 @@ public class EAmbiguous extends SimplifiableExpression { StringBuilder b = new StringBuilder(); b.append("Expected <"); requiredType.toString(new TypeUnparsingContext(), b); - b.append(">, but no alteratives match the type: "); + b.append(">, but no alternatives match the type: "); for(int i=0;i vars) { - } @Override public Expression resolve(TranslationContext context) { @@ -189,14 +177,19 @@ public class EAmbiguous extends SimplifiableExpression { if(resolvedExpression != null) return resolvedExpression; else { + if(DEBUG) + System.out.println("EAmbigious.simplify: error"); context.getErrorLog().log(location, getAmbiguousDescription(getType())); return this; } } public void assertResolved(ErrorLog errorLog) { - if(resolvedExpression == null) + if(resolvedExpression == null) { + if(DEBUG) + System.out.println("EAmbigious.assertResolved: error"); errorLog.log(location, getAmbiguousDescription(getType())); + } } @Override