summaryrefslogtreecommitdiff
path: root/compiler/src/main/java/android/databinding/tool/expr/InstanceOfExpr.java
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/src/main/java/android/databinding/tool/expr/InstanceOfExpr.java')
-rw-r--r--compiler/src/main/java/android/databinding/tool/expr/InstanceOfExpr.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/compiler/src/main/java/android/databinding/tool/expr/InstanceOfExpr.java b/compiler/src/main/java/android/databinding/tool/expr/InstanceOfExpr.java
index 980d6356..8783d0e7 100644
--- a/compiler/src/main/java/android/databinding/tool/expr/InstanceOfExpr.java
+++ b/compiler/src/main/java/android/databinding/tool/expr/InstanceOfExpr.java
@@ -37,14 +37,19 @@ public class InstanceOfExpr extends Expr {
}
@Override
- protected KCode generateCode(boolean expand) {
+ protected KCode generateCode() {
return new KCode()
- .app("", getExpr().toCode(expand))
+ .app("", getExpr().toCode())
.app(" instanceof ")
.app(getType().toJavaCode());
}
@Override
+ public Expr cloneToModel(ExprModel model) {
+ return model.instanceOfOp(getExpr().cloneToModel(model), mTypeStr);
+ }
+
+ @Override
protected ModelClass resolveType(ModelAnalyzer modelAnalyzer) {
mType = modelAnalyzer.findClass(mTypeStr, getModel().getImports());
return modelAnalyzer.loadPrimitive("boolean");
@@ -67,4 +72,9 @@ public class InstanceOfExpr extends Expr {
public String getInvertibleError() {
return "two-way binding can't target a value with the 'instanceof' operator";
}
+
+ @Override
+ public String toString() {
+ return getExpr().toString() + " instanceof " + mTypeStr;
+ }
}