DoUntilNode.java
package edu.udel.cis.vsl.tass.ast.impl.statement;
import java.util.Collection;
import edu.udel.cis.vsl.tass.ast.IF.expression.ExpressionNodeIF;
import edu.udel.cis.vsl.tass.ast.IF.expression.PureExpressionNodeIF;
import edu.udel.cis.vsl.tass.ast.IF.statement.DoUntilNodeIF;
import edu.udel.cis.vsl.tass.ast.IF.statement.StatementNodeIF;
import edu.udel.cis.vsl.tass.ast.IF.SequenceNodeIF;
/**
* A Do... Until... loop.
*
* @author Timothy K. Zirkel (zirkel)
*
*/
public class DoUntilNode extends StatementNode implements DoUntilNodeIF {
StatementNodeIF body;
SequenceNodeIF<PureExpressionNodeIF> invariants;
ExpressionNodeIF condition;
public DoUntilNode(long id) {
super(id);
}
/**
* The parameter body is the body of the loop. The parameter condition is
* the loop control condition.
*/
public DoUntilNode(long id, StatementNodeIF body, ExpressionNodeIF condition) {
super(id);
this.body = body;
this.condition = condition;
}
@Override
public StatementNodeIF body() {
return body;
}
@Override
public SequenceNodeIF<PureExpressionNodeIF> invariants() {
return invariants;
}
@Override
public void setBody(StatementNodeIF body) {
this.body = body;
}
@Override
public void setInvariants(SequenceNodeIF<PureExpressionNodeIF> invariants) {
this.invariants = invariants;
}
@Override
public ExpressionNodeIF condition() {
return condition;
}
@Override
public void setCondition(ExpressionNodeIF condition) {
this.condition = condition;
}
}