diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ConstructorProcessing.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ConstructorProcessing.kt index 8240cda8031..2587e37357c 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ConstructorProcessing.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ConstructorProcessing.kt @@ -68,10 +68,14 @@ internal fun FirScope.processFunctionsAndConstructorsByName( processConstructorsByName( name, session, bodyResolveComponents, includeInnerConstructors = includeInnerConstructors, - processor = processor + processor = { + with(bodyResolveComponents) { it.phasedFir } + processor(it) + } ) processFunctionsByName(name) { + with(bodyResolveComponents) { it.phasedFir } processor(it) } } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ResolutionStageRunner.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ResolutionStageRunner.kt index 00fd9035876..c3cce92d2d3 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ResolutionStageRunner.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ResolutionStageRunner.kt @@ -15,6 +15,7 @@ import kotlin.coroutines.resume class ResolutionStageRunner(val components: InferenceComponents) { fun processCandidate(candidate: Candidate, stopOnFirstError: Boolean = true): CandidateApplicability { val sink = CheckerSinkImpl(components, stopOnFirstError = stopOnFirstError) + with (candidate.bodyResolveComponents) { candidate.symbol.phasedFir } var finished = false sink.continuation = suspend { candidate.callInfo.callKind.resolutionSequence.forEachIndexed { index, stage -> diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/tower/TowerLevelHandler.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/tower/TowerLevelHandler.kt index fc63969bf7d..0c014b0f4fc 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/tower/TowerLevelHandler.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/tower/TowerLevelHandler.kt @@ -183,6 +183,7 @@ private class TowerScopeLevelProcessor( implicitExtensionReceiverValue: ImplicitReceiverValue<*>?, builtInExtensionFunctionReceiverValue: ReceiverValue? ) { + with(candidateFactory.bodyResolveComponents) { symbol.phasedFir } // Check explicit extension receiver for default package members if (symbol is FirNamedFunctionSymbol && dispatchReceiverValue == null && (implicitExtensionReceiverValue == null) != (explicitReceiver == null) && diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/tower/TowerLevels.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/tower/TowerLevels.kt index b1856c996f5..3f133ded2f8 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/tower/TowerLevels.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/tower/TowerLevels.kt @@ -87,7 +87,7 @@ class MemberScopeTowerLevel( if (candidate is FirCallableSymbol<*> && (implicitExtensionInvokeMode || candidate.hasConsistentExtensionReceiver(extensionReceiver)) ) { - val fir = candidate.fir + val fir = with(bodyResolveComponents) { candidate.phasedFir } if ((fir as? FirConstructor)?.isInner == false) { return@processScopeMembers }