diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/model/CallableReferencesCandidateFactory.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/model/CallableReferencesCandidateFactory.kt index 3f46df17b0e..90a4225d3ab 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/model/CallableReferencesCandidateFactory.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/model/CallableReferencesCandidateFactory.kt @@ -55,7 +55,6 @@ class CallableReferencesCandidateFactory( extensionReceiver = null, expectedType, callComponents.builtIns, - buildTypeWithConversions = kotlinCall is CallableReferenceKotlinCallArgument ) return CallableReferenceResolutionCandidate( @@ -82,8 +81,6 @@ class CallableReferencesCandidateFactory( extensionCallableReceiver, expectedType, callComponents.builtIns, - // conversions aren't needed for top-level callable references - buildTypeWithConversions = kotlinCall is CallableReferenceKotlinCallArgument ) fun createCallableReferenceCallCandidate(diagnostics: List) = CallableReferenceResolutionCandidate( @@ -347,7 +344,6 @@ class CallableReferencesCandidateFactory( extensionReceiver: CallableReceiver?, expectedType: UnwrappedType?, builtins: KotlinBuiltIns, - buildTypeWithConversions: Boolean = true ): Pair { val argumentsAndReceivers = ArrayList(descriptor.valueParameters.size + 2 + descriptor.contextReceiverParameters.size) @@ -388,6 +384,9 @@ class CallableReferencesCandidateFactory( builtins = builtins ) + // conversions aren't needed for top-level callable references + val buildTypeWithConversions = kotlinCall is CallableReferenceKotlinCallArgument + val returnType = if (callableReferenceAdaptation == null || !buildTypeWithConversions) { descriptor.valueParameters.mapTo(argumentsAndReceivers) { it.type } descriptorReturnType