From 9ff3871a8b8a9739cfa6d927d2c6a54a3edd0a28 Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Mon, 18 Sep 2023 16:57:39 +0200 Subject: [PATCH] [LL FIR] LLFirPhaseUpdater: add missing update for code fragment block --- .../level/api/fir/lazy/resolve/LLFirPhaseUpdater.kt | 2 ++ .../inBlockModification/codeFragments/localClass.txt | 10 +++++----- .../codeFragments/localFunction.txt | 4 ++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/LLFirPhaseUpdater.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/LLFirPhaseUpdater.kt index 95a945fc48c..280b679b91d 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/LLFirPhaseUpdater.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/LLFirPhaseUpdater.kt @@ -42,6 +42,8 @@ internal object LLFirPhaseUpdater { statement.accept(PhaseUpdatingTransformer, newPhase) } } + + is FirCodeFragment -> target.block.accept(PhaseUpdatingTransformer, newPhase) } } } diff --git a/analysis/low-level-api-fir/testData/inBlockModification/codeFragments/localClass.txt b/analysis/low-level-api-fir/testData/inBlockModification/codeFragments/localClass.txt index 23e0b8e5bfe..da67d274ace 100644 --- a/analysis/low-level-api-fir/testData/inBlockModification/codeFragments/localClass.txt +++ b/analysis/low-level-api-fir/testData/inBlockModification/codeFragments/localClass.txt @@ -1,14 +1,14 @@ BEFORE MODIFICATION: CODE FRAGMENT: { - local final [ResolvedTo(RAW_FIR)] class Foo : R|kotlin/Any| { - public [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/x] x: R|kotlin/Int|): R|/Foo| { + local final [ResolvedTo(BODY_RESOLVE)] class Foo : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Foo] constructor([ResolvedTo(BODY_RESOLVE)] [CorrespondingProperty=/x] x: R|kotlin/Int|): R|/Foo| { super() } - public final [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val x: R|kotlin/Int| = R|/x| - public [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo] get(): R|kotlin/Int| + public final [ResolvedTo(BODY_RESOLVE)] [IsFromPrimaryConstructor=true] val x: R|kotlin/Int| = R|/x| + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Foo] get(): R|kotlin/Int| - public final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { + public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|kotlin/Unit| { this@R|/Foo|.R|/foo|() } diff --git a/analysis/low-level-api-fir/testData/inBlockModification/codeFragments/localFunction.txt b/analysis/low-level-api-fir/testData/inBlockModification/codeFragments/localFunction.txt index 9d891c1ba01..9519ae223ab 100644 --- a/analysis/low-level-api-fir/testData/inBlockModification/codeFragments/localFunction.txt +++ b/analysis/low-level-api-fir/testData/inBlockModification/codeFragments/localFunction.txt @@ -1,9 +1,9 @@ BEFORE MODIFICATION: CODE FRAGMENT: { - local final [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] a: R|kotlin/Int|, [ResolvedTo(RAW_FIR)] b: R|kotlin/String|): R|kotlin/Unit| { + local final [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] a: R|kotlin/Int|, [ResolvedTo(BODY_RESOLVE)] b: R|kotlin/String|): R|kotlin/Unit| { } - local final [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit| { + local final [ResolvedTo(BODY_RESOLVE)] fun bar(): R|kotlin/Unit| { R|/foo|(Int(1), String(foo)) }