From 9f2f66b3b8c498c2cd8e93db3cc2a507b00bfb8a Mon Sep 17 00:00:00 2001 From: Svetlana Isakova Date: Fri, 16 Oct 2015 21:55:18 +0300 Subject: [PATCH] Serialize/deserialize annotations on type parameters Original commit: 25b40455ad5460ffa6c74f7f613f5c82f194fde6 --- .../kotlin/jps/incremental/ProtoCompareGenerated.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/ProtoCompareGenerated.kt b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/ProtoCompareGenerated.kt index 12338aa078e..74e6cbc514e 100644 --- a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/ProtoCompareGenerated.kt +++ b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/ProtoCompareGenerated.kt @@ -308,6 +308,12 @@ open class ProtoCompareGenerated(public val oldNameResolver: NameResolver, publi if (!checkEqualsTypeParameterUpperBoundId(old, new)) return false + if (old.getExtensionCount(JvmProtoBuf.typeParameterAnnotation) != new.getExtensionCount(JvmProtoBuf.typeParameterAnnotation)) return false + + for(i in 0..old.getExtensionCount(JvmProtoBuf.typeParameterAnnotation) - 1) { + if (!checkEquals(old.getExtension(JvmProtoBuf.typeParameterAnnotation, i), new.getExtension(JvmProtoBuf.typeParameterAnnotation, i))) return false + } + return true } @@ -995,6 +1001,10 @@ public fun ProtoBuf.TypeParameter.hashCode(stringIndexes: (Int) -> Int, fqNameIn hashCode = 31 * hashCode + getUpperBoundId(i) } + for(i in 0..getExtensionCount(JvmProtoBuf.typeParameterAnnotation) - 1) { + hashCode = 31 * hashCode + getExtension(JvmProtoBuf.typeParameterAnnotation, i).hashCode(stringIndexes, fqNameIndexes) + } + return hashCode }