From 83d0dbe436aa18f8506f514275a43aa7be30b7f2 Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Wed, 5 Jul 2023 13:09:33 +0200 Subject: [PATCH] [LL FIR] FileStructure: reanalyze declarations without name as well ^KT-60132 Fixed ^KT-59687 --- .../fir/file/structure/FileElementFactory.kt | 10 ++---- .../testdata/fileStructure/withoutName.kt | 14 ++++---- ...emberFunWithBodyWithoutTypeWithoutName.txt | 8 ++++- ...emberFunWithoutBodyWithTypeWithoutName.txt | 8 ++++- ...thContractWithoutName.out_of_src_roots.txt | 33 +++++++++++++++++++ ...rGetterWithBodyWithContractWithoutName.txt | 31 ++++++++++++++++- ...erGetterWithTypeWithoutBodyWithoutName.txt | 10 +++++- ...emberSetterWithTypeWithBodyWithoutName.txt | 12 ++++++- ...erSetterWithTypeWithoutBodyWithoutName.txt | 12 ++++++- ...FunctionWithBodyWithoutTypeWithoutName.txt | 8 ++++- ...FunctionWithoutBodyWithTypeWithoutName.txt | 8 ++++- ...LevelGetterWithTypeWithBodyWithoutName.txt | 14 +++++++- ...elGetterWithTypeWithoutBodyWithoutName.txt | 10 +++++- ...lPropertyWithTypeInDelegateWithoutName.txt | 19 ++++++++++- ...opertyWithTypeInInititalzerWithoutName.txt | 8 ++++- ...LevelSetterWithTypeWithBodyWithoutName.txt | 12 ++++++- ...elSetterWithTypeWithoutBodyWithoutName.txt | 12 ++++++- 17 files changed, 201 insertions(+), 28 deletions(-) create mode 100644 analysis/low-level-api-fir/testdata/inBlockModification/memberGetterWithBodyWithContractWithoutName.out_of_src_roots.txt diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/file/structure/FileElementFactory.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/file/structure/FileElementFactory.kt index 0308964e031..fc46dc90cf1 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/file/structure/FileElementFactory.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/file/structure/FileElementFactory.kt @@ -157,13 +157,9 @@ internal fun KtDeclaration.isReanalyzableContainer(): Boolean = when (this) { else -> error("Unknown declaration type: ${this::class.simpleName}") } -private fun KtNamedFunction.isReanalyzableContainer(): Boolean = name != null && (hasBlockBody() || typeReference != null) +private fun KtNamedFunction.isReanalyzableContainer(): Boolean = hasBlockBody() || typeReference != null -private fun KtPropertyAccessor.isReanalyzableContainer(): Boolean { - val property = property - return property.name != null && (isSetter || hasBlockBody() || property.typeReference != null) -} +private fun KtPropertyAccessor.isReanalyzableContainer(): Boolean = isSetter || hasBlockBody() || property.typeReference != null -private fun KtProperty.isReanalyzableContainer(): Boolean = - name != null && typeReference != null && (isTopLevel || !hasDelegateExpressionOrInitializer()) +private fun KtProperty.isReanalyzableContainer(): Boolean = typeReference != null && (isTopLevel || !hasDelegateExpressionOrInitializer()) diff --git a/analysis/low-level-api-fir/testdata/fileStructure/withoutName.kt b/analysis/low-level-api-fir/testdata/fileStructure/withoutName.kt index 7d2bfc6bfa4..9e2d18f5950 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/withoutName.kt +++ b/analysis/low-level-api-fir/testdata/fileStructure/withoutName.kt @@ -1,27 +1,27 @@ -fun (a: Int = 1): String = "str"/* NonReanalyzableNonClassDeclarationStructureElement */ +fun (a: Int = 1): String = "str"/* ReanalyzableFunctionStructureElement */ -fun () {/* NonReanalyzableNonClassDeclarationStructureElement */ +fun () {/* ReanalyzableFunctionStructureElement */ } -val : Int = 4/* NonReanalyzableNonClassDeclarationStructureElement */ +val : Int = 4/* ReanalyzablePropertyStructureElement */ -var : Int/* NonReanalyzableNonClassDeclarationStructureElement */ +var : Int/* ReanalyzablePropertyStructureElement */ get() = 4 set(value) { } class A {/* NonReanalyzableClassDeclarationStructureElement */ - fun (a: Int = 1): String = "str"/* NonReanalyzableNonClassDeclarationStructureElement */ + fun (a: Int = 1): String = "str"/* ReanalyzableFunctionStructureElement */ - fun () {/* NonReanalyzableNonClassDeclarationStructureElement */ + fun () {/* ReanalyzableFunctionStructureElement */ } val : Int = 4/* NonReanalyzableNonClassDeclarationStructureElement */ - var : Boolean/* NonReanalyzableNonClassDeclarationStructureElement */ + var : Boolean/* ReanalyzablePropertyStructureElement */ get() = true set(value) { diff --git a/analysis/low-level-api-fir/testdata/inBlockModification/memberFunWithBodyWithoutTypeWithoutName.txt b/analysis/low-level-api-fir/testdata/inBlockModification/memberFunWithBodyWithoutTypeWithoutName.txt index ace1111236c..c8a4230648b 100644 --- a/analysis/low-level-api-fir/testdata/inBlockModification/memberFunWithBodyWithoutTypeWithoutName.txt +++ b/analysis/low-level-api-fir/testdata/inBlockModification/memberFunWithBodyWithoutTypeWithoutName.txt @@ -1 +1,7 @@ -IN-BLOCK MODIFICATION IS NOT APPLICABLE FOR THIS KtNamedFunction DECLARATION +BEFORE MODIFICATION: +public final [ResolvedTo(BODY_RESOLVE)] fun (): R|kotlin/Unit| { + [ResolvedTo(BODY_RESOLVE)] lval a: R|kotlin/Int| = R|/doSmth|(String(str)) +} + +AFTER MODIFICATION: +public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] fun (): R|kotlin/Unit| { LAZY_BLOCK } diff --git a/analysis/low-level-api-fir/testdata/inBlockModification/memberFunWithoutBodyWithTypeWithoutName.txt b/analysis/low-level-api-fir/testdata/inBlockModification/memberFunWithoutBodyWithTypeWithoutName.txt index ace1111236c..c6237db38ab 100644 --- a/analysis/low-level-api-fir/testdata/inBlockModification/memberFunWithoutBodyWithTypeWithoutName.txt +++ b/analysis/low-level-api-fir/testdata/inBlockModification/memberFunWithoutBodyWithTypeWithoutName.txt @@ -1 +1,7 @@ -IN-BLOCK MODIFICATION IS NOT APPLICABLE FOR THIS KtNamedFunction DECLARATION +BEFORE MODIFICATION: +public final [ResolvedTo(BODY_RESOLVE)] fun (): R|kotlin/Int| { + ^ R|/doSmth|(String(str)) +} + +AFTER MODIFICATION: +public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] fun (): R|kotlin/Int| { LAZY_BLOCK } diff --git a/analysis/low-level-api-fir/testdata/inBlockModification/memberGetterWithBodyWithContractWithoutName.out_of_src_roots.txt b/analysis/low-level-api-fir/testdata/inBlockModification/memberGetterWithBodyWithContractWithoutName.out_of_src_roots.txt new file mode 100644 index 00000000000..6246d2acb3e --- /dev/null +++ b/analysis/low-level-api-fir/testdata/inBlockModification/memberGetterWithBodyWithContractWithoutName.out_of_src_roots.txt @@ -0,0 +1,33 @@ +BEFORE MODIFICATION: +public final [ResolvedTo(BODY_RESOLVE)] var : R|kotlin/Int| + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] get(): R|kotlin/Int| + [Contract description] < + #( = [ResolvedTo(RAW_FIR)] contract@fun (): { + ^ # + } + ) + > + { + { + contract#( = [ResolvedTo(BODY_RESOLVE)] contract@fun .(): { + req# + } + ) + } + + local final [ResolvedTo(BODY_RESOLVE)] fun doSmth([ResolvedTo(BODY_RESOLVE)] i: R|kotlin/String|): R|kotlin/Int| { + ^doSmth Int(4) + } + + ^ R|/doSmth|(String(str)) + } + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] set([ResolvedTo(BODY_RESOLVE)] value: R|kotlin/Int|): R|kotlin/Unit| { + ^ Q|kotlin/Unit| + } + +AFTER MODIFICATION: +public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] var : R|kotlin/Int| + public [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] [ContainingClassKey=A] get(): R|kotlin/Int| { LAZY_BLOCK } + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] set([ResolvedTo(BODY_RESOLVE)] value: R|kotlin/Int|): R|kotlin/Unit| { + ^ Q|kotlin/Unit| + } diff --git a/analysis/low-level-api-fir/testdata/inBlockModification/memberGetterWithBodyWithContractWithoutName.txt b/analysis/low-level-api-fir/testdata/inBlockModification/memberGetterWithBodyWithContractWithoutName.txt index 1bd196cec5a..17adf14c7d5 100644 --- a/analysis/low-level-api-fir/testdata/inBlockModification/memberGetterWithBodyWithContractWithoutName.txt +++ b/analysis/low-level-api-fir/testdata/inBlockModification/memberGetterWithBodyWithContractWithoutName.txt @@ -1 +1,30 @@ -IN-BLOCK MODIFICATION IS NOT APPLICABLE FOR THIS KtPropertyAccessor DECLARATION +BEFORE MODIFICATION: +public final [ResolvedTo(BODY_RESOLVE)] var : R|kotlin/Int| + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] get(): R|kotlin/Int| + [R|Contract description] + < + > + { + { + R|kotlin/contracts/contract|( = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=@ExtensionFunctionType kotlin/Function1] contract@fun R|kotlin/contracts/ContractBuilder|.(): R|kotlin/Unit| { + # + } + ) + } + + local final [ResolvedTo(BODY_RESOLVE)] fun doSmth([ResolvedTo(BODY_RESOLVE)] i: R|kotlin/String|): R|kotlin/Int| { + ^doSmth Int(4) + } + + ^ R|/doSmth|(String(str)) + } + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] set([ResolvedTo(BODY_RESOLVE)] value: R|kotlin/Int|): R|kotlin/Unit| { + ^ Q|kotlin/Unit| + } + +AFTER MODIFICATION: +public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] var : R|kotlin/Int| + public [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] [ContainingClassKey=A] get(): R|kotlin/Int| { LAZY_BLOCK } + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] set([ResolvedTo(BODY_RESOLVE)] value: R|kotlin/Int|): R|kotlin/Unit| { + ^ Q|kotlin/Unit| + } diff --git a/analysis/low-level-api-fir/testdata/inBlockModification/memberGetterWithTypeWithoutBodyWithoutName.txt b/analysis/low-level-api-fir/testdata/inBlockModification/memberGetterWithTypeWithoutBodyWithoutName.txt index 1bd196cec5a..64df841f4b8 100644 --- a/analysis/low-level-api-fir/testdata/inBlockModification/memberGetterWithTypeWithoutBodyWithoutName.txt +++ b/analysis/low-level-api-fir/testdata/inBlockModification/memberGetterWithTypeWithoutBodyWithoutName.txt @@ -1 +1,9 @@ -IN-BLOCK MODIFICATION IS NOT APPLICABLE FOR THIS KtPropertyAccessor DECLARATION +BEFORE MODIFICATION: +public final [ResolvedTo(BODY_RESOLVE)] val : R|kotlin/Int| + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] get(): R|kotlin/Int| { + ^ R|/doSmth|(String(str)) + } + +AFTER MODIFICATION: +public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] val : R|kotlin/Int| + public [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] [ContainingClassKey=A] get(): R|kotlin/Int| { LAZY_BLOCK } diff --git a/analysis/low-level-api-fir/testdata/inBlockModification/memberSetterWithTypeWithBodyWithoutName.txt b/analysis/low-level-api-fir/testdata/inBlockModification/memberSetterWithTypeWithBodyWithoutName.txt index 1bd196cec5a..4c323b74e7a 100644 --- a/analysis/low-level-api-fir/testdata/inBlockModification/memberSetterWithTypeWithBodyWithoutName.txt +++ b/analysis/low-level-api-fir/testdata/inBlockModification/memberSetterWithTypeWithBodyWithoutName.txt @@ -1 +1,11 @@ -IN-BLOCK MODIFICATION IS NOT APPLICABLE FOR THIS KtPropertyAccessor DECLARATION +BEFORE MODIFICATION: +public final [ResolvedTo(BODY_RESOLVE)] var : R|kotlin/Int| = Int(1) + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] get(): R|kotlin/Int| + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] set([ResolvedTo(BODY_RESOLVE)] value: R|kotlin/Int|): R|kotlin/Unit| { + R|/doSmth#|(R|/value|) + } + +AFTER MODIFICATION: +public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] var : R|kotlin/Int| = Int(1) + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] get(): R|kotlin/Int| + public [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] [ContainingClassKey=A] set([ResolvedTo(BODY_RESOLVE)] value: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK } diff --git a/analysis/low-level-api-fir/testdata/inBlockModification/memberSetterWithTypeWithoutBodyWithoutName.txt b/analysis/low-level-api-fir/testdata/inBlockModification/memberSetterWithTypeWithoutBodyWithoutName.txt index 1bd196cec5a..ba617b72667 100644 --- a/analysis/low-level-api-fir/testdata/inBlockModification/memberSetterWithTypeWithoutBodyWithoutName.txt +++ b/analysis/low-level-api-fir/testdata/inBlockModification/memberSetterWithTypeWithoutBodyWithoutName.txt @@ -1 +1,11 @@ -IN-BLOCK MODIFICATION IS NOT APPLICABLE FOR THIS KtPropertyAccessor DECLARATION +BEFORE MODIFICATION: +public final [ResolvedTo(BODY_RESOLVE)] var : R|kotlin/Int| = Int(1) + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] get(): R|kotlin/Int| + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] set([ResolvedTo(BODY_RESOLVE)] value: R|kotlin/Int|): R|kotlin/Unit| { + ^ R|/doSmth#|(R|/value|) + } + +AFTER MODIFICATION: +public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] var : R|kotlin/Int| = Int(1) + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] get(): R|kotlin/Int| + public [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] [ContainingClassKey=A] set([ResolvedTo(BODY_RESOLVE)] value: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK } diff --git a/analysis/low-level-api-fir/testdata/inBlockModification/topLevelFunctionWithBodyWithoutTypeWithoutName.txt b/analysis/low-level-api-fir/testdata/inBlockModification/topLevelFunctionWithBodyWithoutTypeWithoutName.txt index ace1111236c..c8a4230648b 100644 --- a/analysis/low-level-api-fir/testdata/inBlockModification/topLevelFunctionWithBodyWithoutTypeWithoutName.txt +++ b/analysis/low-level-api-fir/testdata/inBlockModification/topLevelFunctionWithBodyWithoutTypeWithoutName.txt @@ -1 +1,7 @@ -IN-BLOCK MODIFICATION IS NOT APPLICABLE FOR THIS KtNamedFunction DECLARATION +BEFORE MODIFICATION: +public final [ResolvedTo(BODY_RESOLVE)] fun (): R|kotlin/Unit| { + [ResolvedTo(BODY_RESOLVE)] lval a: R|kotlin/Int| = R|/doSmth|(String(str)) +} + +AFTER MODIFICATION: +public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] fun (): R|kotlin/Unit| { LAZY_BLOCK } diff --git a/analysis/low-level-api-fir/testdata/inBlockModification/topLevelFunctionWithoutBodyWithTypeWithoutName.txt b/analysis/low-level-api-fir/testdata/inBlockModification/topLevelFunctionWithoutBodyWithTypeWithoutName.txt index ace1111236c..c6237db38ab 100644 --- a/analysis/low-level-api-fir/testdata/inBlockModification/topLevelFunctionWithoutBodyWithTypeWithoutName.txt +++ b/analysis/low-level-api-fir/testdata/inBlockModification/topLevelFunctionWithoutBodyWithTypeWithoutName.txt @@ -1 +1,7 @@ -IN-BLOCK MODIFICATION IS NOT APPLICABLE FOR THIS KtNamedFunction DECLARATION +BEFORE MODIFICATION: +public final [ResolvedTo(BODY_RESOLVE)] fun (): R|kotlin/Int| { + ^ R|/doSmth|(String(str)) +} + +AFTER MODIFICATION: +public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] fun (): R|kotlin/Int| { LAZY_BLOCK } diff --git a/analysis/low-level-api-fir/testdata/inBlockModification/topLevelGetterWithTypeWithBodyWithoutName.txt b/analysis/low-level-api-fir/testdata/inBlockModification/topLevelGetterWithTypeWithBodyWithoutName.txt index 1bd196cec5a..b6971319492 100644 --- a/analysis/low-level-api-fir/testdata/inBlockModification/topLevelGetterWithTypeWithBodyWithoutName.txt +++ b/analysis/low-level-api-fir/testdata/inBlockModification/topLevelGetterWithTypeWithBodyWithoutName.txt @@ -1 +1,13 @@ -IN-BLOCK MODIFICATION IS NOT APPLICABLE FOR THIS KtPropertyAccessor DECLARATION +BEFORE MODIFICATION: +public final [ResolvedTo(BODY_RESOLVE)] val : R|kotlin/Int| + public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int| { + local final [ResolvedTo(BODY_RESOLVE)] fun doSmth([ResolvedTo(BODY_RESOLVE)] i: R|kotlin/String|): R|kotlin/Int| { + ^doSmth Int(4) + } + + ^ R|/doSmth|(String(str)) + } + +AFTER MODIFICATION: +public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] val : R|kotlin/Int| + public [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] get(): R|kotlin/Int| { LAZY_BLOCK } diff --git a/analysis/low-level-api-fir/testdata/inBlockModification/topLevelGetterWithTypeWithoutBodyWithoutName.txt b/analysis/low-level-api-fir/testdata/inBlockModification/topLevelGetterWithTypeWithoutBodyWithoutName.txt index 1bd196cec5a..f44024e638d 100644 --- a/analysis/low-level-api-fir/testdata/inBlockModification/topLevelGetterWithTypeWithoutBodyWithoutName.txt +++ b/analysis/low-level-api-fir/testdata/inBlockModification/topLevelGetterWithTypeWithoutBodyWithoutName.txt @@ -1 +1,9 @@ -IN-BLOCK MODIFICATION IS NOT APPLICABLE FOR THIS KtPropertyAccessor DECLARATION +BEFORE MODIFICATION: +public final [ResolvedTo(BODY_RESOLVE)] val : R|kotlin/Int| + public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int| { + ^ R|/doSmth|(String(str)) + } + +AFTER MODIFICATION: +public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] val : R|kotlin/Int| + public [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] get(): R|kotlin/Int| { LAZY_BLOCK } diff --git a/analysis/low-level-api-fir/testdata/inBlockModification/topLevelPropertyWithTypeInDelegateWithoutName.txt b/analysis/low-level-api-fir/testdata/inBlockModification/topLevelPropertyWithTypeInDelegateWithoutName.txt index b94e2395f70..68083d0f82f 100644 --- a/analysis/low-level-api-fir/testdata/inBlockModification/topLevelPropertyWithTypeInDelegateWithoutName.txt +++ b/analysis/low-level-api-fir/testdata/inBlockModification/topLevelPropertyWithTypeInDelegateWithoutName.txt @@ -1 +1,18 @@ -IN-BLOCK MODIFICATION IS NOT APPLICABLE FOR THIS KtProperty DECLARATION +BEFORE MODIFICATION: +public final [ResolvedTo(BODY_RESOLVE)] val : R|kotlin/Int|by #( = [ResolvedTo(RAW_FIR)] lazy@fun (): R|kotlin/Int| { + local final [ResolvedTo(RAW_FIR)] fun doSmth([ResolvedTo(RAW_FIR)] i: R|kotlin/String|): R|kotlin/Int| { + ^doSmth Int(4) + } + + ^ R|/doSmth|(String(str)) +} +) + public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int| { + ^ D|/|.#(Null(null), ::R|/|) + } + +AFTER MODIFICATION: +public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] val : R|kotlin/Int|by LAZY_EXPRESSION + public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int| { + ^ D|/|.#(Null(null), ::R|/|) + } diff --git a/analysis/low-level-api-fir/testdata/inBlockModification/topLevelPropertyWithTypeInInititalzerWithoutName.txt b/analysis/low-level-api-fir/testdata/inBlockModification/topLevelPropertyWithTypeInInititalzerWithoutName.txt index b94e2395f70..f44f8ec7cee 100644 --- a/analysis/low-level-api-fir/testdata/inBlockModification/topLevelPropertyWithTypeInInititalzerWithoutName.txt +++ b/analysis/low-level-api-fir/testdata/inBlockModification/topLevelPropertyWithTypeInInititalzerWithoutName.txt @@ -1 +1,7 @@ -IN-BLOCK MODIFICATION IS NOT APPLICABLE FOR THIS KtProperty DECLARATION +BEFORE MODIFICATION: +public final [ResolvedTo(BODY_RESOLVE)] val : R|kotlin/Int| = R|/doSmth|(String(str)) + public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int| + +AFTER MODIFICATION: +public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] val : R|kotlin/Int| = LAZY_EXPRESSION + public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int| diff --git a/analysis/low-level-api-fir/testdata/inBlockModification/topLevelSetterWithTypeWithBodyWithoutName.txt b/analysis/low-level-api-fir/testdata/inBlockModification/topLevelSetterWithTypeWithBodyWithoutName.txt index 1bd196cec5a..9c40311eda1 100644 --- a/analysis/low-level-api-fir/testdata/inBlockModification/topLevelSetterWithTypeWithBodyWithoutName.txt +++ b/analysis/low-level-api-fir/testdata/inBlockModification/topLevelSetterWithTypeWithBodyWithoutName.txt @@ -1 +1,11 @@ -IN-BLOCK MODIFICATION IS NOT APPLICABLE FOR THIS KtPropertyAccessor DECLARATION +BEFORE MODIFICATION: +public final [ResolvedTo(BODY_RESOLVE)] var : R|kotlin/Int| = Int(1) + public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int| + public [ResolvedTo(BODY_RESOLVE)] set([ResolvedTo(BODY_RESOLVE)] value: R|kotlin/Int|): R|kotlin/Unit| { + R|/doSmth#|(R|/value|) + } + +AFTER MODIFICATION: +public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] var : R|kotlin/Int| = Int(1) + public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int| + public [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] set([ResolvedTo(BODY_RESOLVE)] value: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK } diff --git a/analysis/low-level-api-fir/testdata/inBlockModification/topLevelSetterWithTypeWithoutBodyWithoutName.txt b/analysis/low-level-api-fir/testdata/inBlockModification/topLevelSetterWithTypeWithoutBodyWithoutName.txt index 1bd196cec5a..b00f0f26472 100644 --- a/analysis/low-level-api-fir/testdata/inBlockModification/topLevelSetterWithTypeWithoutBodyWithoutName.txt +++ b/analysis/low-level-api-fir/testdata/inBlockModification/topLevelSetterWithTypeWithoutBodyWithoutName.txt @@ -1 +1,11 @@ -IN-BLOCK MODIFICATION IS NOT APPLICABLE FOR THIS KtPropertyAccessor DECLARATION +BEFORE MODIFICATION: +public final [ResolvedTo(BODY_RESOLVE)] var : R|kotlin/Int| = Int(1) + public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int| + public [ResolvedTo(BODY_RESOLVE)] set([ResolvedTo(BODY_RESOLVE)] value: R|kotlin/Int|): R|kotlin/Unit| { + ^ R|/doSmth#|(R|/value|) + } + +AFTER MODIFICATION: +public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] var : R|kotlin/Int| = Int(1) + public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int| + public [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] set([ResolvedTo(BODY_RESOLVE)] value: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK }