summaryrefslogtreecommitdiff
path: root/compiler/src/main/java/android/databinding/tool/expr/ComparisonExpr.java
diff options
context:
space:
mode:
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.java21
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();
+ }
}