From eb3f785c363c97a0bb3562deec17784280e8de25 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Wed, 20 Sep 2023 13:57:50 +0200 Subject: [PATCH] K2: drop state mutation from ResolvedLambdaAtom init block Related to KT-61933 --- .../kotlin/fir/resolve/inference/InferenceUtils.kt | 5 +++-- .../kotlin/fir/resolve/inference/PostponedArguments.kt | 5 +++-- .../kotlin/fir/resolve/inference/PostponedAtoms.kt | 6 ------ 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/InferenceUtils.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/InferenceUtils.kt index 79203867d5e..210ec93c27a 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/InferenceUtils.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/InferenceUtils.kt @@ -117,7 +117,8 @@ fun extractLambdaInfoFromFunctionType( parameters, returnType, typeVariableForLambdaReturnType = returnTypeVariable, - candidate, coerceFirstParameterToExtensionReceiver - ) + ).also { + candidate?.postponedAtoms?.add(it) + } } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/PostponedArguments.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/PostponedArguments.kt index 972b8578e48..d924b1a3052 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/PostponedArguments.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/PostponedArguments.kt @@ -145,7 +145,8 @@ private fun extractLambdaInfo( parameters, returnType, typeVariable.takeIf { newTypeVariableUsed }, - candidate, coerceFirstParameterToExtensionReceiver = false - ) + ).also { + candidate?.postponedAtoms?.add(it) + } } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/PostponedAtoms.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/PostponedAtoms.kt index 917f8678005..c9d934e5010 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/PostponedAtoms.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/PostponedAtoms.kt @@ -46,14 +46,8 @@ class ResolvedLambdaAtom( val parameters: List, var returnType: ConeKotlinType, typeVariableForLambdaReturnType: ConeTypeVariableForLambdaReturnType?, - candidateOfOuterCall: Candidate?, val coerceFirstParameterToExtensionReceiver: Boolean ) : PostponedResolvedAtom() { - init { - candidateOfOuterCall?.let { - it.postponedAtoms += this - } - } var typeVariableForLambdaReturnType = typeVariableForLambdaReturnType private set