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%2Fcompilation%2FTypeCheckingScheduler.java;h=e2b0109d17ce77f3d187e671b63eac26d4bc15ee;hp=cb6752527605e5dc9c1d659515c2272234cd3aa9;hb=a8758de5bc19e5adb3f618d3038743a164f09912;hpb=12d9af17384d960b75d58c3935d2b7b46d93e87b diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/compilation/TypeCheckingScheduler.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/compilation/TypeCheckingScheduler.java index cb6752527..e2b0109d1 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/compilation/TypeCheckingScheduler.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/compilation/TypeCheckingScheduler.java @@ -5,8 +5,6 @@ import java.util.ArrayList; import org.simantics.scl.compiler.elaboration.contexts.TypingContext; import org.simantics.scl.compiler.elaboration.expressions.Variable; import org.simantics.scl.compiler.elaboration.modules.SCLValue; -import org.simantics.scl.compiler.environment.Environment; -import org.simantics.scl.compiler.errors.ErrorLog; import org.simantics.scl.compiler.internal.elaboration.constraints.Constraint; import org.simantics.scl.compiler.internal.elaboration.utils.StronglyConnectedComponents; import org.simantics.scl.compiler.types.TPred; @@ -24,15 +22,13 @@ import gnu.trove.set.hash.TIntHashSet; * @author Hannu Niemistö */ public class TypeCheckingScheduler { - final ErrorLog errorLog; - final Environment environment; + private final CompilationContext compilationContext; - ArrayList definitions = new ArrayList(); - ArrayList postTypeCheckingRunnables = new ArrayList(); + private final ArrayList definitions = new ArrayList(); + private final ArrayList postTypeCheckingRunnables = new ArrayList(); - public TypeCheckingScheduler(ErrorLog errorLog, Environment environment) { - this.errorLog = errorLog; - this.environment = environment; + public TypeCheckingScheduler(CompilationContext compilationContext) { + this.compilationContext = compilationContext; } public void addTypeInferableDefinition(TypeInferableDefinition definition) { @@ -74,7 +70,7 @@ public class TypeCheckingScheduler { } private void typeCheck(int[] component) { - TypingContext context = new TypingContext(errorLog, environment); + TypingContext context = new TypingContext(compilationContext); context.recursiveValues = new THashSet(); for(int c : component) @@ -106,7 +102,7 @@ public class TypeCheckingScheduler { constraintMap.put(cons.constraint, cons); } Constraint cons = constraintMap.get(constraint); - errorLog.log(cons.getDemandLocation(), + compilationContext.errorLog.log(cons.getDemandLocation(), "Constrain " + constraint + " contains free variables not mentioned in the type of the value."); }