diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirAbstractPhaseTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirAbstractPhaseTransformer.kt index eed625d4423..f035942d10d 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirAbstractPhaseTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirAbstractPhaseTransformer.kt @@ -32,6 +32,13 @@ abstract class FirAbstractPhaseTransformer( return phasedFir(session, requiredPhase) } + override fun transformFile(file: FirFile, data: D): CompositeTransformResult { + file.replaceResolvePhase(transformerPhase) + + @Suppress("UNCHECKED_CAST") + return super.transformFile(file, data) as CompositeTransformResult + } + override fun transformDeclaration(declaration: FirDeclaration, data: D): CompositeTransformResult { declaration.replaceResolvePhase(transformerPhase) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirImportResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirImportResolveTransformer.kt index 505ae7a8969..975bdef39a5 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirImportResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirImportResolveTransformer.kt @@ -33,6 +33,7 @@ class FirImportResolveTransformer() : FirAbstractTreeTransformer(phase } override fun transformFile(file: FirFile, data: Nothing?): CompositeTransformResult { + file.replaceResolvePhase(transformerPhase) session = file.session symbolProvider = FirSymbolProvider.getInstance(file.session) return file.also { it.transformChildren(this, null) }.compose() diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt index 4027b72415b..6dafd9e39fd 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt @@ -26,7 +26,7 @@ class FirStatusResolveTransformer : FirAbstractTreeTransformer { session = file.session - return transformElement(file, data) + return super.transformFile(file, data) } override fun transformDeclarationStatus( diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypesResolution.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypesResolution.kt index e090b3d4f73..3920520980b 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypesResolution.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypesResolution.kt @@ -52,6 +52,8 @@ private class FirApplySupertypesTransformer( } override fun transformFile(file: FirFile, data: Nothing?): CompositeTransformResult { + file.replaceResolvePhase(FirResolvePhase.SUPER_TYPES) + return (file.transformChildren(this, null) as FirFile).compose() } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirTypeResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirTypeResolveTransformer.kt index 51d6f1881d8..8eae8830243 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirTypeResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirTypeResolveTransformer.kt @@ -30,7 +30,7 @@ class FirTypeResolveTransformer : FirAbstractTreeTransformerWithSuperTypes( return withScopeCleanup { towerScope.addImportingScopes(file, session, scopeSession) typeResolverTransformer = FirSpecificTypeResolverTransformer(towerScope, session) - transformElement(file, data) + super.transformFile(file, data) } } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirBodyResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirBodyResolveTransformer.kt index 084ce18a3e8..ac4c9fe9c0a 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirBodyResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirBodyResolveTransformer.kt @@ -41,8 +41,7 @@ open class FirBodyResolveTransformer( components.file = file return withScopeCleanup(components.topLevelScopes) { components.topLevelScopes.addImportingScopes(file, session, components.scopeSession) - @Suppress("UNCHECKED_CAST") - super.transformFile(file, data) as CompositeTransformResult + super.transformFile(file, data) } }