import org.simantics.scl.compiler.internal.codegen.continuations.ICont;
import org.simantics.scl.compiler.internal.codegen.references.IVal;
import org.simantics.scl.compiler.internal.codegen.writer.CodeWriter;
-import org.simantics.scl.compiler.types.Types;
public class IterateConstraintOp extends PlanOp {
IVal fact = body.getParameters()[0];
ArrayList<IVal> parameters = new ArrayList<IVal>(expressions.length+1);
- parameters.add(planContext.storeVar);
+ parameters.add(planContext.getStoreVar(constraint));
for(int i=0;i<expressions.length;++i)
if(((boundMask>>i)&1)==1)
- parameters.add(expressions[i].toVal(context.environment, w));
+ parameters.add(expressions[i].toVal(context, w));
w.jump(bodyContinuation, w.apply(location,
constraint.fetchFromIndex(context, boundMask), parameters.toArray(new IVal[parameters.size()])));