diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt index ae3a403cf75..98d65a36260 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt @@ -431,12 +431,17 @@ class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransformer) ): CompositeTransformResult { return withLocalScopeCleanup { addLocalScope(FirLocalScope()) - dataFlowAnalyzer.enterFunction(function) + val functionIsNotAnalyzed = transformerPhase != function.resolvePhase + if (functionIsNotAnalyzed) { + dataFlowAnalyzer.enterFunction(function) + } @Suppress("UNCHECKED_CAST") transformDeclarationContent(function, data).also { - val result = it.single as FirFunction<*> - dataFlowAnalyzer.exitFunction(result)?.let { controlFlowGraph -> - result.transformControlFlowGraphReference(ControlFlowGraphReferenceTransformer, controlFlowGraph) + if (functionIsNotAnalyzed) { + val result = it.single as FirFunction<*> + dataFlowAnalyzer.exitFunction(result)?.let { controlFlowGraph -> + result.transformControlFlowGraphReference(ControlFlowGraphReferenceTransformer, controlFlowGraph) + } } } as CompositeTransformResult }