From 8670d2abba28e47bf95a860393e0829089d52ee5 Mon Sep 17 00:00:00 2001 From: Mikhail Zarechenskiy Date: Tue, 6 Jun 2017 18:02:21 +0300 Subject: [PATCH] [NI] Propagate information about safe call to receiver argument --- .../org/jetbrains/kotlin/resolve/calls/KotlinCallResolver.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/KotlinCallResolver.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/KotlinCallResolver.kt index d0ecb925797..4b898f6aae3 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/KotlinCallResolver.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/KotlinCallResolver.kt @@ -66,11 +66,13 @@ class KotlinCallResolver( ): Collection { kotlinCall.checkCallInvariants() + val isSafeCall = (kotlinCall.explicitReceiver as? SimpleKotlinCallArgument)?.isSafeCall ?: false + val resolutionCandidates = givenCandidates.map { SimpleKotlinResolutionCandidate(callContext, kotlinCall, if (it.dispatchReceiver == null) ExplicitReceiverKind.NO_EXPLICIT_RECEIVER else ExplicitReceiverKind.DISPATCH_RECEIVER, - it.dispatchReceiver?.let { ReceiverExpressionKotlinCallArgument(it) }, + it.dispatchReceiver?.let { ReceiverExpressionKotlinCallArgument(it, isSafeCall) }, null, it.descriptor, it.knownTypeParametersResultingSubstitutor,