package org.uva.ql.ast.statement;
import org.uva.ql.ast.CodePosition;
import org.uva.ql.ast.expression.Expression;
import org.uva.ql.visitor.StatementVisitor;
public class IfStatement extends Statement {
private final Block ifBlock;
private final Expression expr;
public IfStatement(Expression expr, Block ifBlock, CodePosition pos) {
super(pos);
this.expr = expr;
this.ifBlock = ifBlock;
}
public Expression getExpr() {
return expr;
}
public Block getIfBlock() {
return ifBlock;
}
@Override
public <T> T accept(StatementVisitor<T> visitor) {
return visitor.visit(this);
}
@Override
public String toString() {
return "[If] " + "\n\tExpression = " + expr.toString() + "\n\tIf Block = " + ifBlock.toString();
}
}