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