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