]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/chr/plan/PlanRealizer.java
Merge "Re-enabled Acorn transaction cancellation support for testing"
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / chr / plan / PlanRealizer.java
1 package org.simantics.scl.compiler.elaboration.chr.plan;\r
2 \r
3 import java.util.List;\r
4 \r
5 import org.simantics.scl.compiler.compilation.CompilationContext;\r
6 import org.simantics.scl.compiler.elaboration.chr.CHRRuleset;\r
7 import org.simantics.scl.compiler.internal.codegen.references.IVal;\r
8 import org.simantics.scl.compiler.internal.codegen.writer.CodeWriter;\r
9 \r
10 public class PlanRealizer extends PlanContext {\r
11     List<PlanOp> ops;\r
12     int id = 0;\r
13 \r
14     public PlanRealizer(CompilationContext context, CHRRuleset ruleset, IVal storeVar, List<PlanOp> ops) {\r
15         super(context, ruleset, storeVar);\r
16         this.ops = ops;\r
17     }\r
18 \r
19     @Override\r
20     public void nextOp(CodeWriter w) {\r
21         PlanOp planOp = ops.get(id);\r
22         ++id;\r
23         planOp.generateCode(context, this, w);\r
24     }\r
25     \r
26 }\r