From 0bc264263422622d4f7258a78a2f7d43ea8f0129 Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Wed, 17 Jun 2020 18:23:35 +0300 Subject: [PATCH] FIR: Add clarification to the workaround for KT-39659 --- .../java/deserialization/JvmBinaryAnnotationDeserializer.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/JvmBinaryAnnotationDeserializer.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/JvmBinaryAnnotationDeserializer.kt index 679803ac672..9cd23e7f8a0 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/JvmBinaryAnnotationDeserializer.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/JvmBinaryAnnotationDeserializer.kt @@ -104,7 +104,11 @@ class JvmBinaryAnnotationDeserializer( val signature = JvmProtoBufUtil.getJvmMethodSignature(proto, nameResolver, typeTable) ?: return null // TODO: Investigate why annotations for accessors affect resolution, resulting in dangling type parameter. // regressions: Fir2IrTextTest.Declarations.test*LevelProperties - if (signature.name.startsWith("get") || signature.name.startsWith("set")) { + // This is necessary because of libraries/stdlib/src/kotlin/collections/MapAccessors.kt:43 as + // we now load that overload as low-priority and choose another one, but we don't support @Exact yet + // that is necessary to correctly resolve the latter + // See KT-39659 + if (signature.name.startsWith("getVarContravariant")) { return null } MemberSignature.fromJvmMemberSignature(signature)