package org.simantics.scl.compiler.elaboration.chr.plan; import org.simantics.scl.compiler.compilation.CompilationContext; import org.simantics.scl.compiler.elaboration.expressions.Expression; import org.simantics.scl.compiler.elaboration.expressions.Variable; import org.simantics.scl.compiler.elaboration.relations.SCLRelation; import org.simantics.scl.compiler.internal.codegen.writer.CodeWriter; public class IterateRelationOp extends PlanOp { public SCLRelation relation; public Variable[] variables; public Expression[] expressions; public int boundMask; public IterateRelationOp(long location, SCLRelation relation, Variable[] variables, Expression[] expressions, int boundMask) { super(location); this.relation = relation; this.variables = variables; this.expressions = expressions; this.boundMask = boundMask; } @Override public void toString(StringBuilder b) { b.append("ITERATE ").append(relation); for(int i=0;i