diff options
Diffstat (limited to 'compiler/src/main/java/android/databinding/tool/reflection')
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 |