1 6 package tests.jfun.parsec.mssql; 7 8 13 public final class ExpressionComparison implements BoolExpression { 14 15 18 public int getPrecedence() { 19 return op.getPrecedence(); 20 } 21 22 25 public void accept(BoolExpressionVisitor v) { 26 v.visitCompare(e1, op, e2); 27 } 28 private final Expression e1; 29 private final LogicalBinaryOp op; 30 private final Expression e2; 31 32 37 ExpressionComparison(final Expression e1, final LogicalBinaryOp op, 38 final Expression e2) { 39 this.e1 = e1; 40 this.op = op; 41 this.e2 = e2; 42 } 43 public String toString(){ 44 final StringBuffer buf = new StringBuffer (); 45 final int pred = op.getPrecedence(); 46 if(e1.getPrecedence() < pred) 47 buf.append('(').append(e1).append(')'); 48 else buf.append(e1); 49 buf.append(op); 50 if(e2.getPrecedence() <= pred) 51 buf.append(')').append(e2).append(')'); 52 else buf.append(e2); 53 return buf.toString(); 54 } 55 } 56 | Popular Tags |