package ast.statements; import ast.ASTNode; import ast.expressions.Expression; import ast.walking.ASTNodeVisitor; public class ForStatement extends BlockStarter { private ASTNode forInitStatement = null; private ASTNode expression = null; public ASTNode getForInitStatement() { return forInitStatement; } public void setForInitStatement(ASTNode forInitStatement) { this.forInitStatement = forInitStatement; } public ASTNode getExpression() { return expression; } public void setExpression(ASTNode expression) { this.expression = expression; } @Override public void addChild(ASTNode node) { if (node instanceof Condition) setCondition((Condition) node); else if(node instanceof ForInit) setForInitStatement(node); else if(node instanceof Expression) setExpression(node); else if (node instanceof Statement) setStatement((Statement) node); super.addChild(node); } public void accept(ASTNodeVisitor visitor) { visitor.visit(this); } }