package org.uva.ql.ast.expression.association;
import org.uva.ql.ast.CodePosition;
import org.uva.ql.ast.expression.Expression;
import org.uva.ql.ast.type.Type;
import org.uva.ql.typechecker.TypeChecker;
import org.uva.ql.visitor.ExpressionVisitor;
public class Parenthesis extends Expression {
private final Expression expr;
public Parenthesis(Expression expr, CodePosition pos) {
super(pos);
this.expr = expr;
}
public Expression getExpression() {
return expr;
}
@Override
public <T> T accept(ExpressionVisitor<T> visitor) {
return visitor.visit(this);
}
@Override
public String toString() {
return " ( " + expr.toString() + " ) ";
}
@Override
public Type getType(TypeChecker typeChecker) {
return expr.getType(typeChecker);
}
}