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