diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/LowLevelFirApiFacade.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/LowLevelFirApiFacade.kt index e3a12283fe6..5ec0387eac3 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/LowLevelFirApiFacade.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/LowLevelFirApiFacade.kt @@ -45,8 +45,14 @@ inline fun KtDeclaration.withFirDeclaration( action: (FirDeclaration) -> R ): R { val firDeclaration = resolveState.findSourceFirDeclaration(this) - firDeclaration.resolvedFirToPhase(phase, resolveState) - return action(firDeclaration) + + val resolvedDeclaration = if (firDeclaration.resolvePhase < phase) { + firDeclaration.resolvedFirToPhase(phase, resolveState) + } else { + firDeclaration + } + + return action(resolvedDeclaration) } /**