package qlProject.ast.statement.assignment; import java.util.Set; import qlProject.ast.expression.IExpression; import qlProject.ast.statement.IStatementsVisitor; import qlProject.ast.type.Type; import qlProject.auxiliary_expression_visitors.VariablesCollectionVisitor; public class ComputedAssignment extends Assignment { private final IExpression e; public ComputedAssignment (String id, String text, Type type, IExpression e){ super(id, text, type); this.e = e; } public Set<String> getExpressionVariables (){ Set<String> ids = (Set<String>)(this.e.accept(new VariablesCollectionVisitor())); return ids; } public IExpression getExpression(){ return this.e; } @Override public void accept(IStatementsVisitor visitor) { visitor.visit(this); } }