From 3d73c28d1e34e38f3bedc88605332517f0fed09f Mon Sep 17 00:00:00 2001 From: Simon Ogorodnik Date: Wed, 17 Apr 2019 15:51:22 +0300 Subject: [PATCH] FIR: fix receiver not being substituted --- .../org/jetbrains/kotlin/fir/resolve/calls/ResolverParts.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ResolverParts.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ResolverParts.kt index bbcb4b6714f..ace40838a9a 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ResolverParts.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ResolverParts.kt @@ -93,8 +93,9 @@ internal sealed class CheckReceivers : ResolutionStage() { if (receiverParameterValue != null) { if (explicitReceiverExpression != null && explicitReceiverKind.shouldBeResolvedAsExplicit()) { resolveArgumentExpression( - candidate.csBuilder, explicitReceiverExpression, receiverParameterValue.type, - sink, isReceiver = true, typeProvider = callInfo.typeProvider + candidate.csBuilder, explicitReceiverExpression, + candidate.substitutor.substituteOrSelf(receiverParameterValue.type), + sink, isReceiver = true, typeProvider = callInfo.typeProvider, acceptLambdaAtoms = { candidate.postponedAtoms += it } ) } }