public Object visit(LogicalBinaryOp binaryOp) {
   binaryOp.getFirstOperand().accept(this);
   binaryOp.getSecondOperand().accept(this);
   if (!Type.isBool(binaryOp)) {
     return binaryOp;
   }
   return null;
 }
 @Override
 public Object visit(LogicalBinaryOp binaryOp) throws SemanticError {
   binaryOp.getFirstOperand().accept(this);
   binaryOp.getSecondOperand().accept(this);
   return null;
 }