From 7796ef43dbcbb683166e12b2f1b34e60de4b8706 Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Tue, 13 Feb 2024 14:33:29 +0100 Subject: [PATCH] [LL FIR] FileStructure: resolve FirFile to body phase as all other elements This is the correct behavior as we have to resolve to body phase to build CFG and run diagnostics collector correctly ^KT-65780 Fixed --- .../analysis/low/level/api/fir/file/structure/FileStructure.kt | 3 +-- .../testData/getOrBuildFir/annotations/fileAnnotation.txt | 2 +- .../getOrBuildFir/annotations/fileAnnotationScript.txt | 2 +- .../testData/getOrBuildFir/annotations/useSite/file.txt | 2 +- .../testData/getOrBuildFir/annotations/useSite/fileScript.txt | 2 +- .../testData/getOrBuildFir/inImport/firstImportNamePart.txt | 2 +- .../getOrBuildFir/inImport/firstImportNamePartScript.txt | 2 +- .../testData/getOrBuildFir/inImport/middleImportNamePart.txt | 2 +- .../getOrBuildFir/inImport/middleImportNamePartScript.txt | 2 +- .../getOrBuildFir/inImport/qualifiedImportNamePart.txt | 2 +- .../getOrBuildFir/inImport/qualifiedImportNamePartScript.txt | 2 +- .../testData/getOrBuildFir/inImport/wholeImportDirective.txt | 2 +- .../getOrBuildFir/inImport/wholeImportDirectiveScript.txt | 2 +- .../testData/getOrBuildFir/inImport/wholeImportName.txt | 2 +- .../testData/getOrBuildFir/inImport/wholeImportNameScript.txt | 2 +- .../testData/getOrBuildFir/inPackage/firstPackageNamePart.txt | 2 +- .../getOrBuildFir/inPackage/firstPackageNamePartScript.txt | 2 +- .../testData/getOrBuildFir/inPackage/middlePackageNamePart.txt | 2 +- .../getOrBuildFir/inPackage/middlePackageNamePartScript.txt | 2 +- .../getOrBuildFir/inPackage/qualifiedPackageNamePart.txt | 2 +- .../getOrBuildFir/inPackage/qualifiedPackageNamePartScript.txt | 2 +- .../testData/getOrBuildFir/inPackage/wholePackageDirective.txt | 2 +- .../getOrBuildFir/inPackage/wholePackageDirectiveScript.txt | 2 +- .../testData/getOrBuildFir/inPackage/wholePackageName.txt | 2 +- .../getOrBuildFir/inPackage/wholePackageNameScript.txt | 2 +- .../getOrBuildFir/wholeDeclaration/fileAnnotationList.txt | 2 +- .../wholeDeclaration/fileAnnotationListScript.txt | 2 +- 27 files changed, 27 insertions(+), 28 deletions(-) diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/file/structure/FileStructure.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/file/structure/FileStructure.kt index 3b6096172b8..fd499e5b1e0 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/file/structure/FileStructure.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/file/structure/FileStructure.kt @@ -199,8 +199,7 @@ internal class FileStructure private constructor( } container is KtFile -> { val firFile = moduleComponents.firFileBuilder.buildRawFirFileWithCaching(ktFile) - firFile.lazyResolveToPhase(FirResolvePhase.IMPORTS) - firFile.annotationsContainer?.lazyResolveToPhase(FirResolvePhase.BODY_RESOLVE) + firFile.lazyResolveToPhase(FirResolvePhase.BODY_RESOLVE) RootStructureElement(firFile, moduleComponents) } diff --git a/analysis/low-level-api-fir/testData/getOrBuildFir/annotations/fileAnnotation.txt b/analysis/low-level-api-fir/testData/getOrBuildFir/annotations/fileAnnotation.txt index 1b15fc24b12..387054528f4 100644 --- a/analysis/low-level-api-fir/testData/getOrBuildFir/annotations/fileAnnotation.txt +++ b/analysis/low-level-api-fir/testData/getOrBuildFir/annotations/fileAnnotation.txt @@ -6,6 +6,6 @@ FIR element rendered: @FILE:R|kotlin/Suppress|[Types](names = vararg(String())) FIR FILE: -FILE: [ResolvedTo(IMPORTS)] fileAnnotation.kt +FILE: [ResolvedTo(BODY_RESOLVE)] fileAnnotation.kt @FILE:R|kotlin/Suppress|[Types](names = vararg(String())) [ResolvedTo(BODY_RESOLVE)] annotations container diff --git a/analysis/low-level-api-fir/testData/getOrBuildFir/annotations/fileAnnotationScript.txt b/analysis/low-level-api-fir/testData/getOrBuildFir/annotations/fileAnnotationScript.txt index 5e176cb4e09..354cc6f2d7c 100644 --- a/analysis/low-level-api-fir/testData/getOrBuildFir/annotations/fileAnnotationScript.txt +++ b/analysis/low-level-api-fir/testData/getOrBuildFir/annotations/fileAnnotationScript.txt @@ -6,7 +6,7 @@ FIR element rendered: @FILE:R|kotlin/Suppress|[Types](names = vararg(String())) FIR FILE: -FILE: [ResolvedTo(IMPORTS)] fileAnnotationScript.kts +FILE: [ResolvedTo(BODY_RESOLVE)] fileAnnotationScript.kts @FILE:R|kotlin/Suppress|[Types](names = vararg(String())) [ResolvedTo(BODY_RESOLVE)] annotations container context(