From ff60a13228cbc531f63be91abf416c785891f2cd Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Mon, 19 Oct 2015 17:33:59 +0300 Subject: [PATCH] libraries/tools fix (data classes migration) --- .../annotation/AnnotationProcessorWrapper.kt | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/libraries/tools/kotlin-annotation-processing/src/main/kotlin/org/jetbrains/kotlin/annotation/AnnotationProcessorWrapper.kt b/libraries/tools/kotlin-annotation-processing/src/main/kotlin/org/jetbrains/kotlin/annotation/AnnotationProcessorWrapper.kt index 3f8f6c3881b..e2d1a30606a 100644 --- a/libraries/tools/kotlin-annotation-processing/src/main/kotlin/org/jetbrains/kotlin/annotation/AnnotationProcessorWrapper.kt +++ b/libraries/tools/kotlin-annotation-processing/src/main/kotlin/org/jetbrains/kotlin/annotation/AnnotationProcessorWrapper.kt @@ -34,10 +34,26 @@ public class AnnotationProcessorStub : AbstractProcessor() { abstract class AnnotatedElementDescriptor(public val classFqName: String) -data class AnnotatedClassDescriptor(classFqName: String) : AnnotatedElementDescriptor(classFqName) -data class AnnotatedMethodDescriptor(classFqName: String, public val methodName: String) : AnnotatedElementDescriptor(classFqName) -data class AnnotatedConstructorDescriptor(classFqName: String) : AnnotatedElementDescriptor(classFqName) -data class AnnotatedFieldDescriptor(classFqName: String, public val fieldName: String) : AnnotatedElementDescriptor(classFqName) +class AnnotatedClassDescriptor(classFqName: String) : AnnotatedElementDescriptor(classFqName) { + override fun equals(other: Any?) = other is AnnotatedClassDescriptor + + override fun hashCode() = 0 +} +class AnnotatedMethodDescriptor(classFqName: String, public val methodName: String) : AnnotatedElementDescriptor(classFqName) { + override fun equals(other: Any?) = other is AnnotatedMethodDescriptor && methodName == other.methodName + + override fun hashCode() = methodName.hashCode() +} +class AnnotatedConstructorDescriptor(classFqName: String) : AnnotatedElementDescriptor(classFqName) { + override fun equals(other: Any?) = other is AnnotatedConstructorDescriptor + + override fun hashCode() = 0 +} +class AnnotatedFieldDescriptor(classFqName: String, public val fieldName: String) : AnnotatedElementDescriptor(classFqName) { + override fun equals(other: Any?) = other is AnnotatedFieldDescriptor && fieldName == other.fieldName + + override fun hashCode() = fieldName.hashCode() +} public abstract class AnnotationProcessorWrapper( private val processorFqName: String,