package main.nl.uva.parser.statement; import java.util.List; import main.nl.uva.parser.Line; import main.nl.uva.parser.expression.Expression; import main.nl.uva.ui.UI; import main.nl.uva.ui.element.IfThenElseUI; import main.nl.uva.ui.element.UIElement; import main.nl.uva.validation.ASTValidation; import main.nl.uva.validation.Scope; public class IfThenElse extends IfThen { private final List<Statement> _elseStatements; public IfThenElse(final Expression expression, final List<Statement> ifStatements, final List<Statement> elseStatements, final Line lineInfo) { super(expression, ifStatements, lineInfo); _elseStatements = elseStatements; } @Override public ASTValidation validateAndCalculate(final Scope scope) { ASTValidation valid = super.validateAndCalculate(scope); valid = validateChildren(valid, _elseStatements, scope); removeChildrenFromScope(_elseStatements, scope); return valid; } @Override public UIElement getLayout(final UI parentUI) { return new IfThenElseUI(_expression, _ifStatements, _elseStatements, parentUI); } @Override public String toString() { return "else"; } }