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.elaboration.expressions.Expression;
\r
5 import org.simantics.scl.compiler.elaboration.expressions.Variable;
\r
6 import org.simantics.scl.compiler.internal.codegen.writer.CodeWriter;
\r
8 public class AssignOp extends PlanOp {
\r
9 public Variable variable;
\r
10 public Expression expression;
\r
12 public AssignOp(long location, Variable variable, Expression expression) {
\r
14 this.variable = variable;
\r
15 this.expression = expression;
\r
19 public void toString(StringBuilder b) {
\r
20 b.append("ASSIGN ").append(variable).append(" = ").append(expression);
\r
24 public void generateCode(CompilationContext context, PlanContext planContext, CodeWriter w) {
\r
25 variable.setVal(expression.toVal(context.environment, w));
\r
26 planContext.nextOp(w);
\r