X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Felaboration%2Fchr%2Fplan%2FAccessFactOp.java;h=c0cb00184770119175520905e9a3837b0b1873b6;hb=refs%2Fchanges%2F34%2F1534%2F3;hp=befcfdd5b99f6e44414256533281acc507e99b99;hpb=cb5fc8d606d8b322563e9345c441eecfa7f01753;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/chr/plan/AccessFactOp.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/chr/plan/AccessFactOp.java index befcfdd5b..c0cb00184 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/chr/plan/AccessFactOp.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/chr/plan/AccessFactOp.java @@ -1,51 +1,50 @@ -package org.simantics.scl.compiler.elaboration.chr.plan; - -import org.simantics.scl.compiler.compilation.CompilationContext; -import org.simantics.scl.compiler.constants.BooleanConstant; -import org.simantics.scl.compiler.elaboration.chr.relations.CHRConstraint; -import org.simantics.scl.compiler.elaboration.expressions.Expression; -import org.simantics.scl.compiler.elaboration.expressions.Variable; -import org.simantics.scl.compiler.internal.codegen.references.IVal; -import org.simantics.scl.compiler.internal.codegen.writer.CodeWriter; - -public class AccessFactOp extends PlanOp { - - Expression inputFact; - CHRConstraint constraint; - Variable[] variables; - boolean killAfterMatch; - - public AccessFactOp(long location, Expression inputFact, CHRConstraint constraint, Variable[] variables, - boolean killAfterMatch) { - super(location); - this.inputFact = inputFact; - this.constraint = constraint; - this.variables = variables; - this.killAfterMatch = killAfterMatch; - } - - @Override - public void toString(StringBuilder b) { - b.append("ACCESS "); - if(killAfterMatch) - b.append("- "); - b.append(constraint); - for(Variable variable : variables) - b.append(' ').append(variable); - b.append(" = ").append(inputFact); - } - - @Override - public void generateCode(CompilationContext context, PlanContext planContext, CodeWriter w) { - IVal inputVal = inputFact.toVal(context.environment, w); - for(int i=0;i