package org.uva.ql.ast.expression.binary; import org.uva.ql.ast.CodePosition; import org.uva.ql.ast.expression.Expression; import org.uva.ql.ast.type.BoolType; import org.uva.ql.ast.type.Type; import org.uva.ql.typechecker.TypeChecker; import org.uva.ql.visitor.ExpressionVisitor; public class And extends Binary { public And(Expression left, Expression right, CodePosition pos) { super(left, right, pos); } @Override public <T> T accept(ExpressionVisitor<T> visitor) { return visitor.visit(this); } @Override public String toString() { return this.left.toString() + " && " + this.right.toString(); } @Override public Type getType(TypeChecker typeChecker) { return new BoolType(getPosition()); } }