package ql.ast.statement; import java.util.List; import ql.ast.ElementInterfaceVisitor; import ql.ast.expression.ExpressionInterface; /** * Class for if statements. * An if statement consists of a condition (which is an expression), * a list of statements if its true, and possibly a list of statements * if its false (the 'else' part). */ public class StatementIf implements StatementInterface { private ExpressionInterface expression; private List<StatementInterface> ifStatements; private List<StatementInterface> elseStatements; public StatementIf(ExpressionInterface expression, List<StatementInterface> ifStatements, List<StatementInterface> elseStatements) { this.expression = expression; this.ifStatements = ifStatements; this.elseStatements = elseStatements; } public ExpressionInterface getExpression() { return this.expression; } public List<StatementInterface> getIfStatements() { return this.ifStatements; } public List<StatementInterface> getElseStatements() { return this.elseStatements; } @Override public void accept(ElementInterfaceVisitor visitor) { visitor.visit(this); } @Override public StatementTypeInterface getType() { return new StatementBoolean(); } }