package qlProject.ast.statement; import java.util.List; import java.util.Set; import qlProject.ast.expression.IExpression; import qlProject.auxiliary_expression_visitors.VariablesCollectionVisitor; public class IfStatement implements IStatement { private final IExpression condition; private final List<IStatement> conditionTrueList; private final List<IStatement> conditionFalseList; public IfStatement(IExpression condition, List<IStatement> trueList,List<IStatement> falseList) { this.condition = condition; this.conditionTrueList = trueList; this.conditionFalseList = falseList; } public IExpression getCondition(){ return condition; } public Set<String> getExpressionVariables (){ return (Set<String>)(this.condition.accept(new VariablesCollectionVisitor())); } public List<IStatement> getIfTrueStatements (){ return conditionTrueList; } public List<IStatement> getIfFalseStatements(){ return conditionFalseList; } @Override public void accept(IStatementsVisitor visitor) { visitor.visit(this); } }