diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirCallCompletionResultsWriterTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirCallCompletionResultsWriterTransformer.kt index cd90094a09b..504c86e927a 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirCallCompletionResultsWriterTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirCallCompletionResultsWriterTransformer.kt @@ -260,10 +260,9 @@ class FirCallCompletionResultsWriterTransformer( private fun Candidate.createArgumentsMapping(): ExpectedArgumentType? { return argumentMapping?.map { (argument, valueParameter) -> - val expectedType = valueParameter.returnTypeRef.substitute(this) - argument.unwrapArgument() to expectedType - } - ?.toMap()?.toExpectedType() + val expectedType = valueParameter.returnTypeRef.substitute(this) + argument.unwrapArgument() to expectedType + }?.toMap()?.toExpectedType() } override fun transformDelegatedConstructorCall( @@ -272,8 +271,12 @@ class FirCallCompletionResultsWriterTransformer( ): CompositeTransformResult { val calleeReference = delegatedConstructorCall.calleeReference as? FirNamedReferenceWithCandidate ?: return delegatedConstructorCall.compose() + val subCandidate = calleeReference.candidate delegatedConstructorCall.argumentList.transformArguments(this, calleeReference.candidate.createArgumentsMapping()) + subCandidate.argumentMapping?.let { + delegatedConstructorCall.replaceArgumentList(buildResolvedArgumentList(it)) + } return delegatedConstructorCall.transformCalleeReference( StoreCalleeReference, buildResolvedNamedReference {