From dfa1e8d03d18cc0b73c4f03a7bde04f5da489324 Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Wed, 3 Aug 2022 12:25:47 +0200 Subject: [PATCH] FIR: fix findClassRepresentation for dynamic type related to KT-53463 and KT-53464 needed e.g. to find proper (fake) override on calls on dynamic receiver fixes test js/js.translator/testData/box/dynamic/equals.kt --- .../src/org/jetbrains/kotlin/fir/resolve/LookupTagUtils.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/LookupTagUtils.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/LookupTagUtils.kt index bc47b5bfd64..268fafa8130 100644 --- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/LookupTagUtils.kt +++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/LookupTagUtils.kt @@ -118,6 +118,7 @@ fun ConeKotlinType.findClassRepresentation( ): ConeClassLikeLookupTag? = when (this) { is ConeClassLikeType -> this.fullyExpandedType(session).lookupTag + is ConeDynamicType -> upperBound.findClassRepresentation(dispatchReceiverParameterType, session) is ConeFlexibleType -> lowerBound.findClassRepresentation(dispatchReceiverParameterType, session) is ConeCapturedType -> constructor.supertypes.orEmpty() .findClassRepresentationThatIsSubtypeOf(dispatchReceiverParameterType, session)