From 8c599a84af32e49b81b3abbcbb20083dac4c2acf Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Wed, 22 Mar 2023 15:31:04 +0100 Subject: [PATCH] [FIR][renderer] add phase renderer for file and file annotations container ^KT-56543 --- .../low/level/api/fir/util/exceptionUtils.kt | 4 +- .../annonymousClass.fir.txt | 3 +- .../innerDeclarationsResolve/class.fir.txt | 3 +- .../class.out_of_src_roots.fir.txt | 3 +- .../constructorParameter.fir.txt | 3 +- .../innerDeclarationsResolve/enum.fir.txt | 3 +- .../funWithoutTypes.fir.txt | 3 +- .../functionValueParameter.fir.txt | 3 +- .../functionWithImplicitType.fir.txt | 3 +- ...nWithImplicitType.out_of_src_roots.fir.txt | 3 +- .../lambdaInImplicitFunBody.fir.txt | 3 +- .../lambdaInImplicitPropertyBody.fir.txt | 3 +- .../lambdasInWithBodyFunction.fir.txt | 3 +- .../localClass.fir.txt | 3 +- .../propertyWithGetterAndSetter.fir.txt | 3 +- .../propertyWithSetter.fir.txt | 3 +- .../lazyResolve/annotationParameters.txt | 42 ++++++++++++------- .../testdata/lazyResolve/annotations.txt | 42 ++++++++++++------- .../testdata/lazyResolve/classMembers.txt | 42 ++++++++++++------- .../classes/classWithTypeParameters.txt | 42 ++++++++++++------- .../classes/functionInValueClass.txt | 42 ++++++++++++------- .../nestedClassWithPropertiesOverrides.txt | 42 ++++++++++++------- .../testdata/lazyResolve/delegates.txt | 42 ++++++++++++------- .../testdata/lazyResolve/enumEntry.txt | 42 ++++++++++++------- .../anonymousObjectInInvalidPosition.txt | 42 ++++++++++++------- .../lazyResolve/functionWithParameter.txt | 42 ++++++++++++------- .../functionCallWithGenericResult.txt | 42 ++++++++++++------- .../functionWithGenericExpectedTypeInside.txt | 42 ++++++++++++------- .../functions/functionWithTypeParameters.txt | 42 ++++++++++++------- .../lazyResolve/lambdaAsSAMInterface.txt | 42 ++++++++++++------- .../lazyResolve/parameterOfNonLocalSetter.txt | 42 ++++++++++++------- .../properties/propertyWithTypeParameters.txt | 42 ++++++++++++------- .../lazyResolve/propertyWithGetter.txt | 42 ++++++++++++------- .../propertyWithGetterAndSetter.txt | 42 ++++++++++++------- .../lazyResolve/propertyWithInitializer.txt | 42 ++++++++++++------- .../lazyResolve/secondaryConstructor.txt | 42 ++++++++++++------- .../testdata/lazyResolve/superTypes.txt | 42 ++++++++++++------- .../testdata/lazyResolve/superTypesLoop.txt | 42 ++++++++++++------- .../lazyResolve/topLevelFunctions.txt | 42 ++++++++++++------- ...tionsWithExpressionBodyAndExplicitType.txt | 42 ++++++++++++------- .../topLevelFunctionsWithImplicitType.txt | 42 ++++++++++++------- .../typeAliasWithTypeParameters.txt | 42 ++++++++++++------- .../lazyResolve/typeParameterBounds.txt | 42 ++++++++++++------- .../typeParameterOfNonLocalFunction.txt | 42 ++++++++++++------- .../typeParameterOfTopFunction.txt | 42 ++++++++++++------- .../lazyResolve/typeParameterOfTopSetter.txt | 42 ++++++++++++------- .../AbstractFirLazyDeclarationResolveTest.kt | 3 ++ .../FirFileAnnotationsContainerRenderer.kt | 19 +++++++++ .../kotlin/fir/renderer/FirRenderer.kt | 22 ++++++++-- .../fir/renderer/FirRendererComponents.kt | 1 + .../fir/renderer/FirResolvePhaseRenderer.kt | 6 +-- 51 files changed, 918 insertions(+), 442 deletions(-) create mode 100644 compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirFileAnnotationsContainerRenderer.kt diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/util/exceptionUtils.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/util/exceptionUtils.kt index 5a6bdf6d817..f03fcb5cfa1 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/util/exceptionUtils.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/util/exceptionUtils.kt @@ -17,6 +17,7 @@ import org.jetbrains.kotlin.fir.FirElementWithResolvePhase import org.jetbrains.kotlin.fir.psi import org.jetbrains.kotlin.fir.renderer.ConeTypeRendererForDebugging import org.jetbrains.kotlin.fir.renderer.FirDeclarationRendererWithAttributes +import org.jetbrains.kotlin.fir.renderer.FirFileAnnotationsContainerRenderer import org.jetbrains.kotlin.fir.renderer.FirRenderer import org.jetbrains.kotlin.fir.renderer.FirResolvePhaseRenderer import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol @@ -27,7 +28,8 @@ fun ExceptionAttachmentBuilder.withFirEntry(name: String, fir: FirElement) { withEntry(name, fir) { FirRenderer( resolvePhaseRenderer = FirResolvePhaseRenderer(), - declarationRenderer = FirDeclarationRendererWithAttributes() + declarationRenderer = FirDeclarationRendererWithAttributes(), + fileAnnotationsContainerRenderer = FirFileAnnotationsContainerRenderer(), ).renderElementAsString(it) } withEntry("${name}FirSourceElementKind", fir.source?.kind?.let { it::class.simpleName }) diff --git a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/annonymousClass.fir.txt b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/annonymousClass.fir.txt index aa49d47005b..7d5e6353430 100644 --- a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/annonymousClass.fir.txt +++ b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/annonymousClass.fir.txt @@ -1,4 +1,5 @@ -FILE: annonymousClass.kt +FILE: [IMPORTS] annonymousClass.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] fun x(): R|kotlin/Unit| { [BODY_RESOLVE] lval x: R|| = object : R|kotlin/Any| { private [BODY_RESOLVE] constructor(): R|| { diff --git a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/class.fir.txt b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/class.fir.txt index cf18a38621a..ad54cc5ca43 100644 --- a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/class.fir.txt +++ b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/class.fir.txt @@ -1,4 +1,5 @@ -FILE: class.kt +FILE: [IMPORTS] class.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] class B : R|kotlin/Any| { public [BODY_RESOLVE] constructor(): R|B| { super() diff --git a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/class.out_of_src_roots.fir.txt b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/class.out_of_src_roots.fir.txt index 287f1a26d2e..b5c4f739841 100644 --- a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/class.out_of_src_roots.fir.txt +++ b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/class.out_of_src_roots.fir.txt @@ -1,4 +1,5 @@ -FILE: class.kt +FILE: [IMPORTS] class.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] class B : R|kotlin/Any| { public [BODY_RESOLVE] constructor(): R|B| { super() diff --git a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/constructorParameter.fir.txt b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/constructorParameter.fir.txt index 7f7dc62ac7e..f493b2d62cb 100644 --- a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/constructorParameter.fir.txt +++ b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/constructorParameter.fir.txt @@ -1,4 +1,5 @@ -FILE: constructorParameter.kt +FILE: [IMPORTS] constructorParameter.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] class A : R|kotlin/Any| { public [BODY_RESOLVE] constructor([BODY_RESOLVE] x: R|kotlin/String|): R|A| { super() diff --git a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/enum.fir.txt b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/enum.fir.txt index 76aebf6029f..4691bb7ed18 100644 --- a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/enum.fir.txt +++ b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/enum.fir.txt @@ -1,4 +1,5 @@ -FILE: enum.kt +FILE: [IMPORTS] enum.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] enum class Enum : R|kotlin/Enum| { private [BODY_RESOLVE] constructor([BODY_RESOLVE] x: R|kotlin/Int|): R|Enum| { super|>() diff --git a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/funWithoutTypes.fir.txt b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/funWithoutTypes.fir.txt index a0db93a3615..aa943f6a725 100644 --- a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/funWithoutTypes.fir.txt +++ b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/funWithoutTypes.fir.txt @@ -1,3 +1,4 @@ -FILE: funWithoutTypes.kt +FILE: [IMPORTS] funWithoutTypes.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] fun main(): R|kotlin/Unit| { } diff --git a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/functionValueParameter.fir.txt b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/functionValueParameter.fir.txt index 20370940989..7d4e6211043 100644 --- a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/functionValueParameter.fir.txt +++ b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/functionValueParameter.fir.txt @@ -1,4 +1,5 @@ -FILE: functionValueParameter.kt +FILE: [IMPORTS] functionValueParameter.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] fun bar([BODY_RESOLVE] a: R|kotlin/Int|, [BODY_RESOLVE] b: R|(kotlin/Boolean) -> kotlin/Unit|): R|kotlin/Unit| { } public final [BODY_RESOLVE] class A : R|kotlin/Any| { diff --git a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/functionWithImplicitType.fir.txt b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/functionWithImplicitType.fir.txt index 66e6675e269..237451e6ad9 100644 --- a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/functionWithImplicitType.fir.txt +++ b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/functionWithImplicitType.fir.txt @@ -1,4 +1,5 @@ -FILE: functionWithImplicitType.kt +FILE: [IMPORTS] functionWithImplicitType.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] fun <[BODY_RESOLVE] T> checkSubtype([BODY_RESOLVE] t: R|T|): R|T| { ^checkSubtype R|/t| } diff --git a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/functionWithImplicitType.out_of_src_roots.fir.txt b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/functionWithImplicitType.out_of_src_roots.fir.txt index 68e6841cd57..26d2daa3840 100644 --- a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/functionWithImplicitType.out_of_src_roots.fir.txt +++ b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/functionWithImplicitType.out_of_src_roots.fir.txt @@ -1,4 +1,5 @@ -FILE: functionWithImplicitType.kt +FILE: [IMPORTS] functionWithImplicitType.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] fun <[BODY_RESOLVE] T> checkSubtype([BODY_RESOLVE] t: R|T|): R|T| { ^checkSubtype R|/t| } diff --git a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/lambdaInImplicitFunBody.fir.txt b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/lambdaInImplicitFunBody.fir.txt index cf60a7cca55..08b282e9b54 100644 --- a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/lambdaInImplicitFunBody.fir.txt +++ b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/lambdaInImplicitFunBody.fir.txt @@ -1,4 +1,5 @@ -FILE: lambdaInImplicitFunBody.kt +FILE: [IMPORTS] lambdaInImplicitFunBody.kt + [BODY_RESOLVE] annotations container public final inline [BODY_RESOLVE] fun <[BODY_RESOLVE] T, [BODY_RESOLVE] R> with([BODY_RESOLVE] receiver: R|T|, [BODY_RESOLVE] block: R|T.() -> R|): R|R| { ^with R|/block|.R|SubstitutionOverride|(R|/receiver|) } diff --git a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/lambdaInImplicitPropertyBody.fir.txt b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/lambdaInImplicitPropertyBody.fir.txt index 3b6039db5e3..0f47b65e527 100644 --- a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/lambdaInImplicitPropertyBody.fir.txt +++ b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/lambdaInImplicitPropertyBody.fir.txt @@ -1,4 +1,5 @@ -FILE: lambdaInImplicitPropertyBody.kt +FILE: [IMPORTS] lambdaInImplicitPropertyBody.kt + [BODY_RESOLVE] annotations container public final inline [BODY_RESOLVE] fun <[BODY_RESOLVE] T, [BODY_RESOLVE] R> with([BODY_RESOLVE] receiver: R|T|, [BODY_RESOLVE] block: R|T.() -> R|): R|R| { ^with R|/block|.R|SubstitutionOverride|(R|/receiver|) } diff --git a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/lambdasInWithBodyFunction.fir.txt b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/lambdasInWithBodyFunction.fir.txt index 364ce92fc89..ff99a887f61 100644 --- a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/lambdasInWithBodyFunction.fir.txt +++ b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/lambdasInWithBodyFunction.fir.txt @@ -1,4 +1,5 @@ -FILE: lambdasInWithBodyFunction.kt +FILE: [IMPORTS] lambdasInWithBodyFunction.kt + [BODY_RESOLVE] annotations container public final inline [BODY_RESOLVE] fun <[BODY_RESOLVE] T, [BODY_RESOLVE] R> with([BODY_RESOLVE] receiver: R|T|, [BODY_RESOLVE] block: R|T.() -> R|): R|R| { ^with R|/block|.R|SubstitutionOverride|(R|/receiver|) } diff --git a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/localClass.fir.txt b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/localClass.fir.txt index 35af11c6c6b..9823ea2acba 100644 --- a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/localClass.fir.txt +++ b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/localClass.fir.txt @@ -1,4 +1,5 @@ -FILE: localClass.kt +FILE: [IMPORTS] localClass.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] fun x(): R|kotlin/Unit| { local final [BODY_RESOLVE] class Local : R|kotlin/Any| { public [BODY_RESOLVE] constructor(): R|Local| { diff --git a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/propertyWithGetterAndSetter.fir.txt b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/propertyWithGetterAndSetter.fir.txt index b98a76534df..bec16e13b0a 100644 --- a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/propertyWithGetterAndSetter.fir.txt +++ b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/propertyWithGetterAndSetter.fir.txt @@ -1,4 +1,5 @@ -FILE: propertyWithGetterAndSetter.kt +FILE: [IMPORTS] propertyWithGetterAndSetter.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] var withGetterAndSetter: R|kotlin/Int| = Int(42) public [BODY_RESOLVE] get(): R|kotlin/Int| { ^ F|/withGetterAndSetter| diff --git a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/propertyWithSetter.fir.txt b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/propertyWithSetter.fir.txt index 307bf4ffa0d..58dd2401a2e 100644 --- a/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/propertyWithSetter.fir.txt +++ b/analysis/low-level-api-fir/testdata/innerDeclarationsResolve/propertyWithSetter.fir.txt @@ -1,4 +1,5 @@ -FILE: propertyWithSetter.kt +FILE: [IMPORTS] propertyWithSetter.kt + [BODY_RESOLVE] annotations container public abstract [BODY_RESOLVE] class Foo : R|kotlin/Any| { public [BODY_RESOLVE] constructor(): R|Foo| { super() diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/annotationParameters.txt b/analysis/low-level-api-fir/testdata/lazyResolve/annotationParameters.txt index c4e3d5ed7f1..5e4cb77461a 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/annotationParameters.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/annotationParameters.txt @@ -1,6 +1,7 @@ RAW_FIR: -FILE: annotationParameters.kt +FILE: [RAW_FIR] annotationParameters.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] enum class X : R|kotlin/Enum| { private [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { LAZY_super|> @@ -38,7 +39,8 @@ FILE: annotationParameters.kt } IMPORTS: -FILE: annotationParameters.kt +FILE: [IMPORTS] annotationParameters.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] enum class X : R|kotlin/Enum| { private [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { LAZY_super|> @@ -76,7 +78,8 @@ FILE: annotationParameters.kt } COMPILER_REQUIRED_ANNOTATIONS: -FILE: annotationParameters.kt +FILE: [IMPORTS] annotationParameters.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] enum class X : R|kotlin/Enum| { private [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { LAZY_super|> @@ -114,7 +117,8 @@ FILE: annotationParameters.kt } COMPANION_GENERATION: -FILE: annotationParameters.kt +FILE: [IMPORTS] annotationParameters.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] enum class X : R|kotlin/Enum| { private [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { LAZY_super|> @@ -152,7 +156,8 @@ FILE: annotationParameters.kt } SUPER_TYPES: -FILE: annotationParameters.kt +FILE: [IMPORTS] annotationParameters.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] enum class X : R|kotlin/Enum| { private [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { LAZY_super|> @@ -190,7 +195,8 @@ FILE: annotationParameters.kt } TYPES: -FILE: annotationParameters.kt +FILE: [IMPORTS] annotationParameters.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] enum class X : R|kotlin/Enum| { private [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { LAZY_super|> @@ -228,7 +234,8 @@ FILE: annotationParameters.kt } STATUS: -FILE: annotationParameters.kt +FILE: [IMPORTS] annotationParameters.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] enum class X : R|kotlin/Enum| { private [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { LAZY_super|> @@ -266,7 +273,8 @@ FILE: annotationParameters.kt } EXPECT_ACTUAL_MATCHING: -FILE: annotationParameters.kt +FILE: [IMPORTS] annotationParameters.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] enum class X : R|kotlin/Enum| { private [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { LAZY_super|> @@ -305,7 +313,8 @@ FILE: annotationParameters.kt } ARGUMENTS_OF_ANNOTATIONS: -FILE: annotationParameters.kt +FILE: [IMPORTS] annotationParameters.kt + [RAW_FIR] annotations container public final [STATUS] enum class X : R|kotlin/Enum| { private [STATUS] [ContainingClassKey=X] constructor(): R|X| { LAZY_super|> @@ -344,7 +353,8 @@ FILE: annotationParameters.kt } CONTRACTS: -FILE: annotationParameters.kt +FILE: [IMPORTS] annotationParameters.kt + [RAW_FIR] annotations container public final [STATUS] enum class X : R|kotlin/Enum| { private [STATUS] [ContainingClassKey=X] constructor(): R|X| { LAZY_super|> @@ -383,7 +393,8 @@ FILE: annotationParameters.kt } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: annotationParameters.kt +FILE: [IMPORTS] annotationParameters.kt + [RAW_FIR] annotations container public final [STATUS] enum class X : R|kotlin/Enum| { private [STATUS] [ContainingClassKey=X] constructor(): R|X| { LAZY_super|> @@ -422,7 +433,8 @@ FILE: annotationParameters.kt } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: annotationParameters.kt +FILE: [IMPORTS] annotationParameters.kt + [RAW_FIR] annotations container public final [STATUS] enum class X : R|kotlin/Enum| { private [STATUS] [ContainingClassKey=X] constructor(): R|X| { LAZY_super|> @@ -461,7 +473,8 @@ FILE: annotationParameters.kt } BODY_RESOLVE: -FILE: annotationParameters.kt +FILE: [IMPORTS] annotationParameters.kt + [RAW_FIR] annotations container public final [STATUS] enum class X : R|kotlin/Enum| { private [STATUS] [ContainingClassKey=X] constructor(): R|X| { LAZY_super|> @@ -500,7 +513,8 @@ FILE: annotationParameters.kt } FILE RAW TO BODY: -FILE: annotationParameters.kt +FILE: [IMPORTS] annotationParameters.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] enum class X : R|kotlin/Enum| { private [BODY_RESOLVE] [ContainingClassKey=X] constructor(): R|X| { super|>() diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/annotations.txt b/analysis/low-level-api-fir/testdata/lazyResolve/annotations.txt index 45b91614828..5f53bb77a3b 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/annotations.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/annotations.txt @@ -1,77 +1,91 @@ RAW_FIR: -FILE: annotations.kt +FILE: [RAW_FIR] annotations.kt @FILE:Suppress(LAZY_EXPRESSION) + [RAW_FIR] annotations container @Suppress(LAZY_EXPRESSION) public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } IMPORTS: -FILE: annotations.kt +FILE: [IMPORTS] annotations.kt @FILE:Suppress(LAZY_EXPRESSION) + [RAW_FIR] annotations container @Suppress(LAZY_EXPRESSION) public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } COMPILER_REQUIRED_ANNOTATIONS: -FILE: annotations.kt +FILE: [IMPORTS] annotations.kt @FILE:Suppress(LAZY_EXPRESSION) + [RAW_FIR] annotations container @Suppress(LAZY_EXPRESSION) public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } COMPANION_GENERATION: -FILE: annotations.kt +FILE: [IMPORTS] annotations.kt @FILE:Suppress(LAZY_EXPRESSION) + [RAW_FIR] annotations container @Suppress(LAZY_EXPRESSION) public? final? [COMPANION_GENERATION] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } SUPER_TYPES: -FILE: annotations.kt +FILE: [IMPORTS] annotations.kt @FILE:Suppress(LAZY_EXPRESSION) + [RAW_FIR] annotations container @Suppress(LAZY_EXPRESSION) public? final? [SUPER_TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } TYPES: -FILE: annotations.kt +FILE: [IMPORTS] annotations.kt @FILE:Suppress(LAZY_EXPRESSION) + [RAW_FIR] annotations container @R|kotlin/Suppress|(LAZY_EXPRESSION) public? final? [TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } STATUS: -FILE: annotations.kt +FILE: [IMPORTS] annotations.kt @FILE:Suppress(LAZY_EXPRESSION) + [RAW_FIR] annotations container @R|kotlin/Suppress|(LAZY_EXPRESSION) public final [STATUS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } EXPECT_ACTUAL_MATCHING: -FILE: annotations.kt +FILE: [IMPORTS] annotations.kt @FILE:Suppress(LAZY_EXPRESSION) + [RAW_FIR] annotations container @R|kotlin/Suppress|(String(2)) public final [EXPECT_ACTUAL_MATCHING] fun resolveMe(): R|kotlin/Unit| { } ARGUMENTS_OF_ANNOTATIONS: -FILE: annotations.kt +FILE: [IMPORTS] annotations.kt @FILE:Suppress(LAZY_EXPRESSION) + [RAW_FIR] annotations container @R|kotlin/Suppress|(String(2)) public final [ARGUMENTS_OF_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { } CONTRACTS: -FILE: annotations.kt +FILE: [IMPORTS] annotations.kt @FILE:Suppress(LAZY_EXPRESSION) + [RAW_FIR] annotations container @R|kotlin/Suppress|(String(2)) public final [CONTRACTS] fun resolveMe(): R|kotlin/Unit| { } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: annotations.kt +FILE: [IMPORTS] annotations.kt @FILE:Suppress(LAZY_EXPRESSION) + [RAW_FIR] annotations container @R|kotlin/Suppress|(String(2)) public final [IMPLICIT_TYPES_BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: annotations.kt +FILE: [IMPORTS] annotations.kt @FILE:Suppress(String(1)) + [RAW_FIR] annotations container @R|kotlin/Suppress|(names = vararg(String(2))) public final [ANNOTATIONS_ARGUMENTS_MAPPING] fun resolveMe(): R|kotlin/Unit| { } BODY_RESOLVE: -FILE: annotations.kt +FILE: [IMPORTS] annotations.kt @FILE:Suppress(String(1)) + [RAW_FIR] annotations container @R|kotlin/Suppress|(names = vararg(String(2))) public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { } FILE RAW TO BODY: -FILE: annotations.kt +FILE: [IMPORTS] annotations.kt @FILE:R|kotlin/Suppress|(names = vararg(String(1))) + [BODY_RESOLVE] annotations container @R|kotlin/Suppress|(names = vararg(String(2))) public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { } diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/classMembers.txt b/analysis/low-level-api-fir/testdata/lazyResolve/classMembers.txt index 2239cc90cdd..a2514727cf6 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/classMembers.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/classMembers.txt @@ -1,6 +1,7 @@ RAW_FIR: -FILE: classMembers.kt +FILE: [RAW_FIR] classMembers.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -18,7 +19,8 @@ FILE: classMembers.kt } IMPORTS: -FILE: classMembers.kt +FILE: [IMPORTS] classMembers.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -36,7 +38,8 @@ FILE: classMembers.kt } COMPILER_REQUIRED_ANNOTATIONS: -FILE: classMembers.kt +FILE: [IMPORTS] classMembers.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -54,7 +57,8 @@ FILE: classMembers.kt } COMPANION_GENERATION: -FILE: classMembers.kt +FILE: [IMPORTS] classMembers.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -72,7 +76,8 @@ FILE: classMembers.kt } SUPER_TYPES: -FILE: classMembers.kt +FILE: [IMPORTS] classMembers.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -90,7 +95,8 @@ FILE: classMembers.kt } TYPES: -FILE: classMembers.kt +FILE: [IMPORTS] classMembers.kt + [RAW_FIR] annotations container public? final? [SUPER_TYPES] class A : R|kotlin/Any| { public? [SUPER_TYPES] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -108,7 +114,8 @@ FILE: classMembers.kt } STATUS: -FILE: classMembers.kt +FILE: [IMPORTS] classMembers.kt + [RAW_FIR] annotations container public final [SUPER_TYPES] class A : R|kotlin/Any| { public [TYPES] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -126,7 +133,8 @@ FILE: classMembers.kt } EXPECT_ACTUAL_MATCHING: -FILE: classMembers.kt +FILE: [IMPORTS] classMembers.kt + [RAW_FIR] annotations container public final [SUPER_TYPES] class A : R|kotlin/Any| { public [TYPES] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -146,7 +154,8 @@ FILE: classMembers.kt } ARGUMENTS_OF_ANNOTATIONS: -FILE: classMembers.kt +FILE: [IMPORTS] classMembers.kt + [RAW_FIR] annotations container public final [STATUS] class A : R|kotlin/Any| { public [STATUS] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -166,7 +175,8 @@ FILE: classMembers.kt } CONTRACTS: -FILE: classMembers.kt +FILE: [IMPORTS] classMembers.kt + [RAW_FIR] annotations container public final [STATUS] class A : R|kotlin/Any| { public [STATUS] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -186,7 +196,8 @@ FILE: classMembers.kt } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: classMembers.kt +FILE: [IMPORTS] classMembers.kt + [RAW_FIR] annotations container public final [STATUS] class A : R|kotlin/Any| { public [STATUS] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -206,7 +217,8 @@ FILE: classMembers.kt } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: classMembers.kt +FILE: [IMPORTS] classMembers.kt + [RAW_FIR] annotations container public final [STATUS] class A : R|kotlin/Any| { public [STATUS] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -226,7 +238,8 @@ FILE: classMembers.kt } BODY_RESOLVE: -FILE: classMembers.kt +FILE: [IMPORTS] classMembers.kt + [RAW_FIR] annotations container public final [STATUS] class A : R|kotlin/Any| { public [STATUS] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -249,7 +262,8 @@ FILE: classMembers.kt } FILE RAW TO BODY: -FILE: classMembers.kt +FILE: [IMPORTS] classMembers.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] class A : R|kotlin/Any| { public [BODY_RESOLVE] [ContainingClassKey=A] constructor(): R|A| { super() diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/classes/classWithTypeParameters.txt b/analysis/low-level-api-fir/testdata/lazyResolve/classes/classWithTypeParameters.txt index 99a8303132b..a18085e4323 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/classes/classWithTypeParameters.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/classes/classWithTypeParameters.txt @@ -1,6 +1,7 @@ RAW_FIR: -FILE: classWithTypeParameters.kt +FILE: [RAW_FIR] classWithTypeParameters.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class ResolveMe<[RAW_FIR] T : Int, [RAW_FIR] K> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=ResolveMe] constructor<[RAW_FIR] T : Int, [RAW_FIR] K>(): R|ResolveMe| { LAZY_super @@ -9,7 +10,8 @@ FILE: classWithTypeParameters.kt } IMPORTS: -FILE: classWithTypeParameters.kt +FILE: [IMPORTS] classWithTypeParameters.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class ResolveMe<[RAW_FIR] T : Int, [RAW_FIR] K> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=ResolveMe] constructor<[RAW_FIR] T : Int, [RAW_FIR] K>(): R|ResolveMe| { LAZY_super @@ -18,7 +20,8 @@ FILE: classWithTypeParameters.kt } COMPILER_REQUIRED_ANNOTATIONS: -FILE: classWithTypeParameters.kt +FILE: [IMPORTS] classWithTypeParameters.kt + [RAW_FIR] annotations container public? final? [COMPILER_REQUIRED_ANNOTATIONS] class ResolveMe<[COMPILER_REQUIRED_ANNOTATIONS] T : Int, [COMPILER_REQUIRED_ANNOTATIONS] K> : R|kotlin/Any| { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=ResolveMe] constructor<[COMPILER_REQUIRED_ANNOTATIONS] T : Int, [COMPILER_REQUIRED_ANNOTATIONS] K>(): R|ResolveMe| { LAZY_super @@ -27,7 +30,8 @@ FILE: classWithTypeParameters.kt } COMPANION_GENERATION: -FILE: classWithTypeParameters.kt +FILE: [IMPORTS] classWithTypeParameters.kt + [RAW_FIR] annotations container public? final? [COMPANION_GENERATION] class ResolveMe<[COMPANION_GENERATION] T : Int, [COMPANION_GENERATION] K> : R|kotlin/Any| { public? [COMPANION_GENERATION] [ContainingClassKey=ResolveMe] constructor<[COMPANION_GENERATION] T : Int, [COMPANION_GENERATION] K>(): R|ResolveMe| { LAZY_super @@ -36,7 +40,8 @@ FILE: classWithTypeParameters.kt } SUPER_TYPES: -FILE: classWithTypeParameters.kt +FILE: [IMPORTS] classWithTypeParameters.kt + [RAW_FIR] annotations container public? final? [SUPER_TYPES] class ResolveMe<[SUPER_TYPES] T : Int, [SUPER_TYPES] K> : R|kotlin/Any| { public? [SUPER_TYPES] [ContainingClassKey=ResolveMe] constructor<[SUPER_TYPES] T : Int, [SUPER_TYPES] K>(): R|ResolveMe| { LAZY_super @@ -45,7 +50,8 @@ FILE: classWithTypeParameters.kt } TYPES: -FILE: classWithTypeParameters.kt +FILE: [IMPORTS] classWithTypeParameters.kt + [RAW_FIR] annotations container public? final? [TYPES] class ResolveMe<[TYPES] T : R|kotlin/Int|, [TYPES] K> : R|kotlin/Any| { public? [TYPES] [ContainingClassKey=ResolveMe] constructor<[TYPES] T : R|kotlin/Int|, [TYPES] K>(): R|ResolveMe| { LAZY_super @@ -54,7 +60,8 @@ FILE: classWithTypeParameters.kt } STATUS: -FILE: classWithTypeParameters.kt +FILE: [IMPORTS] classWithTypeParameters.kt + [RAW_FIR] annotations container public final [STATUS] class ResolveMe<[STATUS] T : R|kotlin/Int|, [STATUS] K> : R|kotlin/Any| { public [STATUS] [ContainingClassKey=ResolveMe] constructor<[STATUS] T : R|kotlin/Int|, [STATUS] K>(): R|ResolveMe| { LAZY_super @@ -63,7 +70,8 @@ FILE: classWithTypeParameters.kt } EXPECT_ACTUAL_MATCHING: -FILE: classWithTypeParameters.kt +FILE: [IMPORTS] classWithTypeParameters.kt + [RAW_FIR] annotations container public final [EXPECT_ACTUAL_MATCHING] class ResolveMe<[EXPECT_ACTUAL_MATCHING] T : R|kotlin/Int|, [EXPECT_ACTUAL_MATCHING] K> : R|kotlin/Any| { public [EXPECT_ACTUAL_MATCHING] [ContainingClassKey=ResolveMe] constructor<[EXPECT_ACTUAL_MATCHING] T : R|kotlin/Int|, [EXPECT_ACTUAL_MATCHING] K>(): R|ResolveMe| { super() @@ -72,7 +80,8 @@ FILE: classWithTypeParameters.kt } ARGUMENTS_OF_ANNOTATIONS: -FILE: classWithTypeParameters.kt +FILE: [IMPORTS] classWithTypeParameters.kt + [RAW_FIR] annotations container public final [ARGUMENTS_OF_ANNOTATIONS] class ResolveMe<[ARGUMENTS_OF_ANNOTATIONS] T : R|kotlin/Int|, [ARGUMENTS_OF_ANNOTATIONS] K> : R|kotlin/Any| { public [ARGUMENTS_OF_ANNOTATIONS] [ContainingClassKey=ResolveMe] constructor<[ARGUMENTS_OF_ANNOTATIONS] T : R|kotlin/Int|, [ARGUMENTS_OF_ANNOTATIONS] K>(): R|ResolveMe| { super() @@ -81,7 +90,8 @@ FILE: classWithTypeParameters.kt } CONTRACTS: -FILE: classWithTypeParameters.kt +FILE: [IMPORTS] classWithTypeParameters.kt + [RAW_FIR] annotations container public final [CONTRACTS] class ResolveMe<[CONTRACTS] T : R|kotlin/Int|, [CONTRACTS] K> : R|kotlin/Any| { public [CONTRACTS] [ContainingClassKey=ResolveMe] constructor<[CONTRACTS] T : R|kotlin/Int|, [CONTRACTS] K>(): R|ResolveMe| { super() @@ -90,7 +100,8 @@ FILE: classWithTypeParameters.kt } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: classWithTypeParameters.kt +FILE: [IMPORTS] classWithTypeParameters.kt + [RAW_FIR] annotations container public final [IMPLICIT_TYPES_BODY_RESOLVE] class ResolveMe<[IMPLICIT_TYPES_BODY_RESOLVE] T : R|kotlin/Int|, [IMPLICIT_TYPES_BODY_RESOLVE] K> : R|kotlin/Any| { public [IMPLICIT_TYPES_BODY_RESOLVE] [ContainingClassKey=ResolveMe] constructor<[IMPLICIT_TYPES_BODY_RESOLVE] T : R|kotlin/Int|, [IMPLICIT_TYPES_BODY_RESOLVE] K>(): R|ResolveMe| { super() @@ -99,7 +110,8 @@ FILE: classWithTypeParameters.kt } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: classWithTypeParameters.kt +FILE: [IMPORTS] classWithTypeParameters.kt + [RAW_FIR] annotations container public final [ANNOTATIONS_ARGUMENTS_MAPPING] class ResolveMe<[ANNOTATIONS_ARGUMENTS_MAPPING] T : R|kotlin/Int|, [ANNOTATIONS_ARGUMENTS_MAPPING] K> : R|kotlin/Any| { public [ANNOTATIONS_ARGUMENTS_MAPPING] [ContainingClassKey=ResolveMe] constructor<[ANNOTATIONS_ARGUMENTS_MAPPING] T : R|kotlin/Int|, [ANNOTATIONS_ARGUMENTS_MAPPING] K>(): R|ResolveMe| { super() @@ -108,7 +120,8 @@ FILE: classWithTypeParameters.kt } BODY_RESOLVE: -FILE: classWithTypeParameters.kt +FILE: [IMPORTS] classWithTypeParameters.kt + [RAW_FIR] annotations container public final [BODY_RESOLVE] class ResolveMe<[BODY_RESOLVE] T : R|kotlin/Int|, [BODY_RESOLVE] K> : R|kotlin/Any| { public [BODY_RESOLVE] [ContainingClassKey=ResolveMe] constructor<[BODY_RESOLVE] T : R|kotlin/Int|, [BODY_RESOLVE] K>(): R|ResolveMe| { super() @@ -117,7 +130,8 @@ FILE: classWithTypeParameters.kt } FILE RAW TO BODY: -FILE: classWithTypeParameters.kt +FILE: [IMPORTS] classWithTypeParameters.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] class ResolveMe<[BODY_RESOLVE] T : R|kotlin/Int|, [BODY_RESOLVE] K> : R|kotlin/Any| { public [BODY_RESOLVE] [ContainingClassKey=ResolveMe] constructor<[BODY_RESOLVE] T : R|kotlin/Int|, [BODY_RESOLVE] K>(): R|ResolveMe| { super() diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/classes/functionInValueClass.txt b/analysis/low-level-api-fir/testdata/lazyResolve/classes/functionInValueClass.txt index 571027a08df..34140fa96ea 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/classes/functionInValueClass.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/classes/functionInValueClass.txt @@ -1,6 +1,7 @@ RAW_FIR: -FILE: functionInValueClass.kt +FILE: [RAW_FIR] functionInValueClass.kt + [RAW_FIR] annotations container @JvmInline() public? final? inline [RAW_FIR] class Value : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Value] constructor([RAW_FIR] [CorrespondingProperty=/Value.value] value: Int): R|Value| { LAZY_super @@ -14,7 +15,8 @@ FILE: functionInValueClass.kt } IMPORTS: -FILE: functionInValueClass.kt +FILE: [IMPORTS] functionInValueClass.kt + [RAW_FIR] annotations container @JvmInline() public? final? inline [RAW_FIR] class Value : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Value] constructor([RAW_FIR] [CorrespondingProperty=/Value.value] value: Int): R|Value| { LAZY_super @@ -28,7 +30,8 @@ FILE: functionInValueClass.kt } COMPILER_REQUIRED_ANNOTATIONS: -FILE: functionInValueClass.kt +FILE: [IMPORTS] functionInValueClass.kt + [RAW_FIR] annotations container @JvmInline() public? final? inline [RAW_FIR] class Value : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Value] constructor([RAW_FIR] [CorrespondingProperty=/Value.value] value: Int): R|Value| { LAZY_super @@ -42,7 +45,8 @@ FILE: functionInValueClass.kt } COMPANION_GENERATION: -FILE: functionInValueClass.kt +FILE: [IMPORTS] functionInValueClass.kt + [RAW_FIR] annotations container @JvmInline() public? final? inline [RAW_FIR] class Value : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Value] constructor([RAW_FIR] [CorrespondingProperty=/Value.value] value: Int): R|Value| { LAZY_super @@ -56,7 +60,8 @@ FILE: functionInValueClass.kt } SUPER_TYPES: -FILE: functionInValueClass.kt +FILE: [IMPORTS] functionInValueClass.kt + [RAW_FIR] annotations container @JvmInline() public? final? inline [RAW_FIR] class Value : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Value] constructor([RAW_FIR] [CorrespondingProperty=/Value.value] value: Int): R|Value| { LAZY_super @@ -70,7 +75,8 @@ FILE: functionInValueClass.kt } TYPES: -FILE: functionInValueClass.kt +FILE: [IMPORTS] functionInValueClass.kt + [RAW_FIR] annotations container @R|kotlin/jvm/JvmInline|() public? final? inline [SUPER_TYPES] class Value : R|kotlin/Any| { public? [SUPER_TYPES] [ContainingClassKey=Value] constructor([SUPER_TYPES] [CorrespondingProperty=/Value.value] value: Int): R|Value| { LAZY_super @@ -84,7 +90,8 @@ FILE: functionInValueClass.kt } STATUS: -FILE: functionInValueClass.kt +FILE: [IMPORTS] functionInValueClass.kt + [RAW_FIR] annotations container @R|kotlin/jvm/JvmInline|() public final inline [SUPER_TYPES] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { public [TYPES] [ContainingClassKey=Value] constructor([TYPES] [CorrespondingProperty=/Value.value] value: R|kotlin/Int|): R|Value| { LAZY_super @@ -98,7 +105,8 @@ FILE: functionInValueClass.kt } EXPECT_ACTUAL_MATCHING: -FILE: functionInValueClass.kt +FILE: [IMPORTS] functionInValueClass.kt + [RAW_FIR] annotations container @R|kotlin/jvm/JvmInline|() public final inline [SUPER_TYPES] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { public [TYPES] [ContainingClassKey=Value] constructor([TYPES] [CorrespondingProperty=/Value.value] value: R|kotlin/Int|): R|Value| { LAZY_super @@ -113,7 +121,8 @@ FILE: functionInValueClass.kt } ARGUMENTS_OF_ANNOTATIONS: -FILE: functionInValueClass.kt +FILE: [IMPORTS] functionInValueClass.kt + [RAW_FIR] annotations container @R|kotlin/jvm/JvmInline|() public final inline [STATUS] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { public [STATUS] [ContainingClassKey=Value] constructor([STATUS] [CorrespondingProperty=/Value.value] value: R|kotlin/Int|): R|Value| { LAZY_super @@ -128,7 +137,8 @@ FILE: functionInValueClass.kt } CONTRACTS: -FILE: functionInValueClass.kt +FILE: [IMPORTS] functionInValueClass.kt + [RAW_FIR] annotations container @R|kotlin/jvm/JvmInline|() public final inline [STATUS] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { public [STATUS] [ContainingClassKey=Value] constructor([STATUS] [CorrespondingProperty=/Value.value] value: R|kotlin/Int|): R|Value| { LAZY_super @@ -143,7 +153,8 @@ FILE: functionInValueClass.kt } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: functionInValueClass.kt +FILE: [IMPORTS] functionInValueClass.kt + [RAW_FIR] annotations container @R|kotlin/jvm/JvmInline|() public final inline [STATUS] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { public [STATUS] [ContainingClassKey=Value] constructor([STATUS] [CorrespondingProperty=/Value.value] value: R|kotlin/Int|): R|Value| { LAZY_super @@ -158,7 +169,8 @@ FILE: functionInValueClass.kt } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: functionInValueClass.kt +FILE: [IMPORTS] functionInValueClass.kt + [RAW_FIR] annotations container @R|kotlin/jvm/JvmInline|() public final inline [STATUS] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { public [STATUS] [ContainingClassKey=Value] constructor([STATUS] [CorrespondingProperty=/Value.value] value: R|kotlin/Int|): R|Value| { LAZY_super @@ -173,7 +185,8 @@ FILE: functionInValueClass.kt } BODY_RESOLVE: -FILE: functionInValueClass.kt +FILE: [IMPORTS] functionInValueClass.kt + [RAW_FIR] annotations container @R|kotlin/jvm/JvmInline|() public final inline [STATUS] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { public [STATUS] [ContainingClassKey=Value] constructor([STATUS] [CorrespondingProperty=/Value.value] value: R|kotlin/Int|): R|Value| { LAZY_super @@ -188,7 +201,8 @@ FILE: functionInValueClass.kt } FILE RAW TO BODY: -FILE: functionInValueClass.kt +FILE: [IMPORTS] functionInValueClass.kt + [BODY_RESOLVE] annotations container @R|kotlin/jvm/JvmInline|() public final inline [BODY_RESOLVE] [FirValueClassRepresentationKey=InlineClassRepresentation(underlyingPropertyName=value, underlyingType=kotlin/Int)] class Value : R|kotlin/Any| { public [BODY_RESOLVE] [ContainingClassKey=Value] constructor([BODY_RESOLVE] [CorrespondingProperty=/Value.value] value: R|kotlin/Int|): R|Value| { super() diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/classes/nestedClassWithPropertiesOverrides.txt b/analysis/low-level-api-fir/testdata/lazyResolve/classes/nestedClassWithPropertiesOverrides.txt index 616fc58649e..86c2d2f6937 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/classes/nestedClassWithPropertiesOverrides.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/classes/nestedClassWithPropertiesOverrides.txt @@ -1,6 +1,7 @@ RAW_FIR: -FILE: nestedClassWithPropertiesOverrides.kt +FILE: [RAW_FIR] nestedClassWithPropertiesOverrides.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] interface OV : R|kotlin/Any| { public? final? [RAW_FIR] val originalExpressions: A public? [RAW_FIR] [ContainingClassKey=OV] get(): A @@ -24,7 +25,8 @@ FILE: nestedClassWithPropertiesOverrides.kt } IMPORTS: -FILE: nestedClassWithPropertiesOverrides.kt +FILE: [IMPORTS] nestedClassWithPropertiesOverrides.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] interface OV : R|kotlin/Any| { public? final? [RAW_FIR] val originalExpressions: A public? [RAW_FIR] [ContainingClassKey=OV] get(): A @@ -48,7 +50,8 @@ FILE: nestedClassWithPropertiesOverrides.kt } COMPILER_REQUIRED_ANNOTATIONS: -FILE: nestedClassWithPropertiesOverrides.kt +FILE: [IMPORTS] nestedClassWithPropertiesOverrides.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] interface OV : R|kotlin/Any| { public? final? [RAW_FIR] val originalExpressions: A public? [RAW_FIR] [ContainingClassKey=OV] get(): A @@ -72,7 +75,8 @@ FILE: nestedClassWithPropertiesOverrides.kt } COMPANION_GENERATION: -FILE: nestedClassWithPropertiesOverrides.kt +FILE: [IMPORTS] nestedClassWithPropertiesOverrides.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] interface OV : R|kotlin/Any| { public? final? [RAW_FIR] val originalExpressions: A public? [RAW_FIR] [ContainingClassKey=OV] get(): A @@ -96,7 +100,8 @@ FILE: nestedClassWithPropertiesOverrides.kt } SUPER_TYPES: -FILE: nestedClassWithPropertiesOverrides.kt +FILE: [IMPORTS] nestedClassWithPropertiesOverrides.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] interface OV : R|kotlin/Any| { public? final? [RAW_FIR] val originalExpressions: A public? [RAW_FIR] [ContainingClassKey=OV] get(): A @@ -120,7 +125,8 @@ FILE: nestedClassWithPropertiesOverrides.kt } TYPES: -FILE: nestedClassWithPropertiesOverrides.kt +FILE: [IMPORTS] nestedClassWithPropertiesOverrides.kt + [RAW_FIR] annotations container public? final? [SUPER_TYPES] interface OV : R|kotlin/Any| { public? final? [SUPER_TYPES] val originalExpressions: A public? [SUPER_TYPES] [ContainingClassKey=OV] get(): A @@ -144,7 +150,8 @@ FILE: nestedClassWithPropertiesOverrides.kt } STATUS: -FILE: nestedClassWithPropertiesOverrides.kt +FILE: [IMPORTS] nestedClassWithPropertiesOverrides.kt + [RAW_FIR] annotations container public abstract [SUPER_TYPES] interface OV : R|kotlin/Any| { public abstract [TYPES] val originalExpressions: R|A| public [TYPES] [ContainingClassKey=OV] get(): R|A| @@ -168,7 +175,8 @@ FILE: nestedClassWithPropertiesOverrides.kt } EXPECT_ACTUAL_MATCHING: -FILE: nestedClassWithPropertiesOverrides.kt +FILE: [IMPORTS] nestedClassWithPropertiesOverrides.kt + [RAW_FIR] annotations container public abstract [SUPER_TYPES] interface OV : R|kotlin/Any| { public abstract [TYPES] val originalExpressions: R|A| public [TYPES] [ContainingClassKey=OV] get(): R|A| @@ -192,7 +200,8 @@ FILE: nestedClassWithPropertiesOverrides.kt } ARGUMENTS_OF_ANNOTATIONS: -FILE: nestedClassWithPropertiesOverrides.kt +FILE: [IMPORTS] nestedClassWithPropertiesOverrides.kt + [RAW_FIR] annotations container public abstract [STATUS] interface OV : R|kotlin/Any| { public abstract [STATUS] val originalExpressions: R|A| public [STATUS] [ContainingClassKey=OV] get(): R|A| @@ -216,7 +225,8 @@ FILE: nestedClassWithPropertiesOverrides.kt } CONTRACTS: -FILE: nestedClassWithPropertiesOverrides.kt +FILE: [IMPORTS] nestedClassWithPropertiesOverrides.kt + [RAW_FIR] annotations container public abstract [STATUS] interface OV : R|kotlin/Any| { public abstract [STATUS] val originalExpressions: R|A| public [STATUS] [ContainingClassKey=OV] get(): R|A| @@ -240,7 +250,8 @@ FILE: nestedClassWithPropertiesOverrides.kt } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: nestedClassWithPropertiesOverrides.kt +FILE: [IMPORTS] nestedClassWithPropertiesOverrides.kt + [RAW_FIR] annotations container public abstract [STATUS] interface OV : R|kotlin/Any| { public abstract [STATUS] val originalExpressions: R|A| public [STATUS] [ContainingClassKey=OV] get(): R|A| @@ -264,7 +275,8 @@ FILE: nestedClassWithPropertiesOverrides.kt } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: nestedClassWithPropertiesOverrides.kt +FILE: [IMPORTS] nestedClassWithPropertiesOverrides.kt + [RAW_FIR] annotations container public abstract [STATUS] interface OV : R|kotlin/Any| { public abstract [STATUS] val originalExpressions: R|A| public [STATUS] [ContainingClassKey=OV] get(): R|A| @@ -288,7 +300,8 @@ FILE: nestedClassWithPropertiesOverrides.kt } BODY_RESOLVE: -FILE: nestedClassWithPropertiesOverrides.kt +FILE: [IMPORTS] nestedClassWithPropertiesOverrides.kt + [RAW_FIR] annotations container public abstract [STATUS] interface OV : R|kotlin/Any| { public abstract [STATUS] val originalExpressions: R|A| public [STATUS] [ContainingClassKey=OV] get(): R|A| @@ -312,7 +325,8 @@ FILE: nestedClassWithPropertiesOverrides.kt } FILE RAW TO BODY: -FILE: nestedClassWithPropertiesOverrides.kt +FILE: [IMPORTS] nestedClassWithPropertiesOverrides.kt + [BODY_RESOLVE] annotations container public abstract [BODY_RESOLVE] interface OV : R|kotlin/Any| { public abstract [BODY_RESOLVE] val originalExpressions: R|A| public [BODY_RESOLVE] [ContainingClassKey=OV] get(): R|A| diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/delegates.txt b/analysis/low-level-api-fir/testdata/lazyResolve/delegates.txt index 98d12d38287..af3d9079833 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/delegates.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/delegates.txt @@ -1,6 +1,7 @@ RAW_FIR: -FILE: delegates.kt +FILE: [RAW_FIR] delegates.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] val delegate: = LAZY_EXPRESSION @@ -29,7 +30,8 @@ FILE: delegates.kt } IMPORTS: -FILE: delegates.kt +FILE: [IMPORTS] delegates.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] val delegate: = LAZY_EXPRESSION @@ -58,7 +60,8 @@ FILE: delegates.kt } COMPILER_REQUIRED_ANNOTATIONS: -FILE: delegates.kt +FILE: [IMPORTS] delegates.kt + [RAW_FIR] annotations container public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] val delegate: = LAZY_EXPRESSION @@ -87,7 +90,8 @@ FILE: delegates.kt } COMPANION_GENERATION: -FILE: delegates.kt +FILE: [IMPORTS] delegates.kt + [RAW_FIR] annotations container public? final? [COMPANION_GENERATION] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] val delegate: = LAZY_EXPRESSION @@ -116,7 +120,8 @@ FILE: delegates.kt } SUPER_TYPES: -FILE: delegates.kt +FILE: [IMPORTS] delegates.kt + [RAW_FIR] annotations container public? final? [SUPER_TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] val delegate: = LAZY_EXPRESSION @@ -145,7 +150,8 @@ FILE: delegates.kt } TYPES: -FILE: delegates.kt +FILE: [IMPORTS] delegates.kt + [RAW_FIR] annotations container public? final? [TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] val delegate: = LAZY_EXPRESSION @@ -174,7 +180,8 @@ FILE: delegates.kt } STATUS: -FILE: delegates.kt +FILE: [IMPORTS] delegates.kt + [RAW_FIR] annotations container public final [STATUS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] val delegate: = LAZY_EXPRESSION @@ -203,7 +210,8 @@ FILE: delegates.kt } EXPECT_ACTUAL_MATCHING: -FILE: delegates.kt +FILE: [IMPORTS] delegates.kt + [RAW_FIR] annotations container public final [EXPECT_ACTUAL_MATCHING] fun resolveMe(): R|kotlin/Unit| { receive#(valueWithExplicitType#) receive#(valueWithImplicitType#) @@ -237,7 +245,8 @@ FILE: delegates.kt } ARGUMENTS_OF_ANNOTATIONS: -FILE: delegates.kt +FILE: [IMPORTS] delegates.kt + [RAW_FIR] annotations container public final [ARGUMENTS_OF_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { receive#(valueWithExplicitType#) receive#(valueWithImplicitType#) @@ -271,7 +280,8 @@ FILE: delegates.kt } CONTRACTS: -FILE: delegates.kt +FILE: [IMPORTS] delegates.kt + [RAW_FIR] annotations container public final [CONTRACTS] fun resolveMe(): R|kotlin/Unit| { receive#(valueWithExplicitType#) receive#(valueWithImplicitType#) @@ -305,7 +315,8 @@ FILE: delegates.kt } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: delegates.kt +FILE: [IMPORTS] delegates.kt + [RAW_FIR] annotations container public final [IMPLICIT_TYPES_BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { receive#(valueWithExplicitType#) receive#(valueWithImplicitType#) @@ -339,7 +350,8 @@ FILE: delegates.kt } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: delegates.kt +FILE: [IMPORTS] delegates.kt + [RAW_FIR] annotations container public final [ANNOTATIONS_ARGUMENTS_MAPPING] fun resolveMe(): R|kotlin/Unit| { receive#(valueWithExplicitType#) receive#(valueWithImplicitType#) @@ -373,7 +385,8 @@ FILE: delegates.kt } BODY_RESOLVE: -FILE: delegates.kt +FILE: [IMPORTS] delegates.kt + [RAW_FIR] annotations container public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { R|/receive|(R|/valueWithExplicitType|) R|/receive|(R|/valueWithImplicitType|) @@ -421,7 +434,8 @@ FILE: delegates.kt } FILE RAW TO BODY: -FILE: delegates.kt +FILE: [IMPORTS] delegates.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { R|/receive|(R|/valueWithExplicitType|) R|/receive|(R|/valueWithImplicitType|) diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/enumEntry.txt b/analysis/low-level-api-fir/testdata/lazyResolve/enumEntry.txt index 16e60204b4f..b4870bf123e 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/enumEntry.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/enumEntry.txt @@ -1,6 +1,7 @@ RAW_FIR: -FILE: enumEntry.kt +FILE: [RAW_FIR] enumEntry.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] annotation class Anno : R|kotlin/Annotation| { public? [RAW_FIR] [ContainingClassKey=Anno] constructor(): R|Anno| { LAZY_super @@ -25,7 +26,8 @@ FILE: enumEntry.kt } IMPORTS: -FILE: enumEntry.kt +FILE: [IMPORTS] enumEntry.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] annotation class Anno : R|kotlin/Annotation| { public? [RAW_FIR] [ContainingClassKey=Anno] constructor(): R|Anno| { LAZY_super @@ -50,7 +52,8 @@ FILE: enumEntry.kt } COMPILER_REQUIRED_ANNOTATIONS: -FILE: enumEntry.kt +FILE: [IMPORTS] enumEntry.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] annotation class Anno : R|kotlin/Annotation| { public? [RAW_FIR] [ContainingClassKey=Anno] constructor(): R|Anno| { LAZY_super @@ -75,7 +78,8 @@ FILE: enumEntry.kt } COMPANION_GENERATION: -FILE: enumEntry.kt +FILE: [IMPORTS] enumEntry.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] annotation class Anno : R|kotlin/Annotation| { public? [RAW_FIR] [ContainingClassKey=Anno] constructor(): R|Anno| { LAZY_super @@ -100,7 +104,8 @@ FILE: enumEntry.kt } SUPER_TYPES: -FILE: enumEntry.kt +FILE: [IMPORTS] enumEntry.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] annotation class Anno : R|kotlin/Annotation| { public? [RAW_FIR] [ContainingClassKey=Anno] constructor(): R|Anno| { LAZY_super @@ -125,7 +130,8 @@ FILE: enumEntry.kt } TYPES: -FILE: enumEntry.kt +FILE: [IMPORTS] enumEntry.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] annotation class Anno : R|kotlin/Annotation| { public? [RAW_FIR] [ContainingClassKey=Anno] constructor(): R|Anno| { LAZY_super @@ -150,7 +156,8 @@ FILE: enumEntry.kt } STATUS: -FILE: enumEntry.kt +FILE: [IMPORTS] enumEntry.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] annotation class Anno : R|kotlin/Annotation| { public? [RAW_FIR] [ContainingClassKey=Anno] constructor(): R|Anno| { LAZY_super @@ -175,7 +182,8 @@ FILE: enumEntry.kt } EXPECT_ACTUAL_MATCHING: -FILE: enumEntry.kt +FILE: [IMPORTS] enumEntry.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] annotation class Anno : R|kotlin/Annotation| { public? [RAW_FIR] [ContainingClassKey=Anno] constructor(): R|Anno| { LAZY_super @@ -206,7 +214,8 @@ FILE: enumEntry.kt } ARGUMENTS_OF_ANNOTATIONS: -FILE: enumEntry.kt +FILE: [IMPORTS] enumEntry.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] annotation class Anno : R|kotlin/Annotation| { public? [RAW_FIR] [ContainingClassKey=Anno] constructor(): R|Anno| { LAZY_super @@ -237,7 +246,8 @@ FILE: enumEntry.kt } CONTRACTS: -FILE: enumEntry.kt +FILE: [IMPORTS] enumEntry.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] annotation class Anno : R|kotlin/Annotation| { public? [RAW_FIR] [ContainingClassKey=Anno] constructor(): R|Anno| { LAZY_super @@ -268,7 +278,8 @@ FILE: enumEntry.kt } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: enumEntry.kt +FILE: [IMPORTS] enumEntry.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] annotation class Anno : R|kotlin/Annotation| { public? [RAW_FIR] [ContainingClassKey=Anno] constructor(): R|Anno| { LAZY_super @@ -299,7 +310,8 @@ FILE: enumEntry.kt } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: enumEntry.kt +FILE: [IMPORTS] enumEntry.kt + [RAW_FIR] annotations container public final [SUPER_TYPES] annotation class Anno : R|kotlin/Annotation| { public [STATUS] [ContainingClassKey=Anno] constructor(): R|Anno| { LAZY_super @@ -330,7 +342,8 @@ FILE: enumEntry.kt } BODY_RESOLVE: -FILE: enumEntry.kt +FILE: [IMPORTS] enumEntry.kt + [RAW_FIR] annotations container public final [SUPER_TYPES] annotation class Anno : R|kotlin/Annotation| { public [STATUS] [ContainingClassKey=Anno] constructor(): R|Anno| { LAZY_super @@ -361,7 +374,8 @@ FILE: enumEntry.kt } FILE RAW TO BODY: -FILE: enumEntry.kt +FILE: [IMPORTS] enumEntry.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] annotation class Anno : R|kotlin/Annotation| { public [BODY_RESOLVE] [ContainingClassKey=Anno] constructor(): R|Anno| { super() diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/errors/anonymousObjectInInvalidPosition.txt b/analysis/low-level-api-fir/testdata/lazyResolve/errors/anonymousObjectInInvalidPosition.txt index 91fdc6b459b..86370443681 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/errors/anonymousObjectInInvalidPosition.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/errors/anonymousObjectInInvalidPosition.txt @@ -1,6 +1,7 @@ RAW_FIR: -FILE: anonymousObjectInInvalidPosition.kt +FILE: [RAW_FIR] anonymousObjectInInvalidPosition.kt + [RAW_FIR] annotations container private final? [RAW_FIR] val resolveMe: A = LAZY_EXPRESSION private [RAW_FIR] get(): A public? final? [RAW_FIR] interface A<[RAW_FIR] T> : R|kotlin/Any| { @@ -9,7 +10,8 @@ FILE: anonymousObjectInInvalidPosition.kt } IMPORTS: -FILE: anonymousObjectInInvalidPosition.kt +FILE: [IMPORTS] anonymousObjectInInvalidPosition.kt + [RAW_FIR] annotations container private final? [RAW_FIR] val resolveMe: A = LAZY_EXPRESSION private [RAW_FIR] get(): A public? final? [RAW_FIR] interface A<[RAW_FIR] T> : R|kotlin/Any| { @@ -18,7 +20,8 @@ FILE: anonymousObjectInInvalidPosition.kt } COMPILER_REQUIRED_ANNOTATIONS: -FILE: anonymousObjectInInvalidPosition.kt +FILE: [IMPORTS] anonymousObjectInInvalidPosition.kt + [RAW_FIR] annotations container private final? [COMPILER_REQUIRED_ANNOTATIONS] val resolveMe: A = LAZY_EXPRESSION private [COMPILER_REQUIRED_ANNOTATIONS] get(): A public? final? [RAW_FIR] interface A<[RAW_FIR] T> : R|kotlin/Any| { @@ -27,7 +30,8 @@ FILE: anonymousObjectInInvalidPosition.kt } COMPANION_GENERATION: -FILE: anonymousObjectInInvalidPosition.kt +FILE: [IMPORTS] anonymousObjectInInvalidPosition.kt + [RAW_FIR] annotations container private final? [COMPANION_GENERATION] val resolveMe: A = LAZY_EXPRESSION private [COMPANION_GENERATION] get(): A public? final? [RAW_FIR] interface A<[RAW_FIR] T> : R|kotlin/Any| { @@ -36,7 +40,8 @@ FILE: anonymousObjectInInvalidPosition.kt } SUPER_TYPES: -FILE: anonymousObjectInInvalidPosition.kt +FILE: [IMPORTS] anonymousObjectInInvalidPosition.kt + [RAW_FIR] annotations container private final? [SUPER_TYPES] val resolveMe: A = LAZY_EXPRESSION private [SUPER_TYPES] get(): A public? final? [RAW_FIR] interface A<[RAW_FIR] T> : R|kotlin/Any| { @@ -45,7 +50,8 @@ FILE: anonymousObjectInInvalidPosition.kt } TYPES: -FILE: anonymousObjectInInvalidPosition.kt +FILE: [IMPORTS] anonymousObjectInInvalidPosition.kt + [RAW_FIR] annotations container private final? [TYPES] val resolveMe: = LAZY_EXPRESSION private [TYPES] get(): public? final? [RAW_FIR] interface A<[RAW_FIR] T> : R|kotlin/Any| { @@ -54,7 +60,8 @@ FILE: anonymousObjectInInvalidPosition.kt } STATUS: -FILE: anonymousObjectInInvalidPosition.kt +FILE: [IMPORTS] anonymousObjectInInvalidPosition.kt + [RAW_FIR] annotations container private final [STATUS] val resolveMe: = LAZY_EXPRESSION private [STATUS] get(): public? final? [RAW_FIR] interface A<[RAW_FIR] T> : R|kotlin/Any| { @@ -63,7 +70,8 @@ FILE: anonymousObjectInInvalidPosition.kt } EXPECT_ACTUAL_MATCHING: -FILE: anonymousObjectInInvalidPosition.kt +FILE: [IMPORTS] anonymousObjectInInvalidPosition.kt + [RAW_FIR] annotations container private final [EXPECT_ACTUAL_MATCHING] val resolveMe: = ERROR_EXPR(Should have initializer)Null(null) = object : A { private [RAW_FIR] [ContainingClassKey=] constructor(): R|| { super<>() @@ -81,7 +89,8 @@ FILE: anonymousObjectInInvalidPosition.kt } ARGUMENTS_OF_ANNOTATIONS: -FILE: anonymousObjectInInvalidPosition.kt +FILE: [IMPORTS] anonymousObjectInInvalidPosition.kt + [RAW_FIR] annotations container private final [ARGUMENTS_OF_ANNOTATIONS] val resolveMe: = ERROR_EXPR(Should have initializer)Null(null) = object : A { private [RAW_FIR] [ContainingClassKey=] constructor(): R|| { super<>() @@ -99,7 +108,8 @@ FILE: anonymousObjectInInvalidPosition.kt } CONTRACTS: -FILE: anonymousObjectInInvalidPosition.kt +FILE: [IMPORTS] anonymousObjectInInvalidPosition.kt + [RAW_FIR] annotations container private final [CONTRACTS] val resolveMe: = ERROR_EXPR(Should have initializer)Null(null) = object : A { private [RAW_FIR] [ContainingClassKey=] constructor(): R|| { super<>() @@ -117,7 +127,8 @@ FILE: anonymousObjectInInvalidPosition.kt } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: anonymousObjectInInvalidPosition.kt +FILE: [IMPORTS] anonymousObjectInInvalidPosition.kt + [RAW_FIR] annotations container private final [IMPLICIT_TYPES_BODY_RESOLVE] val resolveMe: = ERROR_EXPR(Should have initializer)Null(null) = object : A { private [RAW_FIR] [ContainingClassKey=] constructor(): R|| { super<>() @@ -135,7 +146,8 @@ FILE: anonymousObjectInInvalidPosition.kt } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: anonymousObjectInInvalidPosition.kt +FILE: [IMPORTS] anonymousObjectInInvalidPosition.kt + [RAW_FIR] annotations container private final [ANNOTATIONS_ARGUMENTS_MAPPING] val resolveMe: = ERROR_EXPR(Should have initializer)Null(null) = object : A { private [RAW_FIR] [ContainingClassKey=] constructor(): R|| { super<>() @@ -153,7 +165,8 @@ FILE: anonymousObjectInInvalidPosition.kt } BODY_RESOLVE: -FILE: anonymousObjectInInvalidPosition.kt +FILE: [IMPORTS] anonymousObjectInInvalidPosition.kt + [RAW_FIR] annotations container private final [BODY_RESOLVE] val resolveMe: = ERROR_EXPR(Should have initializer)Null(null) = object : R|A| { private [BODY_RESOLVE] [ContainingClassKey=] constructor(): R|| { super() @@ -171,7 +184,8 @@ FILE: anonymousObjectInInvalidPosition.kt } FILE RAW TO BODY: -FILE: anonymousObjectInInvalidPosition.kt +FILE: [IMPORTS] anonymousObjectInInvalidPosition.kt + [BODY_RESOLVE] annotations container private final [BODY_RESOLVE] val resolveMe: = ERROR_EXPR(Should have initializer)Null(null) = object : R|A| { private [BODY_RESOLVE] [ContainingClassKey=] constructor(): R|| { super() diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/functionWithParameter.txt b/analysis/low-level-api-fir/testdata/lazyResolve/functionWithParameter.txt index 665b7e8554b..07d07b58a4e 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/functionWithParameter.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/functionWithParameter.txt @@ -1,48 +1,56 @@ RAW_FIR: -FILE: functionWithParameter.kt +FILE: [RAW_FIR] functionWithParameter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] interface I : R|kotlin/Any| { } public? final? [RAW_FIR] fun resolveMe([RAW_FIR] param: I): { LAZY_BLOCK } IMPORTS: -FILE: functionWithParameter.kt +FILE: [IMPORTS] functionWithParameter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] interface I : R|kotlin/Any| { } public? final? [RAW_FIR] fun resolveMe([RAW_FIR] param: I): { LAZY_BLOCK } COMPILER_REQUIRED_ANNOTATIONS: -FILE: functionWithParameter.kt +FILE: [IMPORTS] functionWithParameter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] interface I : R|kotlin/Any| { } public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun resolveMe([COMPILER_REQUIRED_ANNOTATIONS] param: I): { LAZY_BLOCK } COMPANION_GENERATION: -FILE: functionWithParameter.kt +FILE: [IMPORTS] functionWithParameter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] interface I : R|kotlin/Any| { } public? final? [COMPANION_GENERATION] fun resolveMe([COMPANION_GENERATION] param: I): { LAZY_BLOCK } SUPER_TYPES: -FILE: functionWithParameter.kt +FILE: [IMPORTS] functionWithParameter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] interface I : R|kotlin/Any| { } public? final? [SUPER_TYPES] fun resolveMe([SUPER_TYPES] param: I): { LAZY_BLOCK } TYPES: -FILE: functionWithParameter.kt +FILE: [IMPORTS] functionWithParameter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] interface I : R|kotlin/Any| { } public? final? [TYPES] fun resolveMe([TYPES] param: R|I|): { LAZY_BLOCK } STATUS: -FILE: functionWithParameter.kt +FILE: [IMPORTS] functionWithParameter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] interface I : R|kotlin/Any| { } public final [STATUS] fun resolveMe([STATUS] param: R|I|): { LAZY_BLOCK } EXPECT_ACTUAL_MATCHING: -FILE: functionWithParameter.kt +FILE: [IMPORTS] functionWithParameter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] interface I : R|kotlin/Any| { } public final [EXPECT_ACTUAL_MATCHING] fun resolveMe([EXPECT_ACTUAL_MATCHING] param: R|I|): { @@ -50,7 +58,8 @@ FILE: functionWithParameter.kt } ARGUMENTS_OF_ANNOTATIONS: -FILE: functionWithParameter.kt +FILE: [IMPORTS] functionWithParameter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] interface I : R|kotlin/Any| { } public final [ARGUMENTS_OF_ANNOTATIONS] fun resolveMe([ARGUMENTS_OF_ANNOTATIONS] param: R|I|): { @@ -58,7 +67,8 @@ FILE: functionWithParameter.kt } CONTRACTS: -FILE: functionWithParameter.kt +FILE: [IMPORTS] functionWithParameter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] interface I : R|kotlin/Any| { } public final [CONTRACTS] fun resolveMe([CONTRACTS] param: R|I|): { @@ -66,7 +76,8 @@ FILE: functionWithParameter.kt } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: functionWithParameter.kt +FILE: [IMPORTS] functionWithParameter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] interface I : R|kotlin/Any| { } public final [IMPLICIT_TYPES_BODY_RESOLVE] fun resolveMe([IMPLICIT_TYPES_BODY_RESOLVE] param: R|I|): R|kotlin/Unit| { @@ -74,7 +85,8 @@ FILE: functionWithParameter.kt } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: functionWithParameter.kt +FILE: [IMPORTS] functionWithParameter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] interface I : R|kotlin/Any| { } public final [ANNOTATIONS_ARGUMENTS_MAPPING] fun resolveMe([ANNOTATIONS_ARGUMENTS_MAPPING] param: R|I|): R|kotlin/Unit| { @@ -82,7 +94,8 @@ FILE: functionWithParameter.kt } BODY_RESOLVE: -FILE: functionWithParameter.kt +FILE: [IMPORTS] functionWithParameter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] interface I : R|kotlin/Any| { } public final [BODY_RESOLVE] fun resolveMe([BODY_RESOLVE] param: R|I|): R|kotlin/Unit| { @@ -90,7 +103,8 @@ FILE: functionWithParameter.kt } FILE RAW TO BODY: -FILE: functionWithParameter.kt +FILE: [IMPORTS] functionWithParameter.kt + [BODY_RESOLVE] annotations container public abstract [BODY_RESOLVE] interface I : R|kotlin/Any| { } public final [BODY_RESOLVE] fun resolveMe([BODY_RESOLVE] param: R|I|): R|kotlin/Unit| { diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/functions/functionCallWithGenericResult.txt b/analysis/low-level-api-fir/testdata/lazyResolve/functions/functionCallWithGenericResult.txt index 3ab4d2e05e7..7d5a6f5185f 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/functions/functionCallWithGenericResult.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/functions/functionCallWithGenericResult.txt @@ -1,6 +1,7 @@ RAW_FIR: -FILE: functionCallWithGenericResult.kt +FILE: [RAW_FIR] functionCallWithGenericResult.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -11,7 +12,8 @@ FILE: functionCallWithGenericResult.kt public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } IMPORTS: -FILE: functionCallWithGenericResult.kt +FILE: [IMPORTS] functionCallWithGenericResult.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -22,7 +24,8 @@ FILE: functionCallWithGenericResult.kt public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } COMPILER_REQUIRED_ANNOTATIONS: -FILE: functionCallWithGenericResult.kt +FILE: [IMPORTS] functionCallWithGenericResult.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -33,7 +36,8 @@ FILE: functionCallWithGenericResult.kt public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } COMPANION_GENERATION: -FILE: functionCallWithGenericResult.kt +FILE: [IMPORTS] functionCallWithGenericResult.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -44,7 +48,8 @@ FILE: functionCallWithGenericResult.kt public? final? [COMPANION_GENERATION] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } SUPER_TYPES: -FILE: functionCallWithGenericResult.kt +FILE: [IMPORTS] functionCallWithGenericResult.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -55,7 +60,8 @@ FILE: functionCallWithGenericResult.kt public? final? [SUPER_TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } TYPES: -FILE: functionCallWithGenericResult.kt +FILE: [IMPORTS] functionCallWithGenericResult.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -66,7 +72,8 @@ FILE: functionCallWithGenericResult.kt public? final? [TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } STATUS: -FILE: functionCallWithGenericResult.kt +FILE: [IMPORTS] functionCallWithGenericResult.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -77,7 +84,8 @@ FILE: functionCallWithGenericResult.kt public final [STATUS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } EXPECT_ACTUAL_MATCHING: -FILE: functionCallWithGenericResult.kt +FILE: [IMPORTS] functionCallWithGenericResult.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -90,7 +98,8 @@ FILE: functionCallWithGenericResult.kt } ARGUMENTS_OF_ANNOTATIONS: -FILE: functionCallWithGenericResult.kt +FILE: [IMPORTS] functionCallWithGenericResult.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -103,7 +112,8 @@ FILE: functionCallWithGenericResult.kt } CONTRACTS: -FILE: functionCallWithGenericResult.kt +FILE: [IMPORTS] functionCallWithGenericResult.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -116,7 +126,8 @@ FILE: functionCallWithGenericResult.kt } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: functionCallWithGenericResult.kt +FILE: [IMPORTS] functionCallWithGenericResult.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -129,7 +140,8 @@ FILE: functionCallWithGenericResult.kt } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: functionCallWithGenericResult.kt +FILE: [IMPORTS] functionCallWithGenericResult.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -142,7 +154,8 @@ FILE: functionCallWithGenericResult.kt } BODY_RESOLVE: -FILE: functionCallWithGenericResult.kt +FILE: [IMPORTS] functionCallWithGenericResult.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -157,7 +170,8 @@ FILE: functionCallWithGenericResult.kt } FILE RAW TO BODY: -FILE: functionCallWithGenericResult.kt +FILE: [IMPORTS] functionCallWithGenericResult.kt + [BODY_RESOLVE] annotations container public open [BODY_RESOLVE] class Foo<[BODY_RESOLVE] T : R|kotlin/CharSequence|> : R|kotlin/Any| { public [BODY_RESOLVE] [ContainingClassKey=Foo] constructor<[BODY_RESOLVE] T : R|kotlin/CharSequence|>(): R|Foo| { super() diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/functions/functionWithGenericExpectedTypeInside.txt b/analysis/low-level-api-fir/testdata/lazyResolve/functions/functionWithGenericExpectedTypeInside.txt index dba606ccb3f..e596ed33565 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/functions/functionWithGenericExpectedTypeInside.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/functions/functionWithGenericExpectedTypeInside.txt @@ -1,6 +1,7 @@ RAW_FIR: -FILE: functionWithGenericExpectedTypeInside.kt +FILE: [RAW_FIR] functionWithGenericExpectedTypeInside.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -17,7 +18,8 @@ FILE: functionWithGenericExpectedTypeInside.kt public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } IMPORTS: -FILE: functionWithGenericExpectedTypeInside.kt +FILE: [IMPORTS] functionWithGenericExpectedTypeInside.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -34,7 +36,8 @@ FILE: functionWithGenericExpectedTypeInside.kt public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } COMPILER_REQUIRED_ANNOTATIONS: -FILE: functionWithGenericExpectedTypeInside.kt +FILE: [IMPORTS] functionWithGenericExpectedTypeInside.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -51,7 +54,8 @@ FILE: functionWithGenericExpectedTypeInside.kt public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } COMPANION_GENERATION: -FILE: functionWithGenericExpectedTypeInside.kt +FILE: [IMPORTS] functionWithGenericExpectedTypeInside.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -68,7 +72,8 @@ FILE: functionWithGenericExpectedTypeInside.kt public? final? [COMPANION_GENERATION] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } SUPER_TYPES: -FILE: functionWithGenericExpectedTypeInside.kt +FILE: [IMPORTS] functionWithGenericExpectedTypeInside.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -85,7 +90,8 @@ FILE: functionWithGenericExpectedTypeInside.kt public? final? [SUPER_TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } TYPES: -FILE: functionWithGenericExpectedTypeInside.kt +FILE: [IMPORTS] functionWithGenericExpectedTypeInside.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -102,7 +108,8 @@ FILE: functionWithGenericExpectedTypeInside.kt public? final? [TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } STATUS: -FILE: functionWithGenericExpectedTypeInside.kt +FILE: [IMPORTS] functionWithGenericExpectedTypeInside.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -119,7 +126,8 @@ FILE: functionWithGenericExpectedTypeInside.kt public final [STATUS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } EXPECT_ACTUAL_MATCHING: -FILE: functionWithGenericExpectedTypeInside.kt +FILE: [IMPORTS] functionWithGenericExpectedTypeInside.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -138,7 +146,8 @@ FILE: functionWithGenericExpectedTypeInside.kt } ARGUMENTS_OF_ANNOTATIONS: -FILE: functionWithGenericExpectedTypeInside.kt +FILE: [IMPORTS] functionWithGenericExpectedTypeInside.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -157,7 +166,8 @@ FILE: functionWithGenericExpectedTypeInside.kt } CONTRACTS: -FILE: functionWithGenericExpectedTypeInside.kt +FILE: [IMPORTS] functionWithGenericExpectedTypeInside.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -176,7 +186,8 @@ FILE: functionWithGenericExpectedTypeInside.kt } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: functionWithGenericExpectedTypeInside.kt +FILE: [IMPORTS] functionWithGenericExpectedTypeInside.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -195,7 +206,8 @@ FILE: functionWithGenericExpectedTypeInside.kt } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: functionWithGenericExpectedTypeInside.kt +FILE: [IMPORTS] functionWithGenericExpectedTypeInside.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class Foo<[RAW_FIR] T : CharSequence> : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Foo] constructor<[RAW_FIR] T : CharSequence>(): R|Foo| { LAZY_super @@ -214,7 +226,8 @@ FILE: functionWithGenericExpectedTypeInside.kt } BODY_RESOLVE: -FILE: functionWithGenericExpectedTypeInside.kt +FILE: [IMPORTS] functionWithGenericExpectedTypeInside.kt + [RAW_FIR] annotations container public open [TYPES] class Foo<[TYPES] T : R|kotlin/CharSequence|> : R|kotlin/Any| { public [TYPES] [ContainingClassKey=Foo] constructor<[TYPES] T : R|kotlin/CharSequence|>(): R|Foo| { LAZY_super @@ -235,7 +248,8 @@ FILE: functionWithGenericExpectedTypeInside.kt } FILE RAW TO BODY: -FILE: functionWithGenericExpectedTypeInside.kt +FILE: [IMPORTS] functionWithGenericExpectedTypeInside.kt + [BODY_RESOLVE] annotations container public open [BODY_RESOLVE] class Foo<[BODY_RESOLVE] T : R|kotlin/CharSequence|> : R|kotlin/Any| { public [BODY_RESOLVE] [ContainingClassKey=Foo] constructor<[BODY_RESOLVE] T : R|kotlin/CharSequence|>(): R|Foo| { super() diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/functions/functionWithTypeParameters.txt b/analysis/low-level-api-fir/testdata/lazyResolve/functions/functionWithTypeParameters.txt index 3b79d03eeb7..ae842b8d554 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/functions/functionWithTypeParameters.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/functions/functionWithTypeParameters.txt @@ -1,63 +1,77 @@ RAW_FIR: -FILE: functionWithTypeParameters.kt +FILE: [RAW_FIR] functionWithTypeParameters.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] fun <[RAW_FIR] T : Int, [RAW_FIR] K> resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } IMPORTS: -FILE: functionWithTypeParameters.kt +FILE: [IMPORTS] functionWithTypeParameters.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] fun <[RAW_FIR] T : Int, [RAW_FIR] K> resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } COMPILER_REQUIRED_ANNOTATIONS: -FILE: functionWithTypeParameters.kt +FILE: [IMPORTS] functionWithTypeParameters.kt + [RAW_FIR] annotations container public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun <[COMPILER_REQUIRED_ANNOTATIONS] T : Int, [COMPILER_REQUIRED_ANNOTATIONS] K> resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } COMPANION_GENERATION: -FILE: functionWithTypeParameters.kt +FILE: [IMPORTS] functionWithTypeParameters.kt + [RAW_FIR] annotations container public? final? [COMPANION_GENERATION] fun <[COMPANION_GENERATION] T : Int, [COMPANION_GENERATION] K> resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } SUPER_TYPES: -FILE: functionWithTypeParameters.kt +FILE: [IMPORTS] functionWithTypeParameters.kt + [RAW_FIR] annotations container public? final? [SUPER_TYPES] fun <[SUPER_TYPES] T : Int, [SUPER_TYPES] K> resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } TYPES: -FILE: functionWithTypeParameters.kt +FILE: [IMPORTS] functionWithTypeParameters.kt + [RAW_FIR] annotations container public? final? [TYPES] fun <[TYPES] T : R|kotlin/Int|, [TYPES] K> resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } STATUS: -FILE: functionWithTypeParameters.kt +FILE: [IMPORTS] functionWithTypeParameters.kt + [RAW_FIR] annotations container public final [STATUS] fun <[STATUS] T : R|kotlin/Int|, [STATUS] K> resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } EXPECT_ACTUAL_MATCHING: -FILE: functionWithTypeParameters.kt +FILE: [IMPORTS] functionWithTypeParameters.kt + [RAW_FIR] annotations container public final [EXPECT_ACTUAL_MATCHING] fun <[EXPECT_ACTUAL_MATCHING] T : R|kotlin/Int|, [EXPECT_ACTUAL_MATCHING] K> resolveMe(): R|kotlin/Unit| { } ARGUMENTS_OF_ANNOTATIONS: -FILE: functionWithTypeParameters.kt +FILE: [IMPORTS] functionWithTypeParameters.kt + [RAW_FIR] annotations container public final [ARGUMENTS_OF_ANNOTATIONS] fun <[ARGUMENTS_OF_ANNOTATIONS] T : R|kotlin/Int|, [ARGUMENTS_OF_ANNOTATIONS] K> resolveMe(): R|kotlin/Unit| { } CONTRACTS: -FILE: functionWithTypeParameters.kt +FILE: [IMPORTS] functionWithTypeParameters.kt + [RAW_FIR] annotations container public final [CONTRACTS] fun <[CONTRACTS] T : R|kotlin/Int|, [CONTRACTS] K> resolveMe(): R|kotlin/Unit| { } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: functionWithTypeParameters.kt +FILE: [IMPORTS] functionWithTypeParameters.kt + [RAW_FIR] annotations container public final [IMPLICIT_TYPES_BODY_RESOLVE] fun <[IMPLICIT_TYPES_BODY_RESOLVE] T : R|kotlin/Int|, [IMPLICIT_TYPES_BODY_RESOLVE] K> resolveMe(): R|kotlin/Unit| { } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: functionWithTypeParameters.kt +FILE: [IMPORTS] functionWithTypeParameters.kt + [RAW_FIR] annotations container public final [ANNOTATIONS_ARGUMENTS_MAPPING] fun <[ANNOTATIONS_ARGUMENTS_MAPPING] T : R|kotlin/Int|, [ANNOTATIONS_ARGUMENTS_MAPPING] K> resolveMe(): R|kotlin/Unit| { } BODY_RESOLVE: -FILE: functionWithTypeParameters.kt +FILE: [IMPORTS] functionWithTypeParameters.kt + [RAW_FIR] annotations container public final [BODY_RESOLVE] fun <[BODY_RESOLVE] T : R|kotlin/Int|, [BODY_RESOLVE] K> resolveMe(): R|kotlin/Unit| { } FILE RAW TO BODY: -FILE: functionWithTypeParameters.kt +FILE: [IMPORTS] functionWithTypeParameters.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] fun <[BODY_RESOLVE] T : R|kotlin/Int|, [BODY_RESOLVE] K> resolveMe(): R|kotlin/Unit| { } diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/lambdaAsSAMInterface.txt b/analysis/low-level-api-fir/testdata/lazyResolve/lambdaAsSAMInterface.txt index e2434880149..943f0c614cd 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/lambdaAsSAMInterface.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/lambdaAsSAMInterface.txt @@ -1,6 +1,7 @@ RAW_FIR: -FILE: lambdaAsSAMInterface.kt +FILE: [RAW_FIR] lambdaAsSAMInterface.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { LAZY_super @@ -15,7 +16,8 @@ FILE: lambdaAsSAMInterface.kt public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } IMPORTS: -FILE: lambdaAsSAMInterface.kt +FILE: [IMPORTS] lambdaAsSAMInterface.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { LAZY_super @@ -30,7 +32,8 @@ FILE: lambdaAsSAMInterface.kt public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } COMPILER_REQUIRED_ANNOTATIONS: -FILE: lambdaAsSAMInterface.kt +FILE: [IMPORTS] lambdaAsSAMInterface.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { LAZY_super @@ -45,7 +48,8 @@ FILE: lambdaAsSAMInterface.kt public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } COMPANION_GENERATION: -FILE: lambdaAsSAMInterface.kt +FILE: [IMPORTS] lambdaAsSAMInterface.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { LAZY_super @@ -60,7 +64,8 @@ FILE: lambdaAsSAMInterface.kt public? final? [COMPANION_GENERATION] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } SUPER_TYPES: -FILE: lambdaAsSAMInterface.kt +FILE: [IMPORTS] lambdaAsSAMInterface.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { LAZY_super @@ -75,7 +80,8 @@ FILE: lambdaAsSAMInterface.kt public? final? [SUPER_TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } TYPES: -FILE: lambdaAsSAMInterface.kt +FILE: [IMPORTS] lambdaAsSAMInterface.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { LAZY_super @@ -90,7 +96,8 @@ FILE: lambdaAsSAMInterface.kt public? final? [TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } STATUS: -FILE: lambdaAsSAMInterface.kt +FILE: [IMPORTS] lambdaAsSAMInterface.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { LAZY_super @@ -105,7 +112,8 @@ FILE: lambdaAsSAMInterface.kt public final [STATUS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } EXPECT_ACTUAL_MATCHING: -FILE: lambdaAsSAMInterface.kt +FILE: [IMPORTS] lambdaAsSAMInterface.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { LAZY_super @@ -125,7 +133,8 @@ FILE: lambdaAsSAMInterface.kt } ARGUMENTS_OF_ANNOTATIONS: -FILE: lambdaAsSAMInterface.kt +FILE: [IMPORTS] lambdaAsSAMInterface.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { LAZY_super @@ -145,7 +154,8 @@ FILE: lambdaAsSAMInterface.kt } CONTRACTS: -FILE: lambdaAsSAMInterface.kt +FILE: [IMPORTS] lambdaAsSAMInterface.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { LAZY_super @@ -165,7 +175,8 @@ FILE: lambdaAsSAMInterface.kt } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: lambdaAsSAMInterface.kt +FILE: [IMPORTS] lambdaAsSAMInterface.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { LAZY_super @@ -185,7 +196,8 @@ FILE: lambdaAsSAMInterface.kt } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: lambdaAsSAMInterface.kt +FILE: [IMPORTS] lambdaAsSAMInterface.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { LAZY_super @@ -205,7 +217,8 @@ FILE: lambdaAsSAMInterface.kt } BODY_RESOLVE: -FILE: lambdaAsSAMInterface.kt +FILE: [IMPORTS] lambdaAsSAMInterface.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class Arg : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { LAZY_super @@ -226,7 +239,8 @@ FILE: lambdaAsSAMInterface.kt } FILE RAW TO BODY: -FILE: lambdaAsSAMInterface.kt +FILE: [IMPORTS] lambdaAsSAMInterface.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] class Arg : R|kotlin/Any| { public [BODY_RESOLVE] [ContainingClassKey=Arg] constructor(): R|foo/Arg| { super() diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/parameterOfNonLocalSetter.txt b/analysis/low-level-api-fir/testdata/lazyResolve/parameterOfNonLocalSetter.txt index 3f381fce79e..1b937d7ea0b 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/parameterOfNonLocalSetter.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/parameterOfNonLocalSetter.txt @@ -1,6 +1,7 @@ RAW_FIR: -FILE: parameterOfNonLocalSetter.kt +FILE: [RAW_FIR] parameterOfNonLocalSetter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class X : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -13,7 +14,8 @@ FILE: parameterOfNonLocalSetter.kt } IMPORTS: -FILE: parameterOfNonLocalSetter.kt +FILE: [IMPORTS] parameterOfNonLocalSetter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class X : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -26,7 +28,8 @@ FILE: parameterOfNonLocalSetter.kt } COMPILER_REQUIRED_ANNOTATIONS: -FILE: parameterOfNonLocalSetter.kt +FILE: [IMPORTS] parameterOfNonLocalSetter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class X : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -39,7 +42,8 @@ FILE: parameterOfNonLocalSetter.kt } COMPANION_GENERATION: -FILE: parameterOfNonLocalSetter.kt +FILE: [IMPORTS] parameterOfNonLocalSetter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class X : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -52,7 +56,8 @@ FILE: parameterOfNonLocalSetter.kt } SUPER_TYPES: -FILE: parameterOfNonLocalSetter.kt +FILE: [IMPORTS] parameterOfNonLocalSetter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class X : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -65,7 +70,8 @@ FILE: parameterOfNonLocalSetter.kt } TYPES: -FILE: parameterOfNonLocalSetter.kt +FILE: [IMPORTS] parameterOfNonLocalSetter.kt + [RAW_FIR] annotations container public? final? [SUPER_TYPES] class X : R|kotlin/Any| { public? [SUPER_TYPES] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -78,7 +84,8 @@ FILE: parameterOfNonLocalSetter.kt } STATUS: -FILE: parameterOfNonLocalSetter.kt +FILE: [IMPORTS] parameterOfNonLocalSetter.kt + [RAW_FIR] annotations container public final [SUPER_TYPES] class X : R|kotlin/Any| { public [TYPES] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -91,7 +98,8 @@ FILE: parameterOfNonLocalSetter.kt } EXPECT_ACTUAL_MATCHING: -FILE: parameterOfNonLocalSetter.kt +FILE: [IMPORTS] parameterOfNonLocalSetter.kt + [RAW_FIR] annotations container public final [SUPER_TYPES] class X : R|kotlin/Any| { public [TYPES] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -106,7 +114,8 @@ FILE: parameterOfNonLocalSetter.kt } ARGUMENTS_OF_ANNOTATIONS: -FILE: parameterOfNonLocalSetter.kt +FILE: [IMPORTS] parameterOfNonLocalSetter.kt + [RAW_FIR] annotations container public final [STATUS] class X : R|kotlin/Any| { public [STATUS] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -121,7 +130,8 @@ FILE: parameterOfNonLocalSetter.kt } CONTRACTS: -FILE: parameterOfNonLocalSetter.kt +FILE: [IMPORTS] parameterOfNonLocalSetter.kt + [RAW_FIR] annotations container public final [STATUS] class X : R|kotlin/Any| { public [STATUS] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -136,7 +146,8 @@ FILE: parameterOfNonLocalSetter.kt } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: parameterOfNonLocalSetter.kt +FILE: [IMPORTS] parameterOfNonLocalSetter.kt + [RAW_FIR] annotations container public final [STATUS] class X : R|kotlin/Any| { public [STATUS] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -151,7 +162,8 @@ FILE: parameterOfNonLocalSetter.kt } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: parameterOfNonLocalSetter.kt +FILE: [IMPORTS] parameterOfNonLocalSetter.kt + [RAW_FIR] annotations container public final [STATUS] class X : R|kotlin/Any| { public [STATUS] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -166,7 +178,8 @@ FILE: parameterOfNonLocalSetter.kt } BODY_RESOLVE: -FILE: parameterOfNonLocalSetter.kt +FILE: [IMPORTS] parameterOfNonLocalSetter.kt + [RAW_FIR] annotations container public final [STATUS] class X : R|kotlin/Any| { public [STATUS] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -181,7 +194,8 @@ FILE: parameterOfNonLocalSetter.kt } FILE RAW TO BODY: -FILE: parameterOfNonLocalSetter.kt +FILE: [IMPORTS] parameterOfNonLocalSetter.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] class X : R|kotlin/Any| { public [BODY_RESOLVE] [ContainingClassKey=X] constructor(): R|X| { super() diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/properties/propertyWithTypeParameters.txt b/analysis/low-level-api-fir/testdata/lazyResolve/properties/propertyWithTypeParameters.txt index da9d5afeb3e..2258a06f442 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/properties/propertyWithTypeParameters.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/properties/propertyWithTypeParameters.txt @@ -1,83 +1,97 @@ RAW_FIR: -FILE: propertyWithTypeParameters.kt +FILE: [RAW_FIR] propertyWithTypeParameters.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] val <[RAW_FIR] T : Int, [RAW_FIR] K> T.resolveMe: K public? [RAW_FIR] get(): K { LAZY_BLOCK } IMPORTS: -FILE: propertyWithTypeParameters.kt +FILE: [IMPORTS] propertyWithTypeParameters.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] val <[RAW_FIR] T : Int, [RAW_FIR] K> T.resolveMe: K public? [RAW_FIR] get(): K { LAZY_BLOCK } COMPILER_REQUIRED_ANNOTATIONS: -FILE: propertyWithTypeParameters.kt +FILE: [IMPORTS] propertyWithTypeParameters.kt + [RAW_FIR] annotations container public? final? [COMPILER_REQUIRED_ANNOTATIONS] val <[COMPILER_REQUIRED_ANNOTATIONS] T : Int, [COMPILER_REQUIRED_ANNOTATIONS] K> T.resolveMe: K public? [COMPILER_REQUIRED_ANNOTATIONS] get(): K { LAZY_BLOCK } COMPANION_GENERATION: -FILE: propertyWithTypeParameters.kt +FILE: [IMPORTS] propertyWithTypeParameters.kt + [RAW_FIR] annotations container public? final? [COMPANION_GENERATION] val <[COMPANION_GENERATION] T : Int, [COMPANION_GENERATION] K> T.resolveMe: K public? [COMPANION_GENERATION] get(): K { LAZY_BLOCK } SUPER_TYPES: -FILE: propertyWithTypeParameters.kt +FILE: [IMPORTS] propertyWithTypeParameters.kt + [RAW_FIR] annotations container public? final? [SUPER_TYPES] val <[SUPER_TYPES] T : Int, [SUPER_TYPES] K> T.resolveMe: K public? [SUPER_TYPES] get(): K { LAZY_BLOCK } TYPES: -FILE: propertyWithTypeParameters.kt +FILE: [IMPORTS] propertyWithTypeParameters.kt + [RAW_FIR] annotations container public? final? [TYPES] val <[TYPES] T : R|kotlin/Int|, [TYPES] K> R|T|.resolveMe: R|K| public? [TYPES] get(): R|K| { LAZY_BLOCK } STATUS: -FILE: propertyWithTypeParameters.kt +FILE: [IMPORTS] propertyWithTypeParameters.kt + [RAW_FIR] annotations container public final [STATUS] val <[STATUS] T : R|kotlin/Int|, [STATUS] K> R|T|.resolveMe: R|K| public [STATUS] get(): R|K| { LAZY_BLOCK } EXPECT_ACTUAL_MATCHING: -FILE: propertyWithTypeParameters.kt +FILE: [IMPORTS] propertyWithTypeParameters.kt + [RAW_FIR] annotations container public final [EXPECT_ACTUAL_MATCHING] val <[EXPECT_ACTUAL_MATCHING] T : R|kotlin/Int|, [EXPECT_ACTUAL_MATCHING] K> R|T|.resolveMe: R|K| public [EXPECT_ACTUAL_MATCHING] get(): R|K| { ^ TODO#() } ARGUMENTS_OF_ANNOTATIONS: -FILE: propertyWithTypeParameters.kt +FILE: [IMPORTS] propertyWithTypeParameters.kt + [RAW_FIR] annotations container public final [ARGUMENTS_OF_ANNOTATIONS] val <[ARGUMENTS_OF_ANNOTATIONS] T : R|kotlin/Int|, [ARGUMENTS_OF_ANNOTATIONS] K> R|T|.resolveMe: R|K| public [ARGUMENTS_OF_ANNOTATIONS] get(): R|K| { ^ TODO#() } CONTRACTS: -FILE: propertyWithTypeParameters.kt +FILE: [IMPORTS] propertyWithTypeParameters.kt + [RAW_FIR] annotations container public final [CONTRACTS] val <[CONTRACTS] T : R|kotlin/Int|, [CONTRACTS] K> R|T|.resolveMe: R|K| public [CONTRACTS] get(): R|K| { ^ TODO#() } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: propertyWithTypeParameters.kt +FILE: [IMPORTS] propertyWithTypeParameters.kt + [RAW_FIR] annotations container public final [IMPLICIT_TYPES_BODY_RESOLVE] val <[IMPLICIT_TYPES_BODY_RESOLVE] T : R|kotlin/Int|, [IMPLICIT_TYPES_BODY_RESOLVE] K> R|T|.resolveMe: R|K| public [IMPLICIT_TYPES_BODY_RESOLVE] get(): R|K| { ^ TODO#() } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: propertyWithTypeParameters.kt +FILE: [IMPORTS] propertyWithTypeParameters.kt + [RAW_FIR] annotations container public final [ANNOTATIONS_ARGUMENTS_MAPPING] val <[ANNOTATIONS_ARGUMENTS_MAPPING] T : R|kotlin/Int|, [ANNOTATIONS_ARGUMENTS_MAPPING] K> R|T|.resolveMe: R|K| public [ANNOTATIONS_ARGUMENTS_MAPPING] get(): R|K| { ^ TODO#() } BODY_RESOLVE: -FILE: propertyWithTypeParameters.kt +FILE: [IMPORTS] propertyWithTypeParameters.kt + [RAW_FIR] annotations container public final [BODY_RESOLVE] val <[BODY_RESOLVE] T : R|kotlin/Int|, [BODY_RESOLVE] K> R|T|.resolveMe: R|K| public [BODY_RESOLVE] get(): R|K| { ^ R|kotlin/TODO|() } FILE RAW TO BODY: -FILE: propertyWithTypeParameters.kt +FILE: [IMPORTS] propertyWithTypeParameters.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] val <[BODY_RESOLVE] T : R|kotlin/Int|, [BODY_RESOLVE] K> R|T|.resolveMe: R|K| public [BODY_RESOLVE] get(): R|K| { ^ R|kotlin/TODO|() diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/propertyWithGetter.txt b/analysis/low-level-api-fir/testdata/lazyResolve/propertyWithGetter.txt index 376604bece0..147aca90cf4 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/propertyWithGetter.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/propertyWithGetter.txt @@ -1,55 +1,63 @@ RAW_FIR: -FILE: propertyWithGetter.kt +FILE: [RAW_FIR] propertyWithGetter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] val withGetter: Int public? [RAW_FIR] get(): Int { LAZY_BLOCK } IMPORTS: -FILE: propertyWithGetter.kt +FILE: [IMPORTS] propertyWithGetter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] val withGetter: Int public? [RAW_FIR] get(): Int { LAZY_BLOCK } COMPILER_REQUIRED_ANNOTATIONS: -FILE: propertyWithGetter.kt +FILE: [IMPORTS] propertyWithGetter.kt + [RAW_FIR] annotations container public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] val withGetter: Int public? [RAW_FIR] get(): Int { LAZY_BLOCK } COMPANION_GENERATION: -FILE: propertyWithGetter.kt +FILE: [IMPORTS] propertyWithGetter.kt + [RAW_FIR] annotations container public? final? [COMPANION_GENERATION] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] val withGetter: Int public? [RAW_FIR] get(): Int { LAZY_BLOCK } SUPER_TYPES: -FILE: propertyWithGetter.kt +FILE: [IMPORTS] propertyWithGetter.kt + [RAW_FIR] annotations container public? final? [SUPER_TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] val withGetter: Int public? [RAW_FIR] get(): Int { LAZY_BLOCK } TYPES: -FILE: propertyWithGetter.kt +FILE: [IMPORTS] propertyWithGetter.kt + [RAW_FIR] annotations container public? final? [TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] val withGetter: Int public? [RAW_FIR] get(): Int { LAZY_BLOCK } STATUS: -FILE: propertyWithGetter.kt +FILE: [IMPORTS] propertyWithGetter.kt + [RAW_FIR] annotations container public final [STATUS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] val withGetter: Int public? [RAW_FIR] get(): Int { LAZY_BLOCK } EXPECT_ACTUAL_MATCHING: -FILE: propertyWithGetter.kt +FILE: [IMPORTS] propertyWithGetter.kt + [RAW_FIR] annotations container public final [EXPECT_ACTUAL_MATCHING] fun resolveMe(): R|kotlin/Unit| { receive#(withGetter#) } @@ -58,7 +66,8 @@ FILE: propertyWithGetter.kt public? [RAW_FIR] get(): Int { LAZY_BLOCK } ARGUMENTS_OF_ANNOTATIONS: -FILE: propertyWithGetter.kt +FILE: [IMPORTS] propertyWithGetter.kt + [RAW_FIR] annotations container public final [ARGUMENTS_OF_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { receive#(withGetter#) } @@ -67,7 +76,8 @@ FILE: propertyWithGetter.kt public? [RAW_FIR] get(): Int { LAZY_BLOCK } CONTRACTS: -FILE: propertyWithGetter.kt +FILE: [IMPORTS] propertyWithGetter.kt + [RAW_FIR] annotations container public final [CONTRACTS] fun resolveMe(): R|kotlin/Unit| { receive#(withGetter#) } @@ -76,7 +86,8 @@ FILE: propertyWithGetter.kt public? [RAW_FIR] get(): Int { LAZY_BLOCK } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: propertyWithGetter.kt +FILE: [IMPORTS] propertyWithGetter.kt + [RAW_FIR] annotations container public final [IMPLICIT_TYPES_BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { receive#(withGetter#) } @@ -85,7 +96,8 @@ FILE: propertyWithGetter.kt public? [RAW_FIR] get(): Int { LAZY_BLOCK } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: propertyWithGetter.kt +FILE: [IMPORTS] propertyWithGetter.kt + [RAW_FIR] annotations container public final [ANNOTATIONS_ARGUMENTS_MAPPING] fun resolveMe(): R|kotlin/Unit| { receive#(withGetter#) } @@ -94,7 +106,8 @@ FILE: propertyWithGetter.kt public? [RAW_FIR] get(): Int { LAZY_BLOCK } BODY_RESOLVE: -FILE: propertyWithGetter.kt +FILE: [IMPORTS] propertyWithGetter.kt + [RAW_FIR] annotations container public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { R|/receive|(R|/withGetter|) } @@ -106,7 +119,8 @@ FILE: propertyWithGetter.kt } FILE RAW TO BODY: -FILE: propertyWithGetter.kt +FILE: [IMPORTS] propertyWithGetter.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { R|/receive|(R|/withGetter|) } diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/propertyWithGetterAndSetter.txt b/analysis/low-level-api-fir/testdata/lazyResolve/propertyWithGetterAndSetter.txt index c6a3e56126a..3944860b60e 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/propertyWithGetterAndSetter.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/propertyWithGetterAndSetter.txt @@ -1,6 +1,7 @@ RAW_FIR: -FILE: propertyWithGetterAndSetter.kt +FILE: [RAW_FIR] propertyWithGetterAndSetter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] var withGetterAndSetter: Int = LAZY_EXPRESSION @@ -8,7 +9,8 @@ FILE: propertyWithGetterAndSetter.kt public? [RAW_FIR] set([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } IMPORTS: -FILE: propertyWithGetterAndSetter.kt +FILE: [IMPORTS] propertyWithGetterAndSetter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] var withGetterAndSetter: Int = LAZY_EXPRESSION @@ -16,7 +18,8 @@ FILE: propertyWithGetterAndSetter.kt public? [RAW_FIR] set([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } COMPILER_REQUIRED_ANNOTATIONS: -FILE: propertyWithGetterAndSetter.kt +FILE: [IMPORTS] propertyWithGetterAndSetter.kt + [RAW_FIR] annotations container public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] var withGetterAndSetter: Int = LAZY_EXPRESSION @@ -24,7 +27,8 @@ FILE: propertyWithGetterAndSetter.kt public? [RAW_FIR] set([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } COMPANION_GENERATION: -FILE: propertyWithGetterAndSetter.kt +FILE: [IMPORTS] propertyWithGetterAndSetter.kt + [RAW_FIR] annotations container public? final? [COMPANION_GENERATION] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] var withGetterAndSetter: Int = LAZY_EXPRESSION @@ -32,7 +36,8 @@ FILE: propertyWithGetterAndSetter.kt public? [RAW_FIR] set([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } SUPER_TYPES: -FILE: propertyWithGetterAndSetter.kt +FILE: [IMPORTS] propertyWithGetterAndSetter.kt + [RAW_FIR] annotations container public? final? [SUPER_TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] var withGetterAndSetter: Int = LAZY_EXPRESSION @@ -40,7 +45,8 @@ FILE: propertyWithGetterAndSetter.kt public? [RAW_FIR] set([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } TYPES: -FILE: propertyWithGetterAndSetter.kt +FILE: [IMPORTS] propertyWithGetterAndSetter.kt + [RAW_FIR] annotations container public? final? [TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] var withGetterAndSetter: Int = LAZY_EXPRESSION @@ -48,7 +54,8 @@ FILE: propertyWithGetterAndSetter.kt public? [RAW_FIR] set([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } STATUS: -FILE: propertyWithGetterAndSetter.kt +FILE: [IMPORTS] propertyWithGetterAndSetter.kt + [RAW_FIR] annotations container public final [STATUS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] var withGetterAndSetter: Int = LAZY_EXPRESSION @@ -56,7 +63,8 @@ FILE: propertyWithGetterAndSetter.kt public? [RAW_FIR] set([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } EXPECT_ACTUAL_MATCHING: -FILE: propertyWithGetterAndSetter.kt +FILE: [IMPORTS] propertyWithGetterAndSetter.kt + [RAW_FIR] annotations container public final [EXPECT_ACTUAL_MATCHING] fun resolveMe(): R|kotlin/Unit| { receive#(withGetterAndSetter#) withGetterAndSetter# = IntegerLiteral(123) @@ -67,7 +75,8 @@ FILE: propertyWithGetterAndSetter.kt public? [RAW_FIR] set([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } ARGUMENTS_OF_ANNOTATIONS: -FILE: propertyWithGetterAndSetter.kt +FILE: [IMPORTS] propertyWithGetterAndSetter.kt + [RAW_FIR] annotations container public final [ARGUMENTS_OF_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { receive#(withGetterAndSetter#) withGetterAndSetter# = IntegerLiteral(123) @@ -78,7 +87,8 @@ FILE: propertyWithGetterAndSetter.kt public? [RAW_FIR] set([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } CONTRACTS: -FILE: propertyWithGetterAndSetter.kt +FILE: [IMPORTS] propertyWithGetterAndSetter.kt + [RAW_FIR] annotations container public final [CONTRACTS] fun resolveMe(): R|kotlin/Unit| { receive#(withGetterAndSetter#) withGetterAndSetter# = IntegerLiteral(123) @@ -89,7 +99,8 @@ FILE: propertyWithGetterAndSetter.kt public? [RAW_FIR] set([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: propertyWithGetterAndSetter.kt +FILE: [IMPORTS] propertyWithGetterAndSetter.kt + [RAW_FIR] annotations container public final [IMPLICIT_TYPES_BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { receive#(withGetterAndSetter#) withGetterAndSetter# = IntegerLiteral(123) @@ -100,7 +111,8 @@ FILE: propertyWithGetterAndSetter.kt public? [RAW_FIR] set([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: propertyWithGetterAndSetter.kt +FILE: [IMPORTS] propertyWithGetterAndSetter.kt + [RAW_FIR] annotations container public final [ANNOTATIONS_ARGUMENTS_MAPPING] fun resolveMe(): R|kotlin/Unit| { receive#(withGetterAndSetter#) withGetterAndSetter# = IntegerLiteral(123) @@ -111,7 +123,8 @@ FILE: propertyWithGetterAndSetter.kt public? [RAW_FIR] set([RAW_FIR] value: Int): R|kotlin/Unit| { LAZY_BLOCK } BODY_RESOLVE: -FILE: propertyWithGetterAndSetter.kt +FILE: [IMPORTS] propertyWithGetterAndSetter.kt + [RAW_FIR] annotations container public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { R|/receive|(R|/withGetterAndSetter|) R|/withGetterAndSetter| = Int(123) @@ -127,7 +140,8 @@ FILE: propertyWithGetterAndSetter.kt } FILE RAW TO BODY: -FILE: propertyWithGetterAndSetter.kt +FILE: [IMPORTS] propertyWithGetterAndSetter.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { R|/receive|(R|/withGetterAndSetter|) R|/withGetterAndSetter| = Int(123) diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/propertyWithInitializer.txt b/analysis/low-level-api-fir/testdata/lazyResolve/propertyWithInitializer.txt index a24ddbc6ee4..30f671f2179 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/propertyWithInitializer.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/propertyWithInitializer.txt @@ -1,48 +1,56 @@ RAW_FIR: -FILE: propertyWithInitializer.kt +FILE: [RAW_FIR] propertyWithInitializer.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] val property: Int = LAZY_EXPRESSION public? [RAW_FIR] get(): Int IMPORTS: -FILE: propertyWithInitializer.kt +FILE: [IMPORTS] propertyWithInitializer.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] val property: Int = LAZY_EXPRESSION public? [RAW_FIR] get(): Int COMPILER_REQUIRED_ANNOTATIONS: -FILE: propertyWithInitializer.kt +FILE: [IMPORTS] propertyWithInitializer.kt + [RAW_FIR] annotations container public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] val property: Int = LAZY_EXPRESSION public? [RAW_FIR] get(): Int COMPANION_GENERATION: -FILE: propertyWithInitializer.kt +FILE: [IMPORTS] propertyWithInitializer.kt + [RAW_FIR] annotations container public? final? [COMPANION_GENERATION] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] val property: Int = LAZY_EXPRESSION public? [RAW_FIR] get(): Int SUPER_TYPES: -FILE: propertyWithInitializer.kt +FILE: [IMPORTS] propertyWithInitializer.kt + [RAW_FIR] annotations container public? final? [SUPER_TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] val property: Int = LAZY_EXPRESSION public? [RAW_FIR] get(): Int TYPES: -FILE: propertyWithInitializer.kt +FILE: [IMPORTS] propertyWithInitializer.kt + [RAW_FIR] annotations container public? final? [TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] val property: Int = LAZY_EXPRESSION public? [RAW_FIR] get(): Int STATUS: -FILE: propertyWithInitializer.kt +FILE: [IMPORTS] propertyWithInitializer.kt + [RAW_FIR] annotations container public final [STATUS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] val property: Int = LAZY_EXPRESSION public? [RAW_FIR] get(): Int EXPECT_ACTUAL_MATCHING: -FILE: propertyWithInitializer.kt +FILE: [IMPORTS] propertyWithInitializer.kt + [RAW_FIR] annotations container public final [EXPECT_ACTUAL_MATCHING] fun resolveMe(): R|kotlin/Unit| { receive#(property#) } @@ -50,7 +58,8 @@ FILE: propertyWithInitializer.kt public? [RAW_FIR] get(): Int ARGUMENTS_OF_ANNOTATIONS: -FILE: propertyWithInitializer.kt +FILE: [IMPORTS] propertyWithInitializer.kt + [RAW_FIR] annotations container public final [ARGUMENTS_OF_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { receive#(property#) } @@ -58,7 +67,8 @@ FILE: propertyWithInitializer.kt public? [RAW_FIR] get(): Int CONTRACTS: -FILE: propertyWithInitializer.kt +FILE: [IMPORTS] propertyWithInitializer.kt + [RAW_FIR] annotations container public final [CONTRACTS] fun resolveMe(): R|kotlin/Unit| { receive#(property#) } @@ -66,7 +76,8 @@ FILE: propertyWithInitializer.kt public? [RAW_FIR] get(): Int IMPLICIT_TYPES_BODY_RESOLVE: -FILE: propertyWithInitializer.kt +FILE: [IMPORTS] propertyWithInitializer.kt + [RAW_FIR] annotations container public final [IMPLICIT_TYPES_BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { receive#(property#) } @@ -74,7 +85,8 @@ FILE: propertyWithInitializer.kt public? [RAW_FIR] get(): Int ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: propertyWithInitializer.kt +FILE: [IMPORTS] propertyWithInitializer.kt + [RAW_FIR] annotations container public final [ANNOTATIONS_ARGUMENTS_MAPPING] fun resolveMe(): R|kotlin/Unit| { receive#(property#) } @@ -82,7 +94,8 @@ FILE: propertyWithInitializer.kt public? [RAW_FIR] get(): Int BODY_RESOLVE: -FILE: propertyWithInitializer.kt +FILE: [IMPORTS] propertyWithInitializer.kt + [RAW_FIR] annotations container public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { #(R|/property|) } @@ -90,7 +103,8 @@ FILE: propertyWithInitializer.kt public [CONTRACTS] get(): R|kotlin/Int| FILE RAW TO BODY: -FILE: propertyWithInitializer.kt +FILE: [IMPORTS] propertyWithInitializer.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { #(R|/property|) } diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/secondaryConstructor.txt b/analysis/low-level-api-fir/testdata/lazyResolve/secondaryConstructor.txt index f6d7b9def6f..53c71e4944d 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/secondaryConstructor.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/secondaryConstructor.txt @@ -1,6 +1,7 @@ RAW_FIR: -FILE: secondaryConstructor.kt +FILE: [RAW_FIR] secondaryConstructor.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: A): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] class A : R|kotlin/Any| { @@ -9,7 +10,8 @@ FILE: secondaryConstructor.kt } IMPORTS: -FILE: secondaryConstructor.kt +FILE: [IMPORTS] secondaryConstructor.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: A): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] class A : R|kotlin/Any| { @@ -18,7 +20,8 @@ FILE: secondaryConstructor.kt } COMPILER_REQUIRED_ANNOTATIONS: -FILE: secondaryConstructor.kt +FILE: [IMPORTS] secondaryConstructor.kt + [RAW_FIR] annotations container public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: A): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] class A : R|kotlin/Any| { @@ -27,7 +30,8 @@ FILE: secondaryConstructor.kt } COMPANION_GENERATION: -FILE: secondaryConstructor.kt +FILE: [IMPORTS] secondaryConstructor.kt + [RAW_FIR] annotations container public? final? [COMPANION_GENERATION] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: A): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] class A : R|kotlin/Any| { @@ -36,7 +40,8 @@ FILE: secondaryConstructor.kt } SUPER_TYPES: -FILE: secondaryConstructor.kt +FILE: [IMPORTS] secondaryConstructor.kt + [RAW_FIR] annotations container public? final? [SUPER_TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: A): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] class A : R|kotlin/Any| { @@ -45,7 +50,8 @@ FILE: secondaryConstructor.kt } TYPES: -FILE: secondaryConstructor.kt +FILE: [IMPORTS] secondaryConstructor.kt + [RAW_FIR] annotations container public? final? [TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: A): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] class A : R|kotlin/Any| { @@ -54,7 +60,8 @@ FILE: secondaryConstructor.kt } STATUS: -FILE: secondaryConstructor.kt +FILE: [IMPORTS] secondaryConstructor.kt + [RAW_FIR] annotations container public final [STATUS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: A): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] class A : R|kotlin/Any| { @@ -63,7 +70,8 @@ FILE: secondaryConstructor.kt } EXPECT_ACTUAL_MATCHING: -FILE: secondaryConstructor.kt +FILE: [IMPORTS] secondaryConstructor.kt + [RAW_FIR] annotations container public final [EXPECT_ACTUAL_MATCHING] fun resolveMe(): R|kotlin/Unit| { receive#(A#(IntegerLiteral(42))) } @@ -74,7 +82,8 @@ FILE: secondaryConstructor.kt } ARGUMENTS_OF_ANNOTATIONS: -FILE: secondaryConstructor.kt +FILE: [IMPORTS] secondaryConstructor.kt + [RAW_FIR] annotations container public final [ARGUMENTS_OF_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { receive#(A#(IntegerLiteral(42))) } @@ -85,7 +94,8 @@ FILE: secondaryConstructor.kt } CONTRACTS: -FILE: secondaryConstructor.kt +FILE: [IMPORTS] secondaryConstructor.kt + [RAW_FIR] annotations container public final [CONTRACTS] fun resolveMe(): R|kotlin/Unit| { receive#(A#(IntegerLiteral(42))) } @@ -96,7 +106,8 @@ FILE: secondaryConstructor.kt } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: secondaryConstructor.kt +FILE: [IMPORTS] secondaryConstructor.kt + [RAW_FIR] annotations container public final [IMPLICIT_TYPES_BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { receive#(A#(IntegerLiteral(42))) } @@ -107,7 +118,8 @@ FILE: secondaryConstructor.kt } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: secondaryConstructor.kt +FILE: [IMPORTS] secondaryConstructor.kt + [RAW_FIR] annotations container public final [ANNOTATIONS_ARGUMENTS_MAPPING] fun resolveMe(): R|kotlin/Unit| { receive#(A#(IntegerLiteral(42))) } @@ -118,7 +130,8 @@ FILE: secondaryConstructor.kt } BODY_RESOLVE: -FILE: secondaryConstructor.kt +FILE: [IMPORTS] secondaryConstructor.kt + [RAW_FIR] annotations container public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { R|/receive|(R|/A.A|(Int(42))) } @@ -130,7 +143,8 @@ FILE: secondaryConstructor.kt } FILE RAW TO BODY: -FILE: secondaryConstructor.kt +FILE: [IMPORTS] secondaryConstructor.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { R|/receive|(R|/A.A|(Int(42))) } diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/superTypes.txt b/analysis/low-level-api-fir/testdata/lazyResolve/superTypes.txt index 8c3a3c31c30..267f870b579 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/superTypes.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/superTypes.txt @@ -1,6 +1,7 @@ RAW_FIR: -FILE: superTypes.kt +FILE: [RAW_FIR] superTypes.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -21,7 +22,8 @@ FILE: superTypes.kt } IMPORTS: -FILE: superTypes.kt +FILE: [IMPORTS] superTypes.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -42,7 +44,8 @@ FILE: superTypes.kt } COMPILER_REQUIRED_ANNOTATIONS: -FILE: superTypes.kt +FILE: [IMPORTS] superTypes.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -63,7 +66,8 @@ FILE: superTypes.kt } COMPANION_GENERATION: -FILE: superTypes.kt +FILE: [IMPORTS] superTypes.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -84,7 +88,8 @@ FILE: superTypes.kt } SUPER_TYPES: -FILE: superTypes.kt +FILE: [IMPORTS] superTypes.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class A : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -105,7 +110,8 @@ FILE: superTypes.kt } TYPES: -FILE: superTypes.kt +FILE: [IMPORTS] superTypes.kt + [RAW_FIR] annotations container public? open [SUPER_TYPES] class A : R|kotlin/Any| { public? [SUPER_TYPES] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -126,7 +132,8 @@ FILE: superTypes.kt } STATUS: -FILE: superTypes.kt +FILE: [IMPORTS] superTypes.kt + [RAW_FIR] annotations container public open [TYPES] class A : R|kotlin/Any| { public [TYPES] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -147,7 +154,8 @@ FILE: superTypes.kt } EXPECT_ACTUAL_MATCHING: -FILE: superTypes.kt +FILE: [IMPORTS] superTypes.kt + [RAW_FIR] annotations container public open [TYPES] class A : R|kotlin/Any| { public [TYPES] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -168,7 +176,8 @@ FILE: superTypes.kt } ARGUMENTS_OF_ANNOTATIONS: -FILE: superTypes.kt +FILE: [IMPORTS] superTypes.kt + [RAW_FIR] annotations container public open [TYPES] class A : R|kotlin/Any| { public [TYPES] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -189,7 +198,8 @@ FILE: superTypes.kt } CONTRACTS: -FILE: superTypes.kt +FILE: [IMPORTS] superTypes.kt + [RAW_FIR] annotations container public open [TYPES] class A : R|kotlin/Any| { public [TYPES] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -210,7 +220,8 @@ FILE: superTypes.kt } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: superTypes.kt +FILE: [IMPORTS] superTypes.kt + [RAW_FIR] annotations container public open [TYPES] class A : R|kotlin/Any| { public [TYPES] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -231,7 +242,8 @@ FILE: superTypes.kt } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: superTypes.kt +FILE: [IMPORTS] superTypes.kt + [RAW_FIR] annotations container public open [TYPES] class A : R|kotlin/Any| { public [TYPES] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -252,7 +264,8 @@ FILE: superTypes.kt } BODY_RESOLVE: -FILE: superTypes.kt +FILE: [IMPORTS] superTypes.kt + [RAW_FIR] annotations container public open [STATUS] class A : R|kotlin/Any| { public [STATUS] [ContainingClassKey=A] constructor(): R|A| { LAZY_super @@ -273,7 +286,8 @@ FILE: superTypes.kt } FILE RAW TO BODY: -FILE: superTypes.kt +FILE: [IMPORTS] superTypes.kt + [BODY_RESOLVE] annotations container public open [BODY_RESOLVE] class A : R|kotlin/Any| { public [BODY_RESOLVE] [ContainingClassKey=A] constructor(): R|A| { super() diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/superTypesLoop.txt b/analysis/low-level-api-fir/testdata/lazyResolve/superTypesLoop.txt index fd63ea1a6b4..9d8bafaa4c9 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/superTypesLoop.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/superTypesLoop.txt @@ -1,6 +1,7 @@ RAW_FIR: -FILE: superTypesLoop.kt +FILE: [RAW_FIR] superTypesLoop.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class resolveMe : C { public? [RAW_FIR] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { LAZY_super @@ -27,7 +28,8 @@ FILE: superTypesLoop.kt } IMPORTS: -FILE: superTypesLoop.kt +FILE: [IMPORTS] superTypesLoop.kt + [RAW_FIR] annotations container public? open [RAW_FIR] class resolveMe : C { public? [RAW_FIR] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { LAZY_super @@ -54,7 +56,8 @@ FILE: superTypesLoop.kt } COMPILER_REQUIRED_ANNOTATIONS: -FILE: superTypesLoop.kt +FILE: [IMPORTS] superTypesLoop.kt + [RAW_FIR] annotations container public? open [COMPILER_REQUIRED_ANNOTATIONS] class resolveMe : C { public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { LAZY_super @@ -81,7 +84,8 @@ FILE: superTypesLoop.kt } COMPANION_GENERATION: -FILE: superTypesLoop.kt +FILE: [IMPORTS] superTypesLoop.kt + [RAW_FIR] annotations container public? open [COMPANION_GENERATION] class resolveMe : C { public? [COMPANION_GENERATION] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { LAZY_super @@ -108,7 +112,8 @@ FILE: superTypesLoop.kt } SUPER_TYPES: -FILE: superTypesLoop.kt +FILE: [IMPORTS] superTypesLoop.kt + [RAW_FIR] annotations container public? open [SUPER_TYPES] class resolveMe : R|C| { public? [SUPER_TYPES] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { LAZY_super @@ -135,7 +140,8 @@ FILE: superTypesLoop.kt } TYPES: -FILE: superTypesLoop.kt +FILE: [IMPORTS] superTypesLoop.kt + [RAW_FIR] annotations container public? open [TYPES] class resolveMe : R|C| { public? [TYPES] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { LAZY_super @@ -162,7 +168,8 @@ FILE: superTypesLoop.kt } STATUS: -FILE: superTypesLoop.kt +FILE: [IMPORTS] superTypesLoop.kt + [RAW_FIR] annotations container public open [STATUS] class resolveMe : R|C| { public [STATUS] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { LAZY_super @@ -189,7 +196,8 @@ FILE: superTypesLoop.kt } EXPECT_ACTUAL_MATCHING: -FILE: superTypesLoop.kt +FILE: [IMPORTS] superTypesLoop.kt + [RAW_FIR] annotations container public open [EXPECT_ACTUAL_MATCHING] class resolveMe : R|C| { public [EXPECT_ACTUAL_MATCHING] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { super() @@ -216,7 +224,8 @@ FILE: superTypesLoop.kt } ARGUMENTS_OF_ANNOTATIONS: -FILE: superTypesLoop.kt +FILE: [IMPORTS] superTypesLoop.kt + [RAW_FIR] annotations container public open [ARGUMENTS_OF_ANNOTATIONS] class resolveMe : R|C| { public [ARGUMENTS_OF_ANNOTATIONS] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { super() @@ -243,7 +252,8 @@ FILE: superTypesLoop.kt } CONTRACTS: -FILE: superTypesLoop.kt +FILE: [IMPORTS] superTypesLoop.kt + [RAW_FIR] annotations container public open [CONTRACTS] class resolveMe : R|C| { public [CONTRACTS] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { super() @@ -270,7 +280,8 @@ FILE: superTypesLoop.kt } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: superTypesLoop.kt +FILE: [IMPORTS] superTypesLoop.kt + [RAW_FIR] annotations container public open [IMPLICIT_TYPES_BODY_RESOLVE] class resolveMe : R|C| { public [IMPLICIT_TYPES_BODY_RESOLVE] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { super() @@ -297,7 +308,8 @@ FILE: superTypesLoop.kt } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: superTypesLoop.kt +FILE: [IMPORTS] superTypesLoop.kt + [RAW_FIR] annotations container public open [ANNOTATIONS_ARGUMENTS_MAPPING] class resolveMe : R|C| { public [ANNOTATIONS_ARGUMENTS_MAPPING] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { super() @@ -324,7 +336,8 @@ FILE: superTypesLoop.kt } BODY_RESOLVE: -FILE: superTypesLoop.kt +FILE: [IMPORTS] superTypesLoop.kt + [RAW_FIR] annotations container public open [BODY_RESOLVE] class resolveMe : R|C| { public [BODY_RESOLVE] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { super() @@ -351,7 +364,8 @@ FILE: superTypesLoop.kt } FILE RAW TO BODY: -FILE: superTypesLoop.kt +FILE: [IMPORTS] superTypesLoop.kt + [BODY_RESOLVE] annotations container public open [BODY_RESOLVE] class resolveMe : R|C| { public [BODY_RESOLVE] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { super() diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/topLevelFunctions.txt b/analysis/low-level-api-fir/testdata/lazyResolve/topLevelFunctions.txt index 0da8c5b0c4f..efd6821cb05 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/topLevelFunctions.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/topLevelFunctions.txt @@ -1,48 +1,56 @@ RAW_FIR: -FILE: topLevelFunctions.kt +FILE: [RAW_FIR] topLevelFunctions.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } IMPORTS: -FILE: topLevelFunctions.kt +FILE: [IMPORTS] topLevelFunctions.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } COMPILER_REQUIRED_ANNOTATIONS: -FILE: topLevelFunctions.kt +FILE: [IMPORTS] topLevelFunctions.kt + [RAW_FIR] annotations container public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } COMPANION_GENERATION: -FILE: topLevelFunctions.kt +FILE: [IMPORTS] topLevelFunctions.kt + [RAW_FIR] annotations container public? final? [COMPANION_GENERATION] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } SUPER_TYPES: -FILE: topLevelFunctions.kt +FILE: [IMPORTS] topLevelFunctions.kt + [RAW_FIR] annotations container public? final? [SUPER_TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } TYPES: -FILE: topLevelFunctions.kt +FILE: [IMPORTS] topLevelFunctions.kt + [RAW_FIR] annotations container public? final? [TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } STATUS: -FILE: topLevelFunctions.kt +FILE: [IMPORTS] topLevelFunctions.kt + [RAW_FIR] annotations container public final [STATUS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } EXPECT_ACTUAL_MATCHING: -FILE: topLevelFunctions.kt +FILE: [IMPORTS] topLevelFunctions.kt + [RAW_FIR] annotations container public final [EXPECT_ACTUAL_MATCHING] fun resolveMe(): R|kotlin/Unit| { receive#(functionWithLazyBody#()) } @@ -50,7 +58,8 @@ FILE: topLevelFunctions.kt public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } ARGUMENTS_OF_ANNOTATIONS: -FILE: topLevelFunctions.kt +FILE: [IMPORTS] topLevelFunctions.kt + [RAW_FIR] annotations container public final [ARGUMENTS_OF_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { receive#(functionWithLazyBody#()) } @@ -58,7 +67,8 @@ FILE: topLevelFunctions.kt public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } CONTRACTS: -FILE: topLevelFunctions.kt +FILE: [IMPORTS] topLevelFunctions.kt + [RAW_FIR] annotations container public final [CONTRACTS] fun resolveMe(): R|kotlin/Unit| { receive#(functionWithLazyBody#()) } @@ -66,7 +76,8 @@ FILE: topLevelFunctions.kt public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: topLevelFunctions.kt +FILE: [IMPORTS] topLevelFunctions.kt + [RAW_FIR] annotations container public final [IMPLICIT_TYPES_BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { receive#(functionWithLazyBody#()) } @@ -74,7 +85,8 @@ FILE: topLevelFunctions.kt public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: topLevelFunctions.kt +FILE: [IMPORTS] topLevelFunctions.kt + [RAW_FIR] annotations container public final [ANNOTATIONS_ARGUMENTS_MAPPING] fun resolveMe(): R|kotlin/Unit| { receive#(functionWithLazyBody#()) } @@ -82,7 +94,8 @@ FILE: topLevelFunctions.kt public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } BODY_RESOLVE: -FILE: topLevelFunctions.kt +FILE: [IMPORTS] topLevelFunctions.kt + [RAW_FIR] annotations container public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { R|/receive|(R|/functionWithLazyBody|()) } @@ -93,7 +106,8 @@ FILE: topLevelFunctions.kt } FILE RAW TO BODY: -FILE: topLevelFunctions.kt +FILE: [IMPORTS] topLevelFunctions.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { R|/receive|(R|/functionWithLazyBody|()) } diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/topLevelFunctionsWithExpressionBodyAndExplicitType.txt b/analysis/low-level-api-fir/testdata/lazyResolve/topLevelFunctionsWithExpressionBodyAndExplicitType.txt index 53b92840e30..4b30adf23fa 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/topLevelFunctionsWithExpressionBodyAndExplicitType.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/topLevelFunctionsWithExpressionBodyAndExplicitType.txt @@ -1,48 +1,56 @@ RAW_FIR: -FILE: topLevelFunctionsWithExpressionBodyAndExplicitType.kt +FILE: [RAW_FIR] topLevelFunctionsWithExpressionBodyAndExplicitType.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } IMPORTS: -FILE: topLevelFunctionsWithExpressionBodyAndExplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithExpressionBodyAndExplicitType.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } COMPILER_REQUIRED_ANNOTATIONS: -FILE: topLevelFunctionsWithExpressionBodyAndExplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithExpressionBodyAndExplicitType.kt + [RAW_FIR] annotations container public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } COMPANION_GENERATION: -FILE: topLevelFunctionsWithExpressionBodyAndExplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithExpressionBodyAndExplicitType.kt + [RAW_FIR] annotations container public? final? [COMPANION_GENERATION] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } SUPER_TYPES: -FILE: topLevelFunctionsWithExpressionBodyAndExplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithExpressionBodyAndExplicitType.kt + [RAW_FIR] annotations container public? final? [SUPER_TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } TYPES: -FILE: topLevelFunctionsWithExpressionBodyAndExplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithExpressionBodyAndExplicitType.kt + [RAW_FIR] annotations container public? final? [TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } STATUS: -FILE: topLevelFunctionsWithExpressionBodyAndExplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithExpressionBodyAndExplicitType.kt + [RAW_FIR] annotations container public final [STATUS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } EXPECT_ACTUAL_MATCHING: -FILE: topLevelFunctionsWithExpressionBodyAndExplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithExpressionBodyAndExplicitType.kt + [RAW_FIR] annotations container public final [EXPECT_ACTUAL_MATCHING] fun resolveMe(): R|kotlin/Unit| { receive#(functionWithLazyBody#()) } @@ -50,7 +58,8 @@ FILE: topLevelFunctionsWithExpressionBodyAndExplicitType.kt public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } ARGUMENTS_OF_ANNOTATIONS: -FILE: topLevelFunctionsWithExpressionBodyAndExplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithExpressionBodyAndExplicitType.kt + [RAW_FIR] annotations container public final [ARGUMENTS_OF_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { receive#(functionWithLazyBody#()) } @@ -58,7 +67,8 @@ FILE: topLevelFunctionsWithExpressionBodyAndExplicitType.kt public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } CONTRACTS: -FILE: topLevelFunctionsWithExpressionBodyAndExplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithExpressionBodyAndExplicitType.kt + [RAW_FIR] annotations container public final [CONTRACTS] fun resolveMe(): R|kotlin/Unit| { receive#(functionWithLazyBody#()) } @@ -66,7 +76,8 @@ FILE: topLevelFunctionsWithExpressionBodyAndExplicitType.kt public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: topLevelFunctionsWithExpressionBodyAndExplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithExpressionBodyAndExplicitType.kt + [RAW_FIR] annotations container public final [IMPLICIT_TYPES_BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { receive#(functionWithLazyBody#()) } @@ -74,7 +85,8 @@ FILE: topLevelFunctionsWithExpressionBodyAndExplicitType.kt public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: topLevelFunctionsWithExpressionBodyAndExplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithExpressionBodyAndExplicitType.kt + [RAW_FIR] annotations container public final [ANNOTATIONS_ARGUMENTS_MAPPING] fun resolveMe(): R|kotlin/Unit| { receive#(functionWithLazyBody#()) } @@ -82,7 +94,8 @@ FILE: topLevelFunctionsWithExpressionBodyAndExplicitType.kt public? final? [RAW_FIR] fun functionWithLazyBody(): String { LAZY_BLOCK } BODY_RESOLVE: -FILE: topLevelFunctionsWithExpressionBodyAndExplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithExpressionBodyAndExplicitType.kt + [RAW_FIR] annotations container public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { R|/receive|(R|/functionWithLazyBody|()) } @@ -93,7 +106,8 @@ FILE: topLevelFunctionsWithExpressionBodyAndExplicitType.kt } FILE RAW TO BODY: -FILE: topLevelFunctionsWithExpressionBodyAndExplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithExpressionBodyAndExplicitType.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { R|/receive|(R|/functionWithLazyBody|()) } diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/topLevelFunctionsWithImplicitType.txt b/analysis/low-level-api-fir/testdata/lazyResolve/topLevelFunctionsWithImplicitType.txt index f118db13118..8dc804c7de8 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/topLevelFunctionsWithImplicitType.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/topLevelFunctionsWithImplicitType.txt @@ -1,48 +1,56 @@ RAW_FIR: -FILE: topLevelFunctionsWithImplicitType.kt +FILE: [RAW_FIR] topLevelFunctionsWithImplicitType.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun functionWithLazyBody(): { LAZY_BLOCK } IMPORTS: -FILE: topLevelFunctionsWithImplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithImplicitType.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun functionWithLazyBody(): { LAZY_BLOCK } COMPILER_REQUIRED_ANNOTATIONS: -FILE: topLevelFunctionsWithImplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithImplicitType.kt + [RAW_FIR] annotations container public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun functionWithLazyBody(): { LAZY_BLOCK } COMPANION_GENERATION: -FILE: topLevelFunctionsWithImplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithImplicitType.kt + [RAW_FIR] annotations container public? final? [COMPANION_GENERATION] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun functionWithLazyBody(): { LAZY_BLOCK } SUPER_TYPES: -FILE: topLevelFunctionsWithImplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithImplicitType.kt + [RAW_FIR] annotations container public? final? [SUPER_TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun functionWithLazyBody(): { LAZY_BLOCK } TYPES: -FILE: topLevelFunctionsWithImplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithImplicitType.kt + [RAW_FIR] annotations container public? final? [TYPES] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun functionWithLazyBody(): { LAZY_BLOCK } STATUS: -FILE: topLevelFunctionsWithImplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithImplicitType.kt + [RAW_FIR] annotations container public final [STATUS] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] fun functionWithLazyBody(): { LAZY_BLOCK } EXPECT_ACTUAL_MATCHING: -FILE: topLevelFunctionsWithImplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithImplicitType.kt + [RAW_FIR] annotations container public final [EXPECT_ACTUAL_MATCHING] fun resolveMe(): R|kotlin/Unit| { receive#(functionWithLazyBody#()) } @@ -50,7 +58,8 @@ FILE: topLevelFunctionsWithImplicitType.kt public? final? [RAW_FIR] fun functionWithLazyBody(): { LAZY_BLOCK } ARGUMENTS_OF_ANNOTATIONS: -FILE: topLevelFunctionsWithImplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithImplicitType.kt + [RAW_FIR] annotations container public final [ARGUMENTS_OF_ANNOTATIONS] fun resolveMe(): R|kotlin/Unit| { receive#(functionWithLazyBody#()) } @@ -58,7 +67,8 @@ FILE: topLevelFunctionsWithImplicitType.kt public? final? [RAW_FIR] fun functionWithLazyBody(): { LAZY_BLOCK } CONTRACTS: -FILE: topLevelFunctionsWithImplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithImplicitType.kt + [RAW_FIR] annotations container public final [CONTRACTS] fun resolveMe(): R|kotlin/Unit| { receive#(functionWithLazyBody#()) } @@ -66,7 +76,8 @@ FILE: topLevelFunctionsWithImplicitType.kt public? final? [RAW_FIR] fun functionWithLazyBody(): { LAZY_BLOCK } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: topLevelFunctionsWithImplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithImplicitType.kt + [RAW_FIR] annotations container public final [IMPLICIT_TYPES_BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { receive#(functionWithLazyBody#()) } @@ -74,7 +85,8 @@ FILE: topLevelFunctionsWithImplicitType.kt public? final? [RAW_FIR] fun functionWithLazyBody(): { LAZY_BLOCK } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: topLevelFunctionsWithImplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithImplicitType.kt + [RAW_FIR] annotations container public final [ANNOTATIONS_ARGUMENTS_MAPPING] fun resolveMe(): R|kotlin/Unit| { receive#(functionWithLazyBody#()) } @@ -82,7 +94,8 @@ FILE: topLevelFunctionsWithImplicitType.kt public? final? [RAW_FIR] fun functionWithLazyBody(): { LAZY_BLOCK } BODY_RESOLVE: -FILE: topLevelFunctionsWithImplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithImplicitType.kt + [RAW_FIR] annotations container public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { R|/receive|(R|/functionWithLazyBody|()) } @@ -93,7 +106,8 @@ FILE: topLevelFunctionsWithImplicitType.kt } FILE RAW TO BODY: -FILE: topLevelFunctionsWithImplicitType.kt +FILE: [IMPORTS] topLevelFunctionsWithImplicitType.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| { R|/receive|(R|/functionWithLazyBody|()) } diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/typeAliases/typeAliasWithTypeParameters.txt b/analysis/low-level-api-fir/testdata/lazyResolve/typeAliases/typeAliasWithTypeParameters.txt index 3e2c296ee3d..a6380fe84de 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/typeAliases/typeAliasWithTypeParameters.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/typeAliases/typeAliasWithTypeParameters.txt @@ -1,56 +1,70 @@ RAW_FIR: -FILE: typeAliasWithTypeParameters.kt +FILE: [RAW_FIR] typeAliasWithTypeParameters.kt + [RAW_FIR] annotations container public? final [RAW_FIR] typealias ResolveMe<[RAW_FIR] T : Int, [RAW_FIR] K> = Map IMPORTS: -FILE: typeAliasWithTypeParameters.kt +FILE: [IMPORTS] typeAliasWithTypeParameters.kt + [RAW_FIR] annotations container public? final [RAW_FIR] typealias ResolveMe<[RAW_FIR] T : Int, [RAW_FIR] K> = Map COMPILER_REQUIRED_ANNOTATIONS: -FILE: typeAliasWithTypeParameters.kt +FILE: [IMPORTS] typeAliasWithTypeParameters.kt + [RAW_FIR] annotations container public? final [COMPILER_REQUIRED_ANNOTATIONS] typealias ResolveMe<[COMPILER_REQUIRED_ANNOTATIONS] T : Int, [COMPILER_REQUIRED_ANNOTATIONS] K> = Map COMPANION_GENERATION: -FILE: typeAliasWithTypeParameters.kt +FILE: [IMPORTS] typeAliasWithTypeParameters.kt + [RAW_FIR] annotations container public? final [COMPANION_GENERATION] typealias ResolveMe<[COMPANION_GENERATION] T : Int, [COMPANION_GENERATION] K> = Map SUPER_TYPES: -FILE: typeAliasWithTypeParameters.kt +FILE: [IMPORTS] typeAliasWithTypeParameters.kt + [RAW_FIR] annotations container public? final [SUPER_TYPES] typealias ResolveMe<[SUPER_TYPES] T : Int, [SUPER_TYPES] K> = R|kotlin/collections/Map| TYPES: -FILE: typeAliasWithTypeParameters.kt +FILE: [IMPORTS] typeAliasWithTypeParameters.kt + [RAW_FIR] annotations container public? final [TYPES] typealias ResolveMe<[TYPES] T : R|kotlin/Int|, [TYPES] K> = R|kotlin/collections/Map| STATUS: -FILE: typeAliasWithTypeParameters.kt +FILE: [IMPORTS] typeAliasWithTypeParameters.kt + [RAW_FIR] annotations container public final [STATUS] typealias ResolveMe<[STATUS] T : R|kotlin/Int|, [STATUS] K> = R|kotlin/collections/Map| EXPECT_ACTUAL_MATCHING: -FILE: typeAliasWithTypeParameters.kt +FILE: [IMPORTS] typeAliasWithTypeParameters.kt + [RAW_FIR] annotations container public final [EXPECT_ACTUAL_MATCHING] typealias ResolveMe<[EXPECT_ACTUAL_MATCHING] T : R|kotlin/Int|, [EXPECT_ACTUAL_MATCHING] K> = R|kotlin/collections/Map| ARGUMENTS_OF_ANNOTATIONS: -FILE: typeAliasWithTypeParameters.kt +FILE: [IMPORTS] typeAliasWithTypeParameters.kt + [RAW_FIR] annotations container public final [ARGUMENTS_OF_ANNOTATIONS] typealias ResolveMe<[ARGUMENTS_OF_ANNOTATIONS] T : R|kotlin/Int|, [ARGUMENTS_OF_ANNOTATIONS] K> = R|kotlin/collections/Map| CONTRACTS: -FILE: typeAliasWithTypeParameters.kt +FILE: [IMPORTS] typeAliasWithTypeParameters.kt + [RAW_FIR] annotations container public final [CONTRACTS] typealias ResolveMe<[CONTRACTS] T : R|kotlin/Int|, [CONTRACTS] K> = R|kotlin/collections/Map| IMPLICIT_TYPES_BODY_RESOLVE: -FILE: typeAliasWithTypeParameters.kt +FILE: [IMPORTS] typeAliasWithTypeParameters.kt + [RAW_FIR] annotations container public final [IMPLICIT_TYPES_BODY_RESOLVE] typealias ResolveMe<[IMPLICIT_TYPES_BODY_RESOLVE] T : R|kotlin/Int|, [IMPLICIT_TYPES_BODY_RESOLVE] K> = R|kotlin/collections/Map| ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: typeAliasWithTypeParameters.kt +FILE: [IMPORTS] typeAliasWithTypeParameters.kt + [RAW_FIR] annotations container public final [ANNOTATIONS_ARGUMENTS_MAPPING] typealias ResolveMe<[ANNOTATIONS_ARGUMENTS_MAPPING] T : R|kotlin/Int|, [ANNOTATIONS_ARGUMENTS_MAPPING] K> = R|kotlin/collections/Map| BODY_RESOLVE: -FILE: typeAliasWithTypeParameters.kt +FILE: [IMPORTS] typeAliasWithTypeParameters.kt + [RAW_FIR] annotations container public final [BODY_RESOLVE] typealias ResolveMe<[BODY_RESOLVE] T : R|kotlin/Int|, [BODY_RESOLVE] K> = R|kotlin/collections/Map| FILE RAW TO BODY: -FILE: typeAliasWithTypeParameters.kt +FILE: [IMPORTS] typeAliasWithTypeParameters.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] typealias ResolveMe<[BODY_RESOLVE] T : R|kotlin/Int|, [BODY_RESOLVE] K> = R|kotlin/collections/Map| diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/typeParameterBounds.txt b/analysis/low-level-api-fir/testdata/lazyResolve/typeParameterBounds.txt index f263e0c8dbd..86203ddf853 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/typeParameterBounds.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/typeParameterBounds.txt @@ -1,6 +1,7 @@ RAW_FIR: -FILE: typeParameterBounds.kt +FILE: [RAW_FIR] typeParameterBounds.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] fun resolveMe([RAW_FIR] foo: Foo): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] interface Foo : R|kotlin/Any| { } @@ -9,7 +10,8 @@ FILE: typeParameterBounds.kt public? final? [RAW_FIR] fun <[RAW_FIR] F : Foo, [RAW_FIR] B : Bar> F.util(): B { LAZY_BLOCK } IMPORTS: -FILE: typeParameterBounds.kt +FILE: [IMPORTS] typeParameterBounds.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] fun resolveMe([RAW_FIR] foo: Foo): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] interface Foo : R|kotlin/Any| { } @@ -18,7 +20,8 @@ FILE: typeParameterBounds.kt public? final? [RAW_FIR] fun <[RAW_FIR] F : Foo, [RAW_FIR] B : Bar> F.util(): B { LAZY_BLOCK } COMPILER_REQUIRED_ANNOTATIONS: -FILE: typeParameterBounds.kt +FILE: [IMPORTS] typeParameterBounds.kt + [RAW_FIR] annotations container public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun resolveMe([COMPILER_REQUIRED_ANNOTATIONS] foo: Foo): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] interface Foo : R|kotlin/Any| { } @@ -27,7 +30,8 @@ FILE: typeParameterBounds.kt public? final? [RAW_FIR] fun <[RAW_FIR] F : Foo, [RAW_FIR] B : Bar> F.util(): B { LAZY_BLOCK } COMPANION_GENERATION: -FILE: typeParameterBounds.kt +FILE: [IMPORTS] typeParameterBounds.kt + [RAW_FIR] annotations container public? final? [COMPANION_GENERATION] fun resolveMe([COMPANION_GENERATION] foo: Foo): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] interface Foo : R|kotlin/Any| { } @@ -36,7 +40,8 @@ FILE: typeParameterBounds.kt public? final? [RAW_FIR] fun <[RAW_FIR] F : Foo, [RAW_FIR] B : Bar> F.util(): B { LAZY_BLOCK } SUPER_TYPES: -FILE: typeParameterBounds.kt +FILE: [IMPORTS] typeParameterBounds.kt + [RAW_FIR] annotations container public? final? [SUPER_TYPES] fun resolveMe([SUPER_TYPES] foo: Foo): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] interface Foo : R|kotlin/Any| { } @@ -45,7 +50,8 @@ FILE: typeParameterBounds.kt public? final? [RAW_FIR] fun <[RAW_FIR] F : Foo, [RAW_FIR] B : Bar> F.util(): B { LAZY_BLOCK } TYPES: -FILE: typeParameterBounds.kt +FILE: [IMPORTS] typeParameterBounds.kt + [RAW_FIR] annotations container public? final? [TYPES] fun resolveMe([TYPES] foo: R|Foo|): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] interface Foo : R|kotlin/Any| { } @@ -54,7 +60,8 @@ FILE: typeParameterBounds.kt public? final? [RAW_FIR] fun <[RAW_FIR] F : Foo, [RAW_FIR] B : Bar> F.util(): B { LAZY_BLOCK } STATUS: -FILE: typeParameterBounds.kt +FILE: [IMPORTS] typeParameterBounds.kt + [RAW_FIR] annotations container public final [STATUS] fun resolveMe([STATUS] foo: R|Foo|): R|kotlin/Unit| { LAZY_BLOCK } public? final? [RAW_FIR] interface Foo : R|kotlin/Any| { } @@ -63,7 +70,8 @@ FILE: typeParameterBounds.kt public? final? [RAW_FIR] fun <[RAW_FIR] F : Foo, [RAW_FIR] B : Bar> F.util(): B { LAZY_BLOCK } EXPECT_ACTUAL_MATCHING: -FILE: typeParameterBounds.kt +FILE: [IMPORTS] typeParameterBounds.kt + [RAW_FIR] annotations container public final [EXPECT_ACTUAL_MATCHING] fun resolveMe([EXPECT_ACTUAL_MATCHING] foo: R|Foo|): R|kotlin/Unit| { foo#.util#() } @@ -74,7 +82,8 @@ FILE: typeParameterBounds.kt public? final? [RAW_FIR] fun <[RAW_FIR] F : Foo, [RAW_FIR] B : Bar> F.util(): B { LAZY_BLOCK } ARGUMENTS_OF_ANNOTATIONS: -FILE: typeParameterBounds.kt +FILE: [IMPORTS] typeParameterBounds.kt + [RAW_FIR] annotations container public final [ARGUMENTS_OF_ANNOTATIONS] fun resolveMe([ARGUMENTS_OF_ANNOTATIONS] foo: R|Foo|): R|kotlin/Unit| { foo#.util#() } @@ -85,7 +94,8 @@ FILE: typeParameterBounds.kt public? final? [RAW_FIR] fun <[RAW_FIR] F : Foo, [RAW_FIR] B : Bar> F.util(): B { LAZY_BLOCK } CONTRACTS: -FILE: typeParameterBounds.kt +FILE: [IMPORTS] typeParameterBounds.kt + [RAW_FIR] annotations container public final [CONTRACTS] fun resolveMe([CONTRACTS] foo: R|Foo|): R|kotlin/Unit| { foo#.util#() } @@ -96,7 +106,8 @@ FILE: typeParameterBounds.kt public? final? [RAW_FIR] fun <[RAW_FIR] F : Foo, [RAW_FIR] B : Bar> F.util(): B { LAZY_BLOCK } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: typeParameterBounds.kt +FILE: [IMPORTS] typeParameterBounds.kt + [RAW_FIR] annotations container public final [IMPLICIT_TYPES_BODY_RESOLVE] fun resolveMe([IMPLICIT_TYPES_BODY_RESOLVE] foo: R|Foo|): R|kotlin/Unit| { foo#.util#() } @@ -107,7 +118,8 @@ FILE: typeParameterBounds.kt public? final? [RAW_FIR] fun <[RAW_FIR] F : Foo, [RAW_FIR] B : Bar> F.util(): B { LAZY_BLOCK } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: typeParameterBounds.kt +FILE: [IMPORTS] typeParameterBounds.kt + [RAW_FIR] annotations container public final [ANNOTATIONS_ARGUMENTS_MAPPING] fun resolveMe([ANNOTATIONS_ARGUMENTS_MAPPING] foo: R|Foo|): R|kotlin/Unit| { foo#.util#() } @@ -118,7 +130,8 @@ FILE: typeParameterBounds.kt public? final? [RAW_FIR] fun <[RAW_FIR] F : Foo, [RAW_FIR] B : Bar> F.util(): B { LAZY_BLOCK } BODY_RESOLVE: -FILE: typeParameterBounds.kt +FILE: [IMPORTS] typeParameterBounds.kt + [RAW_FIR] annotations container public final [BODY_RESOLVE] fun resolveMe([BODY_RESOLVE] foo: R|Foo|): R|kotlin/Unit| { R|/foo|.R|/util||>() } @@ -131,7 +144,8 @@ FILE: typeParameterBounds.kt } FILE RAW TO BODY: -FILE: typeParameterBounds.kt +FILE: [IMPORTS] typeParameterBounds.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] fun resolveMe([BODY_RESOLVE] foo: R|Foo|): R|kotlin/Unit| { R|/foo|.R|/util||>() } diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/typeParameterOfNonLocalFunction.txt b/analysis/low-level-api-fir/testdata/lazyResolve/typeParameterOfNonLocalFunction.txt index d28a6436af2..f367ae95aa8 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/typeParameterOfNonLocalFunction.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/typeParameterOfNonLocalFunction.txt @@ -1,6 +1,7 @@ RAW_FIR: -FILE: typeParameterOfNonLocalFunction.kt +FILE: [RAW_FIR] typeParameterOfNonLocalFunction.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class X : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -11,7 +12,8 @@ FILE: typeParameterOfNonLocalFunction.kt } IMPORTS: -FILE: typeParameterOfNonLocalFunction.kt +FILE: [IMPORTS] typeParameterOfNonLocalFunction.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class X : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -22,7 +24,8 @@ FILE: typeParameterOfNonLocalFunction.kt } COMPILER_REQUIRED_ANNOTATIONS: -FILE: typeParameterOfNonLocalFunction.kt +FILE: [IMPORTS] typeParameterOfNonLocalFunction.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class X : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -33,7 +36,8 @@ FILE: typeParameterOfNonLocalFunction.kt } COMPANION_GENERATION: -FILE: typeParameterOfNonLocalFunction.kt +FILE: [IMPORTS] typeParameterOfNonLocalFunction.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class X : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -44,7 +48,8 @@ FILE: typeParameterOfNonLocalFunction.kt } SUPER_TYPES: -FILE: typeParameterOfNonLocalFunction.kt +FILE: [IMPORTS] typeParameterOfNonLocalFunction.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] class X : R|kotlin/Any| { public? [RAW_FIR] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -55,7 +60,8 @@ FILE: typeParameterOfNonLocalFunction.kt } TYPES: -FILE: typeParameterOfNonLocalFunction.kt +FILE: [IMPORTS] typeParameterOfNonLocalFunction.kt + [RAW_FIR] annotations container public? final? [SUPER_TYPES] class X : R|kotlin/Any| { public? [SUPER_TYPES] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -66,7 +72,8 @@ FILE: typeParameterOfNonLocalFunction.kt } STATUS: -FILE: typeParameterOfNonLocalFunction.kt +FILE: [IMPORTS] typeParameterOfNonLocalFunction.kt + [RAW_FIR] annotations container public final [SUPER_TYPES] class X : R|kotlin/Any| { public [TYPES] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -77,7 +84,8 @@ FILE: typeParameterOfNonLocalFunction.kt } EXPECT_ACTUAL_MATCHING: -FILE: typeParameterOfNonLocalFunction.kt +FILE: [IMPORTS] typeParameterOfNonLocalFunction.kt + [RAW_FIR] annotations container public final [SUPER_TYPES] class X : R|kotlin/Any| { public [TYPES] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -89,7 +97,8 @@ FILE: typeParameterOfNonLocalFunction.kt } ARGUMENTS_OF_ANNOTATIONS: -FILE: typeParameterOfNonLocalFunction.kt +FILE: [IMPORTS] typeParameterOfNonLocalFunction.kt + [RAW_FIR] annotations container public final [STATUS] class X : R|kotlin/Any| { public [STATUS] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -101,7 +110,8 @@ FILE: typeParameterOfNonLocalFunction.kt } CONTRACTS: -FILE: typeParameterOfNonLocalFunction.kt +FILE: [IMPORTS] typeParameterOfNonLocalFunction.kt + [RAW_FIR] annotations container public final [STATUS] class X : R|kotlin/Any| { public [STATUS] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -113,7 +123,8 @@ FILE: typeParameterOfNonLocalFunction.kt } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: typeParameterOfNonLocalFunction.kt +FILE: [IMPORTS] typeParameterOfNonLocalFunction.kt + [RAW_FIR] annotations container public final [STATUS] class X : R|kotlin/Any| { public [STATUS] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -125,7 +136,8 @@ FILE: typeParameterOfNonLocalFunction.kt } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: typeParameterOfNonLocalFunction.kt +FILE: [IMPORTS] typeParameterOfNonLocalFunction.kt + [RAW_FIR] annotations container public final [STATUS] class X : R|kotlin/Any| { public [STATUS] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -137,7 +149,8 @@ FILE: typeParameterOfNonLocalFunction.kt } BODY_RESOLVE: -FILE: typeParameterOfNonLocalFunction.kt +FILE: [IMPORTS] typeParameterOfNonLocalFunction.kt + [RAW_FIR] annotations container public final [STATUS] class X : R|kotlin/Any| { public [STATUS] [ContainingClassKey=X] constructor(): R|X| { LAZY_super @@ -149,7 +162,8 @@ FILE: typeParameterOfNonLocalFunction.kt } FILE RAW TO BODY: -FILE: typeParameterOfNonLocalFunction.kt +FILE: [IMPORTS] typeParameterOfNonLocalFunction.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] class X : R|kotlin/Any| { public [BODY_RESOLVE] [ContainingClassKey=X] constructor(): R|X| { super() diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/typeParameterOfTopFunction.txt b/analysis/low-level-api-fir/testdata/lazyResolve/typeParameterOfTopFunction.txt index fe0f804e21c..ed7f66ae93f 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/typeParameterOfTopFunction.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/typeParameterOfTopFunction.txt @@ -1,63 +1,77 @@ RAW_FIR: -FILE: typeParameterOfTopFunction.kt +FILE: [RAW_FIR] typeParameterOfTopFunction.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK } IMPORTS: -FILE: typeParameterOfTopFunction.kt +FILE: [IMPORTS] typeParameterOfTopFunction.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] fun <[RAW_FIR] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK } COMPILER_REQUIRED_ANNOTATIONS: -FILE: typeParameterOfTopFunction.kt +FILE: [IMPORTS] typeParameterOfTopFunction.kt + [RAW_FIR] annotations container public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun <[COMPILER_REQUIRED_ANNOTATIONS] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK } COMPANION_GENERATION: -FILE: typeParameterOfTopFunction.kt +FILE: [IMPORTS] typeParameterOfTopFunction.kt + [RAW_FIR] annotations container public? final? [COMPANION_GENERATION] fun <[COMPANION_GENERATION] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK } SUPER_TYPES: -FILE: typeParameterOfTopFunction.kt +FILE: [IMPORTS] typeParameterOfTopFunction.kt + [RAW_FIR] annotations container public? final? [SUPER_TYPES] fun <[SUPER_TYPES] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK } TYPES: -FILE: typeParameterOfTopFunction.kt +FILE: [IMPORTS] typeParameterOfTopFunction.kt + [RAW_FIR] annotations container public? final? [TYPES] fun <[TYPES] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK } STATUS: -FILE: typeParameterOfTopFunction.kt +FILE: [IMPORTS] typeParameterOfTopFunction.kt + [RAW_FIR] annotations container public final [STATUS] fun <[STATUS] resolveMe> ddd(): R|kotlin/Unit| { LAZY_BLOCK } EXPECT_ACTUAL_MATCHING: -FILE: typeParameterOfTopFunction.kt +FILE: [IMPORTS] typeParameterOfTopFunction.kt + [RAW_FIR] annotations container public final [EXPECT_ACTUAL_MATCHING] fun <[EXPECT_ACTUAL_MATCHING] resolveMe> ddd(): R|kotlin/Unit| { } ARGUMENTS_OF_ANNOTATIONS: -FILE: typeParameterOfTopFunction.kt +FILE: [IMPORTS] typeParameterOfTopFunction.kt + [RAW_FIR] annotations container public final [ARGUMENTS_OF_ANNOTATIONS] fun <[ARGUMENTS_OF_ANNOTATIONS] resolveMe> ddd(): R|kotlin/Unit| { } CONTRACTS: -FILE: typeParameterOfTopFunction.kt +FILE: [IMPORTS] typeParameterOfTopFunction.kt + [RAW_FIR] annotations container public final [CONTRACTS] fun <[CONTRACTS] resolveMe> ddd(): R|kotlin/Unit| { } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: typeParameterOfTopFunction.kt +FILE: [IMPORTS] typeParameterOfTopFunction.kt + [RAW_FIR] annotations container public final [IMPLICIT_TYPES_BODY_RESOLVE] fun <[IMPLICIT_TYPES_BODY_RESOLVE] resolveMe> ddd(): R|kotlin/Unit| { } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: typeParameterOfTopFunction.kt +FILE: [IMPORTS] typeParameterOfTopFunction.kt + [RAW_FIR] annotations container public final [ANNOTATIONS_ARGUMENTS_MAPPING] fun <[ANNOTATIONS_ARGUMENTS_MAPPING] resolveMe> ddd(): R|kotlin/Unit| { } BODY_RESOLVE: -FILE: typeParameterOfTopFunction.kt +FILE: [IMPORTS] typeParameterOfTopFunction.kt + [RAW_FIR] annotations container public final [BODY_RESOLVE] fun <[BODY_RESOLVE] resolveMe> ddd(): R|kotlin/Unit| { } FILE RAW TO BODY: -FILE: typeParameterOfTopFunction.kt +FILE: [IMPORTS] typeParameterOfTopFunction.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] fun <[BODY_RESOLVE] resolveMe> ddd(): R|kotlin/Unit| { } diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/typeParameterOfTopSetter.txt b/analysis/low-level-api-fir/testdata/lazyResolve/typeParameterOfTopSetter.txt index c176fb2f2f7..f9e4d60a8c6 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/typeParameterOfTopSetter.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/typeParameterOfTopSetter.txt @@ -1,48 +1,56 @@ RAW_FIR: -FILE: typeParameterOfTopSetter.kt +FILE: [RAW_FIR] typeParameterOfTopSetter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] var x: Int = LAZY_EXPRESSION public? [RAW_FIR] get(): Int public? [RAW_FIR] set([RAW_FIR] resolveMe: Int): R|kotlin/Unit| { LAZY_BLOCK } IMPORTS: -FILE: typeParameterOfTopSetter.kt +FILE: [IMPORTS] typeParameterOfTopSetter.kt + [RAW_FIR] annotations container public? final? [RAW_FIR] var x: Int = LAZY_EXPRESSION public? [RAW_FIR] get(): Int public? [RAW_FIR] set([RAW_FIR] resolveMe: Int): R|kotlin/Unit| { LAZY_BLOCK } COMPILER_REQUIRED_ANNOTATIONS: -FILE: typeParameterOfTopSetter.kt +FILE: [IMPORTS] typeParameterOfTopSetter.kt + [RAW_FIR] annotations container public? final? [COMPILER_REQUIRED_ANNOTATIONS] var x: Int = LAZY_EXPRESSION public? [COMPILER_REQUIRED_ANNOTATIONS] get(): Int public? [COMPILER_REQUIRED_ANNOTATIONS] set([COMPILER_REQUIRED_ANNOTATIONS] resolveMe: Int): R|kotlin/Unit| { LAZY_BLOCK } COMPANION_GENERATION: -FILE: typeParameterOfTopSetter.kt +FILE: [IMPORTS] typeParameterOfTopSetter.kt + [RAW_FIR] annotations container public? final? [COMPANION_GENERATION] var x: Int = LAZY_EXPRESSION public? [COMPANION_GENERATION] get(): Int public? [COMPANION_GENERATION] set([COMPANION_GENERATION] resolveMe: Int): R|kotlin/Unit| { LAZY_BLOCK } SUPER_TYPES: -FILE: typeParameterOfTopSetter.kt +FILE: [IMPORTS] typeParameterOfTopSetter.kt + [RAW_FIR] annotations container public? final? [SUPER_TYPES] var x: Int = LAZY_EXPRESSION public? [SUPER_TYPES] get(): Int public? [SUPER_TYPES] set([SUPER_TYPES] resolveMe: Int): R|kotlin/Unit| { LAZY_BLOCK } TYPES: -FILE: typeParameterOfTopSetter.kt +FILE: [IMPORTS] typeParameterOfTopSetter.kt + [RAW_FIR] annotations container public? final? [TYPES] var x: R|kotlin/Int| = LAZY_EXPRESSION public? [TYPES] get(): R|kotlin/Int| public? [TYPES] set([TYPES] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK } STATUS: -FILE: typeParameterOfTopSetter.kt +FILE: [IMPORTS] typeParameterOfTopSetter.kt + [RAW_FIR] annotations container public final [STATUS] var x: R|kotlin/Int| = LAZY_EXPRESSION public [STATUS] get(): R|kotlin/Int| public [STATUS] set([STATUS] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK } EXPECT_ACTUAL_MATCHING: -FILE: typeParameterOfTopSetter.kt +FILE: [IMPORTS] typeParameterOfTopSetter.kt + [RAW_FIR] annotations container public final [EXPECT_ACTUAL_MATCHING] var x: R|kotlin/Int| = IntegerLiteral(2) public [EXPECT_ACTUAL_MATCHING] get(): R|kotlin/Int| public [EXPECT_ACTUAL_MATCHING] set([EXPECT_ACTUAL_MATCHING] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { @@ -50,7 +58,8 @@ FILE: typeParameterOfTopSetter.kt } ARGUMENTS_OF_ANNOTATIONS: -FILE: typeParameterOfTopSetter.kt +FILE: [IMPORTS] typeParameterOfTopSetter.kt + [RAW_FIR] annotations container public final [ARGUMENTS_OF_ANNOTATIONS] var x: R|kotlin/Int| = IntegerLiteral(2) public [ARGUMENTS_OF_ANNOTATIONS] get(): R|kotlin/Int| public [ARGUMENTS_OF_ANNOTATIONS] set([ARGUMENTS_OF_ANNOTATIONS] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { @@ -58,7 +67,8 @@ FILE: typeParameterOfTopSetter.kt } CONTRACTS: -FILE: typeParameterOfTopSetter.kt +FILE: [IMPORTS] typeParameterOfTopSetter.kt + [RAW_FIR] annotations container public final [CONTRACTS] var x: R|kotlin/Int| = IntegerLiteral(2) public [CONTRACTS] get(): R|kotlin/Int| public [CONTRACTS] set([CONTRACTS] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { @@ -66,7 +76,8 @@ FILE: typeParameterOfTopSetter.kt } IMPLICIT_TYPES_BODY_RESOLVE: -FILE: typeParameterOfTopSetter.kt +FILE: [IMPORTS] typeParameterOfTopSetter.kt + [RAW_FIR] annotations container public final [IMPLICIT_TYPES_BODY_RESOLVE] var x: R|kotlin/Int| = IntegerLiteral(2) public [IMPLICIT_TYPES_BODY_RESOLVE] get(): R|kotlin/Int| public [IMPLICIT_TYPES_BODY_RESOLVE] set([IMPLICIT_TYPES_BODY_RESOLVE] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { @@ -74,7 +85,8 @@ FILE: typeParameterOfTopSetter.kt } ANNOTATIONS_ARGUMENTS_MAPPING: -FILE: typeParameterOfTopSetter.kt +FILE: [IMPORTS] typeParameterOfTopSetter.kt + [RAW_FIR] annotations container public final [ANNOTATIONS_ARGUMENTS_MAPPING] var x: R|kotlin/Int| = IntegerLiteral(2) public [ANNOTATIONS_ARGUMENTS_MAPPING] get(): R|kotlin/Int| public [ANNOTATIONS_ARGUMENTS_MAPPING] set([ANNOTATIONS_ARGUMENTS_MAPPING] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { @@ -82,7 +94,8 @@ FILE: typeParameterOfTopSetter.kt } BODY_RESOLVE: -FILE: typeParameterOfTopSetter.kt +FILE: [IMPORTS] typeParameterOfTopSetter.kt + [RAW_FIR] annotations container public final [BODY_RESOLVE] var x: R|kotlin/Int| = Int(2) public [BODY_RESOLVE] get(): R|kotlin/Int| public [BODY_RESOLVE] set([BODY_RESOLVE] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { @@ -90,7 +103,8 @@ FILE: typeParameterOfTopSetter.kt } FILE RAW TO BODY: -FILE: typeParameterOfTopSetter.kt +FILE: [IMPORTS] typeParameterOfTopSetter.kt + [BODY_RESOLVE] annotations container public final [BODY_RESOLVE] var x: R|kotlin/Int| = Int(2) public [BODY_RESOLVE] get(): R|kotlin/Int| public [BODY_RESOLVE] set([BODY_RESOLVE] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/AbstractFirLazyDeclarationResolveTest.kt b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/AbstractFirLazyDeclarationResolveTest.kt index 1dd01283506..3246e3fe1e9 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/AbstractFirLazyDeclarationResolveTest.kt +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/AbstractFirLazyDeclarationResolveTest.kt @@ -15,6 +15,7 @@ import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.realPsi import org.jetbrains.kotlin.fir.renderer.FirDeclarationRendererWithAttributes import org.jetbrains.kotlin.fir.renderer.FirErrorExpressionExtendedRenderer +import org.jetbrains.kotlin.fir.renderer.FirFileAnnotationsContainerRenderer import org.jetbrains.kotlin.fir.renderer.FirRenderer import org.jetbrains.kotlin.fir.renderer.FirResolvePhaseRenderer import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase @@ -63,7 +64,9 @@ abstract class AbstractFirLazyDeclarationResolveTest : AbstractLowLevelApiSingle declarationRenderer = FirDeclarationRendererWithAttributes(), resolvePhaseRenderer = FirResolvePhaseRenderer(), errorExpressionRenderer = FirErrorExpressionExtendedRenderer(), + fileAnnotationsContainerRenderer = FirFileAnnotationsContainerRenderer(), ) + resolveWithClearCaches(ktFile) { firResolveSession -> check(firResolveSession.isSourceSession) val declarationToResolve = firResolveSession diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirFileAnnotationsContainerRenderer.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirFileAnnotationsContainerRenderer.kt new file mode 100644 index 00000000000..8c0182c32f1 --- /dev/null +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirFileAnnotationsContainerRenderer.kt @@ -0,0 +1,19 @@ +/* + * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.fir.renderer + +import org.jetbrains.kotlin.fir.FirFileAnnotationsContainer + +class FirFileAnnotationsContainerRenderer { + internal lateinit var components: FirRendererComponents + private val printer get() = components.printer + + fun render(fileAnnotationsContainer: FirFileAnnotationsContainer) { + components.annotationRenderer?.render(fileAnnotationsContainer) + components.resolvePhaseRenderer?.render(fileAnnotationsContainer) + printer.println("annotations container") + } +} \ No newline at end of file diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirRenderer.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirRenderer.kt index 3cc51c9a2ab..c7668654cf1 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirRenderer.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirRenderer.kt @@ -46,6 +46,7 @@ class FirRenderer( override val typeRenderer: ConeTypeRenderer = ConeTypeRendererForDebugging(), override val valueParameterRenderer: FirValueParameterRenderer? = FirValueParameterRenderer(), override val errorExpressionRenderer: FirErrorExpressionRenderer? = FirErrorExpressionOnlyErrorRenderer(), + override val fileAnnotationsContainerRenderer: FirFileAnnotationsContainerRenderer? = null, ) : FirRendererComponents { override val visitor = Visitor() @@ -59,7 +60,10 @@ class FirRenderer( ) fun withResolvePhase(): FirRenderer = - FirRenderer(resolvePhaseRenderer = FirResolvePhaseRenderer()) + FirRenderer( + resolvePhaseRenderer = FirResolvePhaseRenderer(), + fileAnnotationsContainerRenderer = FirFileAnnotationsContainerRenderer(), + ) fun withDeclarationAttributes(): FirRenderer = FirRenderer(declarationRenderer = FirDeclarationRendererWithAttributes()) @@ -81,6 +85,7 @@ class FirRenderer( typeRenderer.idRenderer = idRenderer valueParameterRenderer?.components = this errorExpressionRenderer?.components = this + fileAnnotationsContainerRenderer?.components = this } fun renderElementAsString(element: FirElement): String { @@ -162,15 +167,26 @@ class FirRenderer( } override fun visitFile(file: FirFile) { - printer.println("FILE: ${file.name}") + printer.print("FILE: ") + resolvePhaseRenderer?.render(file) + printer.println(file.name) + printer.pushIndent() - annotationRenderer?.render(file) + visitFileAnnotationsContainer(file.annotationsContainer) visitPackageDirective(file.packageDirective) file.imports.forEach { it.accept(this) } file.declarations.forEach { it.accept(this) } printer.popIndent() } + override fun visitFileAnnotationsContainer(fileAnnotationsContainer: FirFileAnnotationsContainer) { + if (fileAnnotationsContainerRenderer != null) { + fileAnnotationsContainerRenderer.render(fileAnnotationsContainer) + } else { + annotationRenderer?.render(fileAnnotationsContainer) + } + } + override fun visitAnnotation(annotation: FirAnnotation) { annotationRenderer?.renderAnnotation(annotation) } diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirRendererComponents.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirRendererComponents.kt index d5894608675..ba040cc9555 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirRendererComponents.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirRendererComponents.kt @@ -24,4 +24,5 @@ internal interface FirRendererComponents { val typeRenderer: ConeTypeRenderer val valueParameterRenderer: FirValueParameterRenderer? val errorExpressionRenderer: FirErrorExpressionRenderer? + val fileAnnotationsContainerRenderer: FirFileAnnotationsContainerRenderer? } \ No newline at end of file diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirResolvePhaseRenderer.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirResolvePhaseRenderer.kt index d45cb13771a..861d1df4aae 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirResolvePhaseRenderer.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirResolvePhaseRenderer.kt @@ -5,13 +5,13 @@ package org.jetbrains.kotlin.fir.renderer -import org.jetbrains.kotlin.fir.declarations.FirDeclaration +import org.jetbrains.kotlin.fir.FirElementWithResolvePhase class FirResolvePhaseRenderer { internal lateinit var components: FirRendererComponents private val printer get() = components.printer - fun render(declaration: FirDeclaration) { - printer.print("[${declaration.resolvePhase}] ") + fun render(element: FirElementWithResolvePhase) { + printer.print("[${element.resolvePhase}] ") } } \ No newline at end of file