package de.gaalop.cfg; import de.gaalop.dfg.Expression; public class ExpressionStatement extends SequentialNode { private Expression expression; public ExpressionStatement(ControlFlowGraph graph, Expression expression) { super(graph); this.expression = expression; } /** * Returns the associated expression. * * @return expression */ public Expression getExpression() { return expression; } @Override public void accept(ControlFlowVisitor visitor) { visitor.visit(this); } @Override public void replaceExpression(Expression old, Expression newExpression) { if (expression == old) { expression = newExpression; } else { expression.replaceExpression(old, newExpression); } } @Override public ExpressionStatement copyElements() { return new ExpressionStatement(getGraph(), expression.copy()); } @Override public String toString() { return expression.toString(); } public void setExpression(Expression expression) { this.expression = expression; } }