package org.uva.ql.ast.statement;
import org.uva.ql.ast.CodePosition;
import org.uva.ql.ast.expression.Expression;
import org.uva.ql.ast.expression.literal.Identifier;
import org.uva.ql.ast.expression.literal.StrLiteral;
import org.uva.ql.ast.type.Type;
import org.uva.ql.visitor.StatementVisitor;
public class QuestionComputed extends QuestionNormal {
private final Expression expression;
public QuestionComputed(Identifier identifier, StrLiteral label, Type type, Expression expr, CodePosition pos) {
super(identifier, label, type, pos);
this.expression = expr;
}
public Expression getExpression() {
return expression;
}
@Override
public <T> T accept(StatementVisitor<T> visitor) {
return visitor.visit(this);
}
@Override
public String toString() {
return getIdentifier().toString();
}
}