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)