diff options
Diffstat (limited to 'compiler/src/main/java/android/databinding/tool/expr/ComparisonExpr.java')
-rw-r--r-- | compiler/src/main/java/android/databinding/tool/expr/ComparisonExpr.java | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/compiler/src/main/java/android/databinding/tool/expr/ComparisonExpr.java b/compiler/src/main/java/android/databinding/tool/expr/ComparisonExpr.java index 172ea219..6b36bca9 100644 --- a/compiler/src/main/java/android/databinding/tool/expr/ComparisonExpr.java +++ b/compiler/src/main/java/android/databinding/tool/expr/ComparisonExpr.java @@ -62,14 +62,27 @@ public class ComparisonExpr extends Expr { } @Override - protected KCode generateCode(boolean expand) { - return new KCode().app("", getLeft().toCode(expand)) - .app(" ").app(getOp()).app(" ") - .app("", getRight().toCode(expand)); + protected KCode generateCode() { + return new KCode() + .app("(", getLeft().toCode()) + .app(") ") + .app(getOp()) + .app(" (", getRight().toCode()) + .app(")"); + } + + @Override + public Expr cloneToModel(ExprModel model) { + return model.comparison(mOp, getLeft().cloneToModel(model), getRight().cloneToModel(model)); } @Override public String getInvertibleError() { return "Comparison operators are not valid as targets of two-way binding"; } + + @Override + public String toString() { + return getLeft().toString() + ' ' + mOp + ' ' + getRight(); + } } |