1 package org.simantics.scl.compiler.elaboration.chr.plan;
\r
3 import org.simantics.scl.compiler.compilation.CompilationContext;
\r
4 import org.simantics.scl.compiler.internal.codegen.writer.CodeWriter;
\r
6 public class PreCommitOp extends PlanOp {
\r
7 public PreCommitOp(long location) {
\r
12 public void toString(StringBuilder b) {
\r
13 b.append("PRE_COMMIT");
\r
17 public void generateCode(CompilationContext context, PlanContext planContext, CodeWriter w) {
\r
18 for(PartnerFact activeFact : planContext.partnerFacts) {
\r
19 if(activeFact.killAfterMatch)
\r
20 w.apply(location, activeFact.constraint.removeProcedure, planContext.storeVar, activeFact.factVar);
\r
22 planContext.nextOp(w);
\r