summaryrefslogtreecommitdiff
path: root/compiler/src/main/java/android/databinding/tool/reflection
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/src/main/java/android/databinding/tool/reflection')
-rw-r--r--compiler/src/main/java/android/databinding/tool/reflection/InjectedClass.java9
-rw-r--r--compiler/src/main/java/android/databinding/tool/reflection/ModelClass.java18
-rw-r--r--compiler/src/main/java/android/databinding/tool/reflection/annotation/AnnotationClass.java11
3 files changed, 32 insertions, 6 deletions
diff --git a/compiler/src/main/java/android/databinding/tool/reflection/InjectedClass.java b/compiler/src/main/java/android/databinding/tool/reflection/InjectedClass.java
index eb83fcd2..ca7f3e5a 100644
--- a/compiler/src/main/java/android/databinding/tool/reflection/InjectedClass.java
+++ b/compiler/src/main/java/android/databinding/tool/reflection/InjectedClass.java
@@ -16,8 +16,12 @@
package android.databinding.tool.reflection;
+import android.databinding.tool.ext.ExtKt;
import android.databinding.tool.util.StringUtils;
+import com.squareup.javapoet.ClassName;
+import com.squareup.javapoet.TypeName;
+
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
@@ -226,6 +230,11 @@ public class InjectedClass extends ModelClass {
}
@Override
+ public TypeName getTypeName() {
+ return ExtKt.toTypeName(mClassName);
+ }
+
+ @Override
public String toString() {
return "Injected Class: " + mClassName;
}
diff --git a/compiler/src/main/java/android/databinding/tool/reflection/ModelClass.java b/compiler/src/main/java/android/databinding/tool/reflection/ModelClass.java
index e4351222..d4a022af 100644
--- a/compiler/src/main/java/android/databinding/tool/reflection/ModelClass.java
+++ b/compiler/src/main/java/android/databinding/tool/reflection/ModelClass.java
@@ -16,11 +16,14 @@
package android.databinding.tool.reflection;
import android.databinding.Bindable;
+import android.databinding.tool.ext.ExtKt;
import android.databinding.tool.reflection.Callable.Type;
import android.databinding.tool.util.L;
import android.databinding.tool.util.StringUtils;
import com.google.common.collect.ImmutableMap;
+import com.squareup.javapoet.ClassName;
+import com.squareup.javapoet.TypeName;
import org.jetbrains.annotations.NotNull;
@@ -679,4 +682,19 @@ public abstract class ModelClass {
}
return fieldName;
}
+
+ public TypeName getTypeName() {
+ // implementation only so that PSI model doesn't break
+ return ExtKt.toTypeName(toJavaCode());
+ }
+
+ @Override
+ public boolean equals(Object that) {
+ if (that instanceof ModelClass) {
+ TypeName thisTypeName = getTypeName();
+ TypeName thatTypeName = ((ModelClass) that).getTypeName();
+ return thisTypeName.equals(thatTypeName);
+ }
+ return false;
+ }
}
diff --git a/compiler/src/main/java/android/databinding/tool/reflection/annotation/AnnotationClass.java b/compiler/src/main/java/android/databinding/tool/reflection/annotation/AnnotationClass.java
index a4f7eb9e..8b023f6a 100644
--- a/compiler/src/main/java/android/databinding/tool/reflection/annotation/AnnotationClass.java
+++ b/compiler/src/main/java/android/databinding/tool/reflection/annotation/AnnotationClass.java
@@ -22,6 +22,9 @@ import android.databinding.tool.reflection.ModelMethod;
import android.databinding.tool.reflection.TypeUtil;
import android.databinding.tool.util.L;
+import com.squareup.javapoet.ClassName;
+import com.squareup.javapoet.TypeName;
+
import java.util.ArrayList;
import java.util.List;
@@ -385,12 +388,8 @@ class AnnotationClass extends ModelClass {
}
@Override
- public boolean equals(Object obj) {
- if (obj instanceof AnnotationClass) {
- return getTypeUtils().isSameType(mTypeMirror, ((AnnotationClass) obj).mTypeMirror);
- } else {
- return false;
- }
+ public TypeName getTypeName() {
+ return ClassName.get(mTypeMirror);
}
@Override