From 9888cbbfcd07f0907cfa3736c7a066b1f5984ab5 Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Fri, 1 Dec 2023 13:29:09 +0100 Subject: [PATCH] [FIR] do not transform propagated annotations from place other than declaration side We shouldn't transform annotations not from declaration side due to a possible different context and to avoid unexpected transformation of unrelated declarations Example: ```kotlin fun implicitType1() = TopLevelObject.expectedType() object TopLevelObject { private const val privateConstVal = "privateConstVal" fun expectedType(): @Anno(privateConstVal) Int = 4 } ``` Here we will try to transform the annotation from `expectedType` during `implicitType1` and as the result, we will see unresolved reference on the declaration side. This commit fixes this issue. This solution is based on the fact that the compiler anyway will resolve the propagated annotation on the declaration side. And it doesn't matter if it is resolved before or after the call site declaration transformation, because as a global result, we will observe that all declarations are resolved correctly in the right context. Hence, this commit fixes the issue in the case of "full resolution" which is true for the compiler, but it is not correct for Low Level FIR where we resolve declarations on demand. It will be solved in the next commits ^KT-63042 --- .../lambdaAsSAMInterfaceWithAnnotation.txt | 18 +-- ...calDelegatedPropertyWithPropagatedType.txt | 10 +- .../localPropertyWithPropagatedType.txt | 10 +- ...nonymousFunctionWithAnnotatedParameter.txt | 14 +- ...onymousFunctionWithAnnotatedParameter2.txt | 14 +- ...sFunctionWithAnnotatedParameter2Script.txt | 14 +- ...hAnnotatedParameterOnImplicitTypePhase.txt | 42 +++--- ...atedParameterOnImplicitTypePhaseScript.txt | 42 +++--- ...usFunctionWithAnnotatedParameterScript.txt | 14 +- ...implicitTypeWithInaccessibleAnnotation.txt | 28 ++-- .../impliciyTypeWithAnnotationOnFunction.txt | 32 ++--- .../impliciyTypeWithAnnotationOnProperty.txt | 40 +++--- .../properties/resultWithPropagatedType.txt | 36 ++--- .../scriptWithResultWithPropagatedType.txt | 36 ++--- ...ropagationToLocalMemberFunction.before.txt | 26 ++-- ...ationToLocalMemberFunction.lazyResolve.txt | 8 +- ...tionToLocalMemberFunctionScript.before.txt | 26 ++-- ...oLocalMemberFunctionScript.lazyResolve.txt | 8 +- .../delegateWithImplicitType.lazyResolve.txt | 12 +- ...gateWithImplicitTypeScript.lazyResolve.txt | 12 +- ...ithImplicitTypeUnavailable.lazyResolve.txt | 12 +- ...licitTypeUnavailableScript.lazyResolve.txt | 12 +- .../propertyWithExplicitType.lazyResolve.txt | 16 +-- ...ertyWithExplicitTypeScript.lazyResolve.txt | 17 +-- ...ithExplicitTypeUnavailable.lazyResolve.txt | 32 ++--- ...licitTypeUnavailableScript.lazyResolve.txt | 33 ++--- .../propertyWithImplicitType.lazyResolve.txt | 20 +-- ...ertyWithImplicitTypeScript.lazyResolve.txt | 21 +-- ...ithImplicitTypeUnavailable.lazyResolve.txt | 36 ++--- ...licitTypeUnavailableScript.lazyResolve.txt | 37 ++--- .../scriptStatementLevel.before.txt | 124 ++++++++--------- .../scriptStatementLevel.lazyResolve.txt | 28 ++-- ...ptStatementLevelAsLastStatement.before.txt | 52 ++++---- ...tementLevelAsLastStatement.lazyResolve.txt | 84 ++++++------ .../function/implicitType.lazyResolve.txt | 32 ++--- .../implicitTypeScript.lazyResolve.txt | 33 ++--- .../implicitTypeUnavailable.lazyResolve.txt | 24 ++-- ...licitTypeUnavailableScript.lazyResolve.txt | 25 ++-- .../function/multiDeclaration.before.txt | 106 +++++++-------- .../function/multiDeclaration.lazyResolve.txt | 126 +++++++++--------- .../multiDeclarationScript.before.txt | 106 +++++++-------- .../multiDeclarationScript.lazyResolve.txt | 126 +++++++++--------- ...ropagationToLocalMemberFunction.before.txt | 38 +++--- ...ationToLocalMemberFunction.lazyResolve.txt | 20 +-- ...LocalMemberFunctionImplicitBody.before.txt | 38 +++--- ...MemberFunctionImplicitBody.lazyResolve.txt | 60 ++++----- ...cessibleAnnotationArgument.lazyResolve.txt | 42 +++--- ...cessibleAnnotationArgument.lazyResolve.txt | 28 ++-- .../initializer/classInitializer.before.txt | 26 ++-- .../classInitializer.lazyResolve.txt | 8 +- .../classInitializerScript.before.txt | 26 ++-- .../classInitializerScript.lazyResolve.txt | 8 +- .../property/implicitType.lazyResolve.txt | 40 +++--- .../implicitTypeScript.lazyResolve.txt | 41 +++--- .../implicitTypeUnavailable.lazyResolve.txt | 32 ++--- ...gatedPropertyWithPropagatedType.before.txt | 58 ++++---- ...PropertyWithPropagatedType.lazyResolve.txt | 16 +-- ...ropertyWithPropagatedTypeScript.before.txt | 59 ++++---- ...tyWithPropagatedTypeScript.lazyResolve.txt | 17 +-- ...rtyWithPropagatedTypeUnavailable.after.txt | 50 +++---- ...tyWithPropagatedTypeUnavailable.before.txt | 54 ++++---- ...hPropagatedTypeUnavailable.lazyResolve.txt | 12 +- ...hPropagatedTypeUnavailableScript.after.txt | 51 +++---- ...PropagatedTypeUnavailableScript.before.txt | 55 ++++---- ...gatedTypeUnavailableScript.lazyResolve.txt | 13 +- ...localPropertyWithPropagatedType.before.txt | 28 ++-- ...PropertyWithPropagatedType.lazyResolve.txt | 16 +-- ...ropertyWithPropagatedTypeScript.before.txt | 29 ++-- ...tyWithPropagatedTypeScript.lazyResolve.txt | 17 +-- ...rtyWithPropagatedTypeUnavailable.after.txt | 20 +-- ...tyWithPropagatedTypeUnavailable.before.txt | 24 ++-- ...hPropagatedTypeUnavailable.lazyResolve.txt | 12 +- ...ropagationToLocalMemberProperty.before.txt | 100 +++++++------- ...ationToLocalMemberProperty.lazyResolve.txt | 34 ++--- ...LocalMemberPropertyImplicitBody.before.txt | 100 +++++++------- ...MemberPropertyImplicitBody.lazyResolve.txt | 102 +++++++------- ...emberPropertyImplicitBodyScript.before.txt | 100 +++++++------- ...PropertyImplicitBodyScript.lazyResolve.txt | 102 +++++++------- ...tionToLocalMemberPropertyScript.before.txt | 100 +++++++------- ...oLocalMemberPropertyScript.lazyResolve.txt | 34 ++--- .../resultWithPropagatedType.lazyResolve.txt | 37 ++--- ...hPropagatedTypeUnavailable.lazyResolve.txt | 35 ++--- .../implicitFunction.lazyResolve.txt | 12 +- .../implicitFunctionScript.lazyResolve.txt | 12 +- ...mplicitFunctionUnavailable.lazyResolve.txt | 12 +- ...tFunctionUnavailableScript.lazyResolve.txt | 12 +- .../implicitProperty.lazyResolve.txt | 28 ++-- ...mplicitPropertyAndReceiver.lazyResolve.txt | 28 ++-- ...tPropertyAndReceiverScript.lazyResolve.txt | 28 ++-- .../implicitPropertyScript.lazyResolve.txt | 28 ++-- ...mplicitPropertyUnavailable.lazyResolve.txt | 28 ++-- ...tPropertyUnavailableScript.lazyResolve.txt | 28 ++-- ...tterWithImplicitReturnType.lazyResolve.txt | 16 +-- ...bstractBodyResolveTransformerDispatcher.kt | 28 +++- .../body/resolve/FirImplicitBodyResolve.kt | 7 + ...licitTypeWithInaccessibleAnnotation.fir.kt | 14 -- .../implicitTypeWithInaccessibleAnnotation.kt | 1 + ...TypeWithInaccessibleAnnotation.reversed.kt | 14 -- 98 files changed, 1768 insertions(+), 1754 deletions(-) delete mode 100644 compiler/testData/diagnostics/tests/annotations/typeUse/implicitTypeWithInaccessibleAnnotation.fir.kt delete mode 100644 compiler/testData/diagnostics/tests/annotations/typeUse/implicitTypeWithInaccessibleAnnotation.reversed.kt diff --git a/analysis/low-level-api-fir/testData/getOrBuildFir/wholeDeclaration/lambdaAsSAMInterfaceWithAnnotation.txt b/analysis/low-level-api-fir/testData/getOrBuildFir/wholeDeclaration/lambdaAsSAMInterfaceWithAnnotation.txt index 81e3801cfd8..5ce01f26f54 100644 --- a/analysis/low-level-api-fir/testData/getOrBuildFir/wholeDeclaration/lambdaAsSAMInterfaceWithAnnotation.txt +++ b/analysis/low-level-api-fir/testData/getOrBuildFir/wholeDeclaration/lambdaAsSAMInterfaceWithAnnotation.txt @@ -4,7 +4,7 @@ FIR source kind: KtRealSourceElementKind FIR element rendered: public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| { - R|foo/testMe|( = SAM([ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=@R|foo/Anno|((String(testMe param type ), constant#)) foo/Foo] testMe@fun ([ResolvedTo(BODY_RESOLVE)] b: R|@R|foo/Anno|(position = (String(foo param type ), R|foo/constant|)) foo/Arg|): R|@R|foo/Anno|(position = (String(foo return type ), R|foo/constant|)) foo/Arg| { + R|foo/testMe|( = SAM([ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=@R|foo/Anno|((String(testMe param type ), constant#)) foo/Foo] testMe@fun ([ResolvedTo(BODY_RESOLVE)] b: R|@R|foo/Anno|((String(foo param type ), constant#)) foo/Arg|): R|@R|foo/Anno|((String(foo return type ), constant#)) foo/Arg| { ^ R|/b| } )) @@ -20,25 +20,25 @@ FILE: [ResolvedTo(IMPORTS)] lambdaAsSAMInterfaceWithAnnotation.kt } } - @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=foo/Anno.position] position: R|kotlin/String|): R|foo/Anno| { + @R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=foo/Anno.position] position: String): R|foo/Anno| { LAZY_super } - public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val position: R|kotlin/String| = R|/position| - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val position: String = R|/position| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String } - public final const [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val constant: R|kotlin/Int| = Int(0) - public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/Int| + public? final? const [ResolvedTo(RAW_FIR)] val constant: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): public abstract fun [ResolvedTo(STATUS)] interface Foo : R|kotlin/Any| { - public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] a: R|@R|foo/Anno|(position = (String(foo param type ), R|foo/constant|)) foo/Arg|): R|@R|foo/Anno|(position = (String(foo return type ), R|foo/constant|)) foo/Arg| + public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] a: R|@R|foo/Anno|((String(foo param type ), constant#)) foo/Arg|): R|@R|foo/Anno|((String(foo return type ), constant#)) foo/Arg| } public final [ResolvedTo(CONTRACTS)] fun testMe([ResolvedTo(CONTRACTS)] f: R|@R|foo/Anno|((String(testMe param type ), constant#)) foo/Foo|): R|kotlin/Unit| { } public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| { - R|foo/testMe|( = SAM([ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=@R|foo/Anno|((String(testMe param type ), constant#)) foo/Foo] testMe@fun ([ResolvedTo(BODY_RESOLVE)] b: R|@R|foo/Anno|(position = (String(foo param type ), R|foo/constant|)) foo/Arg|): R|@R|foo/Anno|(position = (String(foo return type ), R|foo/constant|)) foo/Arg| { + R|foo/testMe|( = SAM([ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=@R|foo/Anno|((String(testMe param type ), constant#)) foo/Foo] testMe@fun ([ResolvedTo(BODY_RESOLVE)] b: R|@R|foo/Anno|((String(foo param type ), constant#)) foo/Arg|): R|@R|foo/Anno|((String(foo return type ), constant#)) foo/Arg| { ^ R|/b| } )) diff --git a/analysis/low-level-api-fir/testData/getOrBuildFir/wholeDeclaration/localDelegatedPropertyWithPropagatedType.txt b/analysis/low-level-api-fir/testData/getOrBuildFir/wholeDeclaration/localDelegatedPropertyWithPropagatedType.txt index 7e8ee2604d4..bbf151de023 100644 --- a/analysis/low-level-api-fir/testData/getOrBuildFir/wholeDeclaration/localDelegatedPropertyWithPropagatedType.txt +++ b/analysis/low-level-api-fir/testData/getOrBuildFir/wholeDeclaration/localDelegatedPropertyWithPropagatedType.txt @@ -3,7 +3,7 @@ FIR element: FirPropertyImpl FIR source kind: KtRealSourceElementKind FIR element rendered: -@R|foo/Anno|[Types](position = (String(property ), R|foo/secondConstant|)) [ResolvedTo(BODY_RESOLVE)] lval localProperty: R|@R|foo/Anno|(position = (String(return type: ), R|foo/constant|)) kotlin/collections/List<@R|foo/Anno|(position = (String(nested return type: ), R|foo/constant|)) kotlin/collections/Collection<@R|foo/Anno|(position = (String(nested nested return type: ), R|foo/constant|)) kotlin/String>>|by R|kotlin/lazy|(String(return type: ), R|foo/constant|)) kotlin/collections/List<@R|foo/Anno|(position = (String(nested return type: ), R|foo/constant|)) kotlin/collections/Collection<@R|foo/Anno|(position = (String(nested nested return type: ), R|foo/constant|)) kotlin/String>>|>( = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=kotlin/Function0] lazy@fun (): R|@R|foo/Anno|(position = (String(return type: ), R|foo/constant|)) kotlin/collections/List<@R|foo/Anno|(position = (String(nested return type: ), R|foo/constant|)) kotlin/collections/Collection<@R|foo/Anno|(position = (String(nested nested return type: ), R|foo/constant|)) kotlin/String>>| { +@R|foo/Anno|[Types](position = (String(property ), R|foo/secondConstant|)) [ResolvedTo(BODY_RESOLVE)] lval localProperty: R|@R|foo/Anno|((String(return type: ), constant#)) kotlin/collections/List<@R|foo/Anno|((String(nested return type: ), constant#)) kotlin/collections/Collection<@R|foo/Anno|((String(nested nested return type: ), constant#)) kotlin/String>>|by R|kotlin/lazy|(String(return type: ), constant#)) kotlin/collections/List<@R|foo/Anno|((String(nested return type: ), constant#)) kotlin/collections/Collection<@R|foo/Anno|((String(nested nested return type: ), constant#)) kotlin/String>>|>( = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=kotlin/Function0] lazy@fun (): R|@R|foo/Anno|((String(return type: ), constant#)) kotlin/collections/List<@R|foo/Anno|((String(nested return type: ), constant#)) kotlin/collections/Collection<@R|foo/Anno|((String(nested nested return type: ), constant#)) kotlin/String>>| { ^ R|foo/explicitType|() } ) @@ -21,13 +21,13 @@ FILE: [ResolvedTo(IMPORTS)] localDelegatedPropertyWithPropagatedType.kt public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| } - public final const [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val constant: R|kotlin/Int| = Int(0) - public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/Int| - public final [ResolvedTo(CONTRACTS)] fun explicitType(): R|@R|foo/Anno|(position = (String(return type: ), R|foo/constant|)) kotlin/collections/List<@R|foo/Anno|(position = (String(nested return type: ), R|foo/constant|)) kotlin/collections/Collection<@R|foo/Anno|(position = (String(nested nested return type: ), R|foo/constant|)) kotlin/String>>| { + public? final? const [ResolvedTo(RAW_FIR)] val constant: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public final [ResolvedTo(CONTRACTS)] fun explicitType(): R|@R|foo/Anno|((String(return type: ), constant#)) kotlin/collections/List<@R|foo/Anno|((String(nested return type: ), constant#)) kotlin/collections/Collection<@R|foo/Anno|((String(nested nested return type: ), constant#)) kotlin/String>>| { ^explicitType IntegerLiteral(0) } public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| { - @R|foo/Anno|[Types](position = (String(property ), R|foo/secondConstant|)) [ResolvedTo(BODY_RESOLVE)] lval localProperty: R|@R|foo/Anno|(position = (String(return type: ), R|foo/constant|)) kotlin/collections/List<@R|foo/Anno|(position = (String(nested return type: ), R|foo/constant|)) kotlin/collections/Collection<@R|foo/Anno|(position = (String(nested nested return type: ), R|foo/constant|)) kotlin/String>>|by R|kotlin/lazy|(String(return type: ), R|foo/constant|)) kotlin/collections/List<@R|foo/Anno|(position = (String(nested return type: ), R|foo/constant|)) kotlin/collections/Collection<@R|foo/Anno|(position = (String(nested nested return type: ), R|foo/constant|)) kotlin/String>>|>( = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=kotlin/Function0] lazy@fun (): R|@R|foo/Anno|(position = (String(return type: ), R|foo/constant|)) kotlin/collections/List<@R|foo/Anno|(position = (String(nested return type: ), R|foo/constant|)) kotlin/collections/Collection<@R|foo/Anno|(position = (String(nested nested return type: ), R|foo/constant|)) kotlin/String>>| { + @R|foo/Anno|[Types](position = (String(property ), R|foo/secondConstant|)) [ResolvedTo(BODY_RESOLVE)] lval localProperty: R|@R|foo/Anno|((String(return type: ), constant#)) kotlin/collections/List<@R|foo/Anno|((String(nested return type: ), constant#)) kotlin/collections/Collection<@R|foo/Anno|((String(nested nested return type: ), constant#)) kotlin/String>>|by R|kotlin/lazy|(String(return type: ), constant#)) kotlin/collections/List<@R|foo/Anno|((String(nested return type: ), constant#)) kotlin/collections/Collection<@R|foo/Anno|((String(nested nested return type: ), constant#)) kotlin/String>>|>( = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=kotlin/Function0] lazy@fun (): R|@R|foo/Anno|((String(return type: ), constant#)) kotlin/collections/List<@R|foo/Anno|((String(nested return type: ), constant#)) kotlin/collections/Collection<@R|foo/Anno|((String(nested nested return type: ), constant#)) kotlin/String>>| { ^ R|foo/explicitType|() } ) diff --git a/analysis/low-level-api-fir/testData/getOrBuildFir/wholeDeclaration/localPropertyWithPropagatedType.txt b/analysis/low-level-api-fir/testData/getOrBuildFir/wholeDeclaration/localPropertyWithPropagatedType.txt index 132a5231fb4..1456d953ad6 100644 --- a/analysis/low-level-api-fir/testData/getOrBuildFir/wholeDeclaration/localPropertyWithPropagatedType.txt +++ b/analysis/low-level-api-fir/testData/getOrBuildFir/wholeDeclaration/localPropertyWithPropagatedType.txt @@ -3,7 +3,7 @@ FIR element: FirPropertyImpl FIR source kind: KtRealSourceElementKind FIR element rendered: -@R|foo/Anno|[Types](position = (String(property ), R|foo/secondConstant|)) [ResolvedTo(BODY_RESOLVE)] lval localProperty: R|@R|foo/Anno|(position = (String(return type: ), R|foo/constant|)) kotlin/collections/List<@R|foo/Anno|(position = (String(nested return type: ), R|foo/constant|)) kotlin/collections/Collection<@R|foo/Anno|(position = (String(nested nested return type: ), R|foo/constant|)) kotlin/String>>| = R|foo/explicitType|() +@R|foo/Anno|[Types](position = (String(property ), R|foo/secondConstant|)) [ResolvedTo(BODY_RESOLVE)] lval localProperty: R|@R|foo/Anno|((String(return type: ), constant#)) kotlin/collections/List<@R|foo/Anno|((String(nested return type: ), constant#)) kotlin/collections/Collection<@R|foo/Anno|((String(nested nested return type: ), constant#)) kotlin/String>>| = R|foo/explicitType|() FIR FILE: FILE: [ResolvedTo(IMPORTS)] localPropertyWithPropagatedType.kt @@ -18,13 +18,13 @@ FILE: [ResolvedTo(IMPORTS)] localPropertyWithPropagatedType.kt public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| } - public final const [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val constant: R|kotlin/Int| = Int(0) - public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/Int| - public final [ResolvedTo(CONTRACTS)] fun explicitType(): R|@R|foo/Anno|(position = (String(return type: ), R|foo/constant|)) kotlin/collections/List<@R|foo/Anno|(position = (String(nested return type: ), R|foo/constant|)) kotlin/collections/Collection<@R|foo/Anno|(position = (String(nested nested return type: ), R|foo/constant|)) kotlin/String>>| { + public? final? const [ResolvedTo(RAW_FIR)] val constant: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public final [ResolvedTo(CONTRACTS)] fun explicitType(): R|@R|foo/Anno|((String(return type: ), constant#)) kotlin/collections/List<@R|foo/Anno|((String(nested return type: ), constant#)) kotlin/collections/Collection<@R|foo/Anno|((String(nested nested return type: ), constant#)) kotlin/String>>| { ^explicitType IntegerLiteral(0) } public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| { - @R|foo/Anno|[Types](position = (String(property ), R|foo/secondConstant|)) [ResolvedTo(BODY_RESOLVE)] lval localProperty: R|@R|foo/Anno|(position = (String(return type: ), R|foo/constant|)) kotlin/collections/List<@R|foo/Anno|(position = (String(nested return type: ), R|foo/constant|)) kotlin/collections/Collection<@R|foo/Anno|(position = (String(nested nested return type: ), R|foo/constant|)) kotlin/String>>| = R|foo/explicitType|() + @R|foo/Anno|[Types](position = (String(property ), R|foo/secondConstant|)) [ResolvedTo(BODY_RESOLVE)] lval localProperty: R|@R|foo/Anno|((String(return type: ), constant#)) kotlin/collections/List<@R|foo/Anno|((String(nested return type: ), constant#)) kotlin/collections/Collection<@R|foo/Anno|((String(nested nested return type: ), constant#)) kotlin/String>>| = R|foo/explicitType|() } public final const [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val secondConstant: R|kotlin/String| = String(str) public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/String| \ No newline at end of file diff --git a/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameter.txt b/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameter.txt index 498737b78af..da6b0a0cb8e 100644 --- a/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameter.txt +++ b/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameter.txt @@ -191,22 +191,22 @@ FILE: [ResolvedTo(IMPORTS)] anonymousFunctionWithAnnotatedParameter.kt BODY_RESOLVE: FILE: [ResolvedTo(IMPORTS)] anonymousFunctionWithAnnotatedParameter.kt - @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Anno.message] message: R|kotlin/String|): R|Anno| { + @R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.message] message: String): R|Anno| { LAZY_super } - public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val message: R|kotlin/String| = R|/message| - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val message: String = R|/message| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String } - public final [ResolvedTo(CONTRACTS)] val nullablePropertyWithAnnotatedType: R|@R|Anno|(message = String(outer)) kotlin/collections/List<@R|Anno|(message = String(middle)) kotlin/collections/List<@R|Anno|(message = String(inner)) kotlin/Int>>?| - public [ResolvedTo(CONTRACTS)] get(): R|@R|Anno|(message = String(outer)) kotlin/collections/List<@R|Anno|(message = String(middle)) kotlin/collections/List<@R|Anno|(message = String(inner)) kotlin/Int>>?| { + public final [ResolvedTo(CONTRACTS)] val nullablePropertyWithAnnotatedType: R|@R|Anno|(String(outer)) kotlin/collections/List<@R|Anno|(String(middle)) kotlin/collections/List<@R|Anno|(String(inner)) kotlin/Int>>?| + public [ResolvedTo(CONTRACTS)] get(): R|@R|Anno|(String(outer)) kotlin/collections/List<@R|Anno|(String(middle)) kotlin/collections/List<@R|Anno|(String(inner)) kotlin/Int>>?| { ^ Null(null) } public final [ResolvedTo(BODY_RESOLVE)] val propertyToResolve: R|kotlin/String| public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/String| { - ^ R|/nullablePropertyWithAnnotatedType|?.{ $subj$.R|kotlin/let|>|, R|kotlin/String|>( = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=kotlin/Function1] let@fun ([ResolvedTo(BODY_RESOLVE)] it: R|@R|Anno|(message = String(outer)) kotlin/collections/List<@R|Anno|(message = String(middle)) kotlin/collections/List<@R|Anno|(message = String(inner)) kotlin/Int>>|): R|kotlin/String| { + ^ R|/nullablePropertyWithAnnotatedType|?.{ $subj$.R|kotlin/let|>|, R|kotlin/String|>( = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=kotlin/Function1] let@fun ([ResolvedTo(BODY_RESOLVE)] it: R|@R|Anno|(String(outer)) kotlin/collections/List<@R|Anno|(String(middle)) kotlin/collections/List<@R|Anno|(String(inner)) kotlin/Int>>|): R|kotlin/String| { ^ (String( (), R|/it|, String())) } ) } ?: String() diff --git a/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameter2.txt b/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameter2.txt index 9fd50c3c5f2..a2306404043 100644 --- a/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameter2.txt +++ b/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameter2.txt @@ -191,22 +191,22 @@ FILE: [ResolvedTo(IMPORTS)] anonymousFunctionWithAnnotatedParameter2.kt BODY_RESOLVE: FILE: [ResolvedTo(IMPORTS)] anonymousFunctionWithAnnotatedParameter2.kt - @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Anno.message] message: R|kotlin/String|): R|Anno| { + @R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.message] message: String): R|Anno| { LAZY_super } - public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val message: R|kotlin/String| = R|/message| - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val message: String = R|/message| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String } - public final [ResolvedTo(CONTRACTS)] val nullablePropertyWithAnnotatedType: R|@R|Anno|(message = String(outer)) kotlin/collections/List<@R|Anno|(message = String(middle)) kotlin/collections/List<@R|Anno|(message = String(inner)) kotlin/Int>>?| - public [ResolvedTo(CONTRACTS)] get(): R|@R|Anno|(message = String(outer)) kotlin/collections/List<@R|Anno|(message = String(middle)) kotlin/collections/List<@R|Anno|(message = String(inner)) kotlin/Int>>?| { + public final [ResolvedTo(CONTRACTS)] val nullablePropertyWithAnnotatedType: R|@R|Anno|(String(outer)) kotlin/collections/List<@R|Anno|(String(middle)) kotlin/collections/List<@R|Anno|(String(inner)) kotlin/Int>>?| + public [ResolvedTo(CONTRACTS)] get(): R|@R|Anno|(String(outer)) kotlin/collections/List<@R|Anno|(String(middle)) kotlin/collections/List<@R|Anno|(String(inner)) kotlin/Int>>?| { ^ Null(null) } public final [ResolvedTo(BODY_RESOLVE)] val propertyToResolve: R|kotlin/String| public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/String| { - ^ R|/nullablePropertyWithAnnotatedType|.R|kotlin/let|>?|, R|kotlin/String|>( = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=kotlin/Function1] let@fun ([ResolvedTo(BODY_RESOLVE)] it: R|@R|Anno|(message = String(outer)) kotlin/collections/List<@R|Anno|(message = String(middle)) kotlin/collections/List<@R|Anno|(message = String(inner)) kotlin/Int>>?|): R|kotlin/String| { + ^ R|/nullablePropertyWithAnnotatedType|.R|kotlin/let|>?|, R|kotlin/String|>( = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=kotlin/Function1] let@fun ([ResolvedTo(BODY_RESOLVE)] it: R|@R|Anno|(String(outer)) kotlin/collections/List<@R|Anno|(String(middle)) kotlin/collections/List<@R|Anno|(String(inner)) kotlin/Int>>?|): R|kotlin/String| { ^ (String( (), R|/it|, String())) } ) diff --git a/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameter2Script.txt b/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameter2Script.txt index 66ffb75a291..993c147b388 100644 --- a/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameter2Script.txt +++ b/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameter2Script.txt @@ -272,24 +272,24 @@ FILE: [ResolvedTo(IMPORTS)] anonymousFunctionWithAnnotatedParameter2Script.kts SCRIPT: [ResolvedTo(TYPES)] [ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array| - @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Anno.message] message: R|kotlin/String|): R|Anno| { + @R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.message] message: String): R|Anno| { LAZY_super } - public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val message: R|kotlin/String| = R|/message| - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val message: String = R|/message| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String } - public final [ResolvedTo(CONTRACTS)] val nullablePropertyWithAnnotatedType: R|@R|Anno|(message = String(outer)) kotlin/collections/List<@R|Anno|(message = String(middle)) kotlin/collections/List<@R|Anno|(message = String(inner)) kotlin/Int>>?| - public [ResolvedTo(CONTRACTS)] get(): R|@R|Anno|(message = String(outer)) kotlin/collections/List<@R|Anno|(message = String(middle)) kotlin/collections/List<@R|Anno|(message = String(inner)) kotlin/Int>>?| { + public final [ResolvedTo(CONTRACTS)] val nullablePropertyWithAnnotatedType: R|@R|Anno|(String(outer)) kotlin/collections/List<@R|Anno|(String(middle)) kotlin/collections/List<@R|Anno|(String(inner)) kotlin/Int>>?| + public [ResolvedTo(CONTRACTS)] get(): R|@R|Anno|(String(outer)) kotlin/collections/List<@R|Anno|(String(middle)) kotlin/collections/List<@R|Anno|(String(inner)) kotlin/Int>>?| { ^ Null(null) } public final [ResolvedTo(BODY_RESOLVE)] val propertyToResolve: R|kotlin/String| public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/String| { - ^ R|/nullablePropertyWithAnnotatedType|.R|kotlin/let|>?|, R|kotlin/String|>( = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=kotlin/Function1] let@fun ([ResolvedTo(BODY_RESOLVE)] it: R|@R|Anno|(message = String(outer)) kotlin/collections/List<@R|Anno|(message = String(middle)) kotlin/collections/List<@R|Anno|(message = String(inner)) kotlin/Int>>?|): R|kotlin/String| { + ^ R|/nullablePropertyWithAnnotatedType|.R|kotlin/let|>?|, R|kotlin/String|>( = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=kotlin/Function1] let@fun ([ResolvedTo(BODY_RESOLVE)] it: R|@R|Anno|(String(outer)) kotlin/collections/List<@R|Anno|(String(middle)) kotlin/collections/List<@R|Anno|(String(inner)) kotlin/Int>>?|): R|kotlin/String| { ^ (String( (), R|/it|, String())) } ) diff --git a/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameterOnImplicitTypePhase.txt b/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameterOnImplicitTypePhase.txt index d169354c6be..4a7547b3a04 100644 --- a/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameterOnImplicitTypePhase.txt +++ b/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameterOnImplicitTypePhase.txt @@ -149,22 +149,22 @@ FILE: [ResolvedTo(IMPORTS)] anonymousFunctionWithAnnotatedParameterOnImplicitTyp IMPLICIT_TYPES_BODY_RESOLVE: FILE: [ResolvedTo(IMPORTS)] anonymousFunctionWithAnnotatedParameterOnImplicitTypePhase.kt - @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Anno.message] message: R|kotlin/String|): R|Anno| { + @R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.message] message: String): R|Anno| { LAZY_super } - public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val message: R|kotlin/String| = R|/message| - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val message: String = R|/message| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String } - public final [ResolvedTo(CONTRACTS)] val nullablePropertyWithAnnotatedType: R|@R|Anno|(message = String(str)) kotlin/String?| - public [ResolvedTo(CONTRACTS)] get(): R|@R|Anno|(message = String(str)) kotlin/String?| { + public final [ResolvedTo(CONTRACTS)] val nullablePropertyWithAnnotatedType: R|@R|Anno|(String(str)) kotlin/String?| + public [ResolvedTo(CONTRACTS)] get(): R|@R|Anno|(String(str)) kotlin/String?| { ^ Null(null) } public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val propertyToResolve: R|kotlin/String| public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/String| { - ^ R|/nullablePropertyWithAnnotatedType|?.{ $subj$.R|kotlin/let|( = [ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function1] let@fun ([ResolvedTo(BODY_RESOLVE)] it: R|@R|Anno|(message = String(str)) kotlin/String|): R|kotlin/String| { + ^ R|/nullablePropertyWithAnnotatedType|?.{ $subj$.R|kotlin/let|( = [ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function1] let@fun ([ResolvedTo(BODY_RESOLVE)] it: R|@R|Anno|(String(str)) kotlin/String|): R|kotlin/String| { ^ (String( (), R|/it|, String())) } ) } ?: String() @@ -172,22 +172,22 @@ FILE: [ResolvedTo(IMPORTS)] anonymousFunctionWithAnnotatedParameterOnImplicitTyp ANNOTATION_ARGUMENTS: FILE: [ResolvedTo(IMPORTS)] anonymousFunctionWithAnnotatedParameterOnImplicitTypePhase.kt - @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Anno.message] message: R|kotlin/String|): R|Anno| { + @R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.message] message: String): R|Anno| { LAZY_super } - public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val message: R|kotlin/String| = R|/message| - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val message: String = R|/message| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String } - public final [ResolvedTo(CONTRACTS)] val nullablePropertyWithAnnotatedType: R|@R|Anno|(message = String(str)) kotlin/String?| - public [ResolvedTo(CONTRACTS)] get(): R|@R|Anno|(message = String(str)) kotlin/String?| { + public final [ResolvedTo(CONTRACTS)] val nullablePropertyWithAnnotatedType: R|@R|Anno|(String(str)) kotlin/String?| + public [ResolvedTo(CONTRACTS)] get(): R|@R|Anno|(String(str)) kotlin/String?| { ^ Null(null) } public final [ResolvedTo(ANNOTATION_ARGUMENTS)] val propertyToResolve: R|kotlin/String| public [ResolvedTo(ANNOTATION_ARGUMENTS)] get(): R|kotlin/String| { - ^ R|/nullablePropertyWithAnnotatedType|?.{ $subj$.R|kotlin/let|( = [ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function1] let@fun ([ResolvedTo(BODY_RESOLVE)] it: R|@R|Anno|(message = String(str)) kotlin/String|): R|kotlin/String| { + ^ R|/nullablePropertyWithAnnotatedType|?.{ $subj$.R|kotlin/let|( = [ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function1] let@fun ([ResolvedTo(BODY_RESOLVE)] it: R|@R|Anno|(String(str)) kotlin/String|): R|kotlin/String| { ^ (String( (), R|/it|, String())) } ) } ?: String() @@ -195,22 +195,22 @@ FILE: [ResolvedTo(IMPORTS)] anonymousFunctionWithAnnotatedParameterOnImplicitTyp BODY_RESOLVE: FILE: [ResolvedTo(IMPORTS)] anonymousFunctionWithAnnotatedParameterOnImplicitTypePhase.kt - @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Anno.message] message: R|kotlin/String|): R|Anno| { + @R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.message] message: String): R|Anno| { LAZY_super } - public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val message: R|kotlin/String| = R|/message| - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val message: String = R|/message| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String } - public final [ResolvedTo(CONTRACTS)] val nullablePropertyWithAnnotatedType: R|@R|Anno|(message = String(str)) kotlin/String?| - public [ResolvedTo(CONTRACTS)] get(): R|@R|Anno|(message = String(str)) kotlin/String?| { + public final [ResolvedTo(CONTRACTS)] val nullablePropertyWithAnnotatedType: R|@R|Anno|(String(str)) kotlin/String?| + public [ResolvedTo(CONTRACTS)] get(): R|@R|Anno|(String(str)) kotlin/String?| { ^ Null(null) } public final [ResolvedTo(BODY_RESOLVE)] val propertyToResolve: R|kotlin/String| public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/String| { - ^ R|/nullablePropertyWithAnnotatedType|?.{ $subj$.R|kotlin/let|( = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=kotlin/Function1] let@fun ([ResolvedTo(BODY_RESOLVE)] it: R|@R|Anno|(message = String(str)) kotlin/String|): R|kotlin/String| { + ^ R|/nullablePropertyWithAnnotatedType|?.{ $subj$.R|kotlin/let|( = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=kotlin/Function1] let@fun ([ResolvedTo(BODY_RESOLVE)] it: R|@R|Anno|(String(str)) kotlin/String|): R|kotlin/String| { ^ (String( (), R|/it|, String())) } ) } ?: String() diff --git a/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameterOnImplicitTypePhaseScript.txt b/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameterOnImplicitTypePhaseScript.txt index aea8eddd415..79004392015 100644 --- a/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameterOnImplicitTypePhaseScript.txt +++ b/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameterOnImplicitTypePhaseScript.txt @@ -216,24 +216,24 @@ FILE: [ResolvedTo(IMPORTS)] anonymousFunctionWithAnnotatedParameterOnImplicitTyp SCRIPT: [ResolvedTo(TYPES)] [ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array| - @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Anno.message] message: R|kotlin/String|): R|Anno| { + @R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.message] message: String): R|Anno| { LAZY_super } - public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val message: R|kotlin/String| = R|/message| - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val message: String = R|/message| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String } - public final [ResolvedTo(CONTRACTS)] val nullablePropertyWithAnnotatedType: R|@R|Anno|(message = String(str)) kotlin/String?| - public [ResolvedTo(CONTRACTS)] get(): R|@R|Anno|(message = String(str)) kotlin/String?| { + public final [ResolvedTo(CONTRACTS)] val nullablePropertyWithAnnotatedType: R|@R|Anno|(String(str)) kotlin/String?| + public [ResolvedTo(CONTRACTS)] get(): R|@R|Anno|(String(str)) kotlin/String?| { ^ Null(null) } public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val propertyToResolve: R|kotlin/String| public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/String| { - ^ R|/nullablePropertyWithAnnotatedType|?.{ $subj$.R|kotlin/let|( = [ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function1] let@fun ([ResolvedTo(BODY_RESOLVE)] it: R|@R|Anno|(message = String(str)) kotlin/String|): R|kotlin/String| { + ^ R|/nullablePropertyWithAnnotatedType|?.{ $subj$.R|kotlin/let|( = [ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function1] let@fun ([ResolvedTo(BODY_RESOLVE)] it: R|@R|Anno|(String(str)) kotlin/String|): R|kotlin/String| { ^ (String( (), R|/it|, String())) } ) } ?: String() @@ -246,24 +246,24 @@ FILE: [ResolvedTo(IMPORTS)] anonymousFunctionWithAnnotatedParameterOnImplicitTyp SCRIPT: [ResolvedTo(TYPES)] [ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array| - @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Anno.message] message: R|kotlin/String|): R|Anno| { + @R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.message] message: String): R|Anno| { LAZY_super } - public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val message: R|kotlin/String| = R|/message| - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val message: String = R|/message| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String } - public final [ResolvedTo(CONTRACTS)] val nullablePropertyWithAnnotatedType: R|@R|Anno|(message = String(str)) kotlin/String?| - public [ResolvedTo(CONTRACTS)] get(): R|@R|Anno|(message = String(str)) kotlin/String?| { + public final [ResolvedTo(CONTRACTS)] val nullablePropertyWithAnnotatedType: R|@R|Anno|(String(str)) kotlin/String?| + public [ResolvedTo(CONTRACTS)] get(): R|@R|Anno|(String(str)) kotlin/String?| { ^ Null(null) } public final [ResolvedTo(ANNOTATION_ARGUMENTS)] val propertyToResolve: R|kotlin/String| public [ResolvedTo(ANNOTATION_ARGUMENTS)] get(): R|kotlin/String| { - ^ R|/nullablePropertyWithAnnotatedType|?.{ $subj$.R|kotlin/let|( = [ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function1] let@fun ([ResolvedTo(BODY_RESOLVE)] it: R|@R|Anno|(message = String(str)) kotlin/String|): R|kotlin/String| { + ^ R|/nullablePropertyWithAnnotatedType|?.{ $subj$.R|kotlin/let|( = [ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function1] let@fun ([ResolvedTo(BODY_RESOLVE)] it: R|@R|Anno|(String(str)) kotlin/String|): R|kotlin/String| { ^ (String( (), R|/it|, String())) } ) } ?: String() @@ -276,24 +276,24 @@ FILE: [ResolvedTo(IMPORTS)] anonymousFunctionWithAnnotatedParameterOnImplicitTyp SCRIPT: [ResolvedTo(TYPES)] [ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array| - @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Anno.message] message: R|kotlin/String|): R|Anno| { + @R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.message] message: String): R|Anno| { LAZY_super } - public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val message: R|kotlin/String| = R|/message| - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val message: String = R|/message| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String } - public final [ResolvedTo(CONTRACTS)] val nullablePropertyWithAnnotatedType: R|@R|Anno|(message = String(str)) kotlin/String?| - public [ResolvedTo(CONTRACTS)] get(): R|@R|Anno|(message = String(str)) kotlin/String?| { + public final [ResolvedTo(CONTRACTS)] val nullablePropertyWithAnnotatedType: R|@R|Anno|(String(str)) kotlin/String?| + public [ResolvedTo(CONTRACTS)] get(): R|@R|Anno|(String(str)) kotlin/String?| { ^ Null(null) } public final [ResolvedTo(BODY_RESOLVE)] val propertyToResolve: R|kotlin/String| public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/String| { - ^ R|/nullablePropertyWithAnnotatedType|?.{ $subj$.R|kotlin/let|( = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=kotlin/Function1] let@fun ([ResolvedTo(BODY_RESOLVE)] it: R|@R|Anno|(message = String(str)) kotlin/String|): R|kotlin/String| { + ^ R|/nullablePropertyWithAnnotatedType|?.{ $subj$.R|kotlin/let|( = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=kotlin/Function1] let@fun ([ResolvedTo(BODY_RESOLVE)] it: R|@R|Anno|(String(str)) kotlin/String|): R|kotlin/String| { ^ (String( (), R|/it|, String())) } ) } ?: String() diff --git a/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameterScript.txt b/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameterScript.txt index cbd451d7b3e..578b1f7ccdb 100644 --- a/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameterScript.txt +++ b/analysis/low-level-api-fir/testData/lazyResolve/anonymousFunctionWithAnnotatedParameterScript.txt @@ -272,24 +272,24 @@ FILE: [ResolvedTo(IMPORTS)] anonymousFunctionWithAnnotatedParameterScript.kts SCRIPT: [ResolvedTo(TYPES)] [ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array| - @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Anno.message] message: R|kotlin/String|): R|Anno| { + @R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.message] message: String): R|Anno| { LAZY_super } - public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val message: R|kotlin/String| = R|/message| - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val message: String = R|/message| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String } - public final [ResolvedTo(CONTRACTS)] val nullablePropertyWithAnnotatedType: R|@R|Anno|(message = String(outer)) kotlin/collections/List<@R|Anno|(message = String(middle)) kotlin/collections/List<@R|Anno|(message = String(inner)) kotlin/Int>>?| - public [ResolvedTo(CONTRACTS)] get(): R|@R|Anno|(message = String(outer)) kotlin/collections/List<@R|Anno|(message = String(middle)) kotlin/collections/List<@R|Anno|(message = String(inner)) kotlin/Int>>?| { + public final [ResolvedTo(CONTRACTS)] val nullablePropertyWithAnnotatedType: R|@R|Anno|(String(outer)) kotlin/collections/List<@R|Anno|(String(middle)) kotlin/collections/List<@R|Anno|(String(inner)) kotlin/Int>>?| + public [ResolvedTo(CONTRACTS)] get(): R|@R|Anno|(String(outer)) kotlin/collections/List<@R|Anno|(String(middle)) kotlin/collections/List<@R|Anno|(String(inner)) kotlin/Int>>?| { ^ Null(null) } public final [ResolvedTo(BODY_RESOLVE)] val propertyToResolve: R|kotlin/String| public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/String| { - ^ R|/nullablePropertyWithAnnotatedType|?.{ $subj$.R|kotlin/let|>|, R|kotlin/String|>( = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=kotlin/Function1] let@fun ([ResolvedTo(BODY_RESOLVE)] it: R|@R|Anno|(message = String(outer)) kotlin/collections/List<@R|Anno|(message = String(middle)) kotlin/collections/List<@R|Anno|(message = String(inner)) kotlin/Int>>|): R|kotlin/String| { + ^ R|/nullablePropertyWithAnnotatedType|?.{ $subj$.R|kotlin/let|>|, R|kotlin/String|>( = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=kotlin/Function1] let@fun ([ResolvedTo(BODY_RESOLVE)] it: R|@R|Anno|(String(outer)) kotlin/collections/List<@R|Anno|(String(middle)) kotlin/collections/List<@R|Anno|(String(inner)) kotlin/Int>>|): R|kotlin/String| { ^ (String( (), R|/it|, String())) } ) } ?: String() diff --git a/analysis/low-level-api-fir/testData/lazyResolve/implicitTypeWithInaccessibleAnnotation.txt b/analysis/low-level-api-fir/testData/lazyResolve/implicitTypeWithInaccessibleAnnotation.txt index 46142ff5b00..6cd6ba28bf8 100644 --- a/analysis/low-level-api-fir/testData/lazyResolve/implicitTypeWithInaccessibleAnnotation.txt +++ b/analysis/low-level-api-fir/testData/lazyResolve/implicitTypeWithInaccessibleAnnotation.txt @@ -274,16 +274,16 @@ FILE: [ResolvedTo(IMPORTS)] implicitTypeWithInaccessibleAnnotation.kt ANNOTATION_ARGUMENTS: FILE: [ResolvedTo(IMPORTS)] implicitTypeWithInaccessibleAnnotation.kt - @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=usage/Anno.s] s: R|kotlin/String|): R|usage/Anno| { + @R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=usage/Anno.s] s: String): R|usage/Anno| { LAZY_super } - public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val s: R|kotlin/String| = R|/s| - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: String = R|/s| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String } - public final [ResolvedTo(ANNOTATION_ARGUMENTS)] fun implicitType1(): R|@R|usage/Anno|(s = #) kotlin/Int| { + public final [ResolvedTo(ANNOTATION_ARGUMENTS)] fun implicitType1(): R|@R|usage/Anno|(privateConstVal#) kotlin/Int| { ^implicitType1 Q|usage/TopLevelObject|.R|usage/TopLevelObject.expectedType|() } public final [ResolvedTo(STATUS)] object TopLevelObject : R|kotlin/Any| { @@ -296,7 +296,7 @@ FILE: [ResolvedTo(IMPORTS)] implicitTypeWithInaccessibleAnnotation.kt private final const [ResolvedTo(STATUS)] val privateConstVal: = LAZY_EXPRESSION private [ResolvedTo(STATUS)] [ContainingClassKey=TopLevelObject] get(): - public final [ResolvedTo(CONTRACTS)] fun expectedType(): R|@R|usage/Anno|(s = #) kotlin/Int| { + public final [ResolvedTo(CONTRACTS)] fun expectedType(): R|@R|usage/Anno|(privateConstVal#) kotlin/Int| { ^expectedType IntegerLiteral(4) } @@ -305,16 +305,16 @@ FILE: [ResolvedTo(IMPORTS)] implicitTypeWithInaccessibleAnnotation.kt BODY_RESOLVE: FILE: [ResolvedTo(IMPORTS)] implicitTypeWithInaccessibleAnnotation.kt - @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=usage/Anno.s] s: R|kotlin/String|): R|usage/Anno| { + @R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=usage/Anno.s] s: String): R|usage/Anno| { LAZY_super } - public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val s: R|kotlin/String| = R|/s| - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: String = R|/s| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String } - public final [ResolvedTo(BODY_RESOLVE)] fun implicitType1(): R|@R|usage/Anno|(s = #) kotlin/Int| { + public final [ResolvedTo(BODY_RESOLVE)] fun implicitType1(): R|@R|usage/Anno|(privateConstVal#) kotlin/Int| { ^implicitType1 Q|usage/TopLevelObject|.R|usage/TopLevelObject.expectedType|() } public final [ResolvedTo(STATUS)] object TopLevelObject : R|kotlin/Any| { @@ -327,7 +327,7 @@ FILE: [ResolvedTo(IMPORTS)] implicitTypeWithInaccessibleAnnotation.kt private final const [ResolvedTo(STATUS)] val privateConstVal: = LAZY_EXPRESSION private [ResolvedTo(STATUS)] [ContainingClassKey=TopLevelObject] get(): - public final [ResolvedTo(CONTRACTS)] fun expectedType(): R|@R|usage/Anno|(s = #) kotlin/Int| { + public final [ResolvedTo(CONTRACTS)] fun expectedType(): R|@R|usage/Anno|(privateConstVal#) kotlin/Int| { ^expectedType IntegerLiteral(4) } @@ -345,7 +345,7 @@ FILE: [ResolvedTo(BODY_RESOLVE)] implicitTypeWithInaccessibleAnnotation.kt public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Anno] get(): R|kotlin/String| } - public final [ResolvedTo(BODY_RESOLVE)] fun implicitType1(): R|@R|usage/Anno|(s = #) kotlin/Int| { + public final [ResolvedTo(BODY_RESOLVE)] fun implicitType1(): R|@R|usage/Anno|(s = this@R|usage/TopLevelObject|.R|usage/TopLevelObject.privateConstVal|) kotlin/Int| { ^implicitType1 Q|usage/TopLevelObject|.R|usage/TopLevelObject.expectedType|() } public final [ResolvedTo(BODY_RESOLVE)] object TopLevelObject : R|kotlin/Any| { @@ -360,7 +360,7 @@ FILE: [ResolvedTo(BODY_RESOLVE)] implicitTypeWithInaccessibleAnnotation.kt private final const [ResolvedTo(BODY_RESOLVE)] val privateConstVal: R|kotlin/String| = String(privateConstVal) private [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelObject] get(): R|kotlin/String| - public final [ResolvedTo(BODY_RESOLVE)] fun expectedType(): R|@R|usage/Anno|(s = #) kotlin/Int| { + public final [ResolvedTo(BODY_RESOLVE)] fun expectedType(): R|@R|usage/Anno|(s = this@R|usage/TopLevelObject|.R|usage/TopLevelObject.privateConstVal|) kotlin/Int| { ^expectedType Int(4) } diff --git a/analysis/low-level-api-fir/testData/lazyResolve/properties/impliciyTypeWithAnnotationOnFunction.txt b/analysis/low-level-api-fir/testData/lazyResolve/properties/impliciyTypeWithAnnotationOnFunction.txt index 9038dbe2d88..b670fff3a0e 100644 --- a/analysis/low-level-api-fir/testData/lazyResolve/properties/impliciyTypeWithAnnotationOnFunction.txt +++ b/analysis/low-level-api-fir/testData/lazyResolve/properties/impliciyTypeWithAnnotationOnFunction.txt @@ -164,41 +164,41 @@ FILE: [ResolvedTo(IMPORTS)] impliciyTypeWithAnnotationOnFunction.kt ANNOTATION_ARGUMENTS: FILE: [ResolvedTo(IMPORTS)] impliciyTypeWithAnnotationOnFunction.kt - @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Anno.number] number: R|kotlin/Int|): R|Anno| { + @R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.number] number: Int): R|Anno| { LAZY_super } - public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val number: R|kotlin/Int| = R|/number| - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/Int| + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val number: Int = R|/number| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): Int } - public final const [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val value: R|kotlin/Int| = Int(0) - public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/Int| - public final [ResolvedTo(CONTRACTS)] fun typeWithAnnotation(): R|@R|Anno|(number = R|/value|) kotlin/String| { + public? final? const [ResolvedTo(RAW_FIR)] val value: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public final [ResolvedTo(CONTRACTS)] fun typeWithAnnotation(): R|@R|Anno|(value#) kotlin/String| { ^typeWithAnnotation String() } - public final [ResolvedTo(ANNOTATION_ARGUMENTS)] fun resolveMe(): R|@R|Anno|(number = R|/value|) kotlin/String| { + public final [ResolvedTo(ANNOTATION_ARGUMENTS)] fun resolveMe(): R|@R|Anno|(value#) kotlin/String| { ^resolveMe R|/typeWithAnnotation|() } BODY_RESOLVE: FILE: [ResolvedTo(IMPORTS)] impliciyTypeWithAnnotationOnFunction.kt - @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Anno.number] number: R|kotlin/Int|): R|Anno| { + @R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.number] number: Int): R|Anno| { LAZY_super } - public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val number: R|kotlin/Int| = R|/number| - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/Int| + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val number: Int = R|/number| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): Int } - public final const [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val value: R|kotlin/Int| = Int(0) - public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/Int| - public final [ResolvedTo(CONTRACTS)] fun typeWithAnnotation(): R|@R|Anno|(number = R|/value|) kotlin/String| { + public? final? const [ResolvedTo(RAW_FIR)] val value: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public final [ResolvedTo(CONTRACTS)] fun typeWithAnnotation(): R|@R|Anno|(value#) kotlin/String| { ^typeWithAnnotation String() } - public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|@R|Anno|(number = R|/value|) kotlin/String| { + public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|@R|Anno|(value#) kotlin/String| { ^resolveMe R|/typeWithAnnotation|() } diff --git a/analysis/low-level-api-fir/testData/lazyResolve/properties/impliciyTypeWithAnnotationOnProperty.txt b/analysis/low-level-api-fir/testData/lazyResolve/properties/impliciyTypeWithAnnotationOnProperty.txt index 11351d89cd2..3656a116990 100644 --- a/analysis/low-level-api-fir/testData/lazyResolve/properties/impliciyTypeWithAnnotationOnProperty.txt +++ b/analysis/low-level-api-fir/testData/lazyResolve/properties/impliciyTypeWithAnnotationOnProperty.txt @@ -188,48 +188,48 @@ FILE: [ResolvedTo(IMPORTS)] impliciyTypeWithAnnotationOnProperty.kt ANNOTATION_ARGUMENTS: FILE: [ResolvedTo(IMPORTS)] impliciyTypeWithAnnotationOnProperty.kt - @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Anno.number] number: R|kotlin/Int|): R|Anno| { + @R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.number] number: Int): R|Anno| { LAZY_super } - public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val number: R|kotlin/Int| = R|/number| - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/Int| + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val number: Int = R|/number| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): Int } - public final const [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val value: R|kotlin/Int| = Int(0) - public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/Int| - public final [ResolvedTo(CONTRACTS)] fun typeWithAnnotation(): R|@R|Anno|(number = R|/value|) kotlin/String| { + public? final? const [ResolvedTo(RAW_FIR)] val value: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public final [ResolvedTo(CONTRACTS)] fun typeWithAnnotation(): R|@R|Anno|(value#) kotlin/String| { ^typeWithAnnotation String() } - public final [ResolvedTo(ANNOTATION_ARGUMENTS)] var resolveMe: R|@R|Anno|(number = R|/value|) kotlin/String| - public [ResolvedTo(ANNOTATION_ARGUMENTS)] get(): R|@R|Anno|(number = R|/value|) kotlin/String| { + public final [ResolvedTo(ANNOTATION_ARGUMENTS)] var resolveMe: R|@R|Anno|(value#) kotlin/String| + public [ResolvedTo(ANNOTATION_ARGUMENTS)] get(): R|@R|Anno|(value#) kotlin/String| { ^ R|/typeWithAnnotation|() } - public [ResolvedTo(ANNOTATION_ARGUMENTS)] set([ResolvedTo(ANNOTATION_ARGUMENTS)] value: R|@R|Anno|(number = R|/value|) kotlin/String|): R|kotlin/Unit| { + public [ResolvedTo(ANNOTATION_ARGUMENTS)] set([ResolvedTo(ANNOTATION_ARGUMENTS)] value: R|@R|Anno|(value#) kotlin/String|): R|kotlin/Unit| { } BODY_RESOLVE: FILE: [ResolvedTo(IMPORTS)] impliciyTypeWithAnnotationOnProperty.kt - @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Anno.number] number: R|kotlin/Int|): R|Anno| { + @R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.number] number: Int): R|Anno| { LAZY_super } - public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val number: R|kotlin/Int| = R|/number| - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/Int| + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val number: Int = R|/number| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): Int } - public final const [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val value: R|kotlin/Int| = Int(0) - public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/Int| - public final [ResolvedTo(CONTRACTS)] fun typeWithAnnotation(): R|@R|Anno|(number = R|/value|) kotlin/String| { + public? final? const [ResolvedTo(RAW_FIR)] val value: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public final [ResolvedTo(CONTRACTS)] fun typeWithAnnotation(): R|@R|Anno|(value#) kotlin/String| { ^typeWithAnnotation String() } - public final [ResolvedTo(BODY_RESOLVE)] var resolveMe: R|@R|Anno|(number = R|/value|) kotlin/String| - public [ResolvedTo(BODY_RESOLVE)] get(): R|@R|Anno|(number = R|/value|) kotlin/String| { + public final [ResolvedTo(BODY_RESOLVE)] var resolveMe: R|@R|Anno|(value#) kotlin/String| + public [ResolvedTo(BODY_RESOLVE)] get(): R|@R|Anno|(value#) kotlin/String| { ^ R|/typeWithAnnotation|() } - public [ResolvedTo(BODY_RESOLVE)] set([ResolvedTo(BODY_RESOLVE)] value: R|@R|Anno|(number = R|/value|) kotlin/String|): R|kotlin/Unit| { + public [ResolvedTo(BODY_RESOLVE)] set([ResolvedTo(BODY_RESOLVE)] value: R|@R|Anno|(value#) kotlin/String|): R|kotlin/Unit| { } FILE RAW TO BODY: diff --git a/analysis/low-level-api-fir/testData/lazyResolve/properties/resultWithPropagatedType.txt b/analysis/low-level-api-fir/testData/lazyResolve/properties/resultWithPropagatedType.txt index 25c4359d53f..cc373b7ecf4 100644 --- a/analysis/low-level-api-fir/testData/lazyResolve/properties/resultWithPropagatedType.txt +++ b/analysis/low-level-api-fir/testData/lazyResolve/properties/resultWithPropagatedType.txt @@ -256,25 +256,25 @@ FILE: [ResolvedTo(IMPORTS)] resultWithPropagatedType.kts SCRIPT: [ResolvedTo(ANNOTATION_ARGUMENTS)] [ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array| - @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=foo/Anno.position] position: R|kotlin/String|): R|foo/Anno| { + @R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=foo/Anno.position] position: String): R|foo/Anno| { LAZY_super } - public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val position: R|kotlin/String| = R|/position| - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val position: String = R|/position| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String } - public final const [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val constant: R|kotlin/Int| = Int(0) - public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/Int| + public? final? const [ResolvedTo(RAW_FIR)] val constant: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): - public final [ResolvedTo(CONTRACTS)] fun explicitType(): R|@R|foo/Anno|(position = (String(return type: ), R|foo/constant|)) kotlin/collections/List<@R|foo/Anno|(position = (String(nested return type: ), R|foo/constant|)) kotlin/collections/Collection<@R|foo/Anno|(position = (String(nested nested return type: ), R|foo/constant|)) kotlin/String>>| { + public final [ResolvedTo(CONTRACTS)] fun explicitType(): R|@R|foo/Anno|((String(return type: ), constant#)) kotlin/collections/List<@R|foo/Anno|((String(nested return type: ), constant#)) kotlin/collections/Collection<@R|foo/Anno|((String(nested nested return type: ), constant#)) kotlin/String>>| { ^explicitType IntegerLiteral(0) } - public final [ResolvedTo(ANNOTATION_ARGUMENTS)] val $$result: R|@R|foo/Anno|(position = (String(return type: ), R|foo/constant|)) kotlin/collections/List<@R|foo/Anno|(position = (String(nested return type: ), R|foo/constant|)) kotlin/collections/Collection<@R|foo/Anno|(position = (String(nested nested return type: ), R|foo/constant|)) kotlin/String>>| = R|foo/explicitType|() - public [ResolvedTo(ANNOTATION_ARGUMENTS)] get(): R|@R|foo/Anno|(position = (String(return type: ), R|foo/constant|)) kotlin/collections/List<@R|foo/Anno|(position = (String(nested return type: ), R|foo/constant|)) kotlin/collections/Collection<@R|foo/Anno|(position = (String(nested nested return type: ), R|foo/constant|)) kotlin/String>>| + public final [ResolvedTo(ANNOTATION_ARGUMENTS)] val $$result: R|@R|foo/Anno|((String(return type: ), constant#)) kotlin/collections/List<@R|foo/Anno|((String(nested return type: ), constant#)) kotlin/collections/Collection<@R|foo/Anno|((String(nested nested return type: ), constant#)) kotlin/String>>| = R|foo/explicitType|() + public [ResolvedTo(ANNOTATION_ARGUMENTS)] get(): R|@R|foo/Anno|((String(return type: ), constant#)) kotlin/collections/List<@R|foo/Anno|((String(nested return type: ), constant#)) kotlin/collections/Collection<@R|foo/Anno|((String(nested nested return type: ), constant#)) kotlin/String>>| BODY_RESOLVE: @@ -283,25 +283,25 @@ FILE: [ResolvedTo(IMPORTS)] resultWithPropagatedType.kts SCRIPT: [ResolvedTo(BODY_RESOLVE)] [ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array| - @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=foo/Anno.position] position: R|kotlin/String|): R|foo/Anno| { + @R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=foo/Anno.position] position: String): R|foo/Anno| { LAZY_super } - public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val position: R|kotlin/String| = R|/position| - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val position: String = R|/position| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String } - public final const [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val constant: R|kotlin/Int| = Int(0) - public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/Int| + public? final? const [ResolvedTo(RAW_FIR)] val constant: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): - public final [ResolvedTo(CONTRACTS)] fun explicitType(): R|@R|foo/Anno|(position = (String(return type: ), R|foo/constant|)) kotlin/collections/List<@R|foo/Anno|(position = (String(nested return type: ), R|foo/constant|)) kotlin/collections/Collection<@R|foo/Anno|(position = (String(nested nested return type: ), R|foo/constant|)) kotlin/String>>| { + public final [ResolvedTo(CONTRACTS)] fun explicitType(): R|@R|foo/Anno|((String(return type: ), constant#)) kotlin/collections/List<@R|foo/Anno|((String(nested return type: ), constant#)) kotlin/collections/Collection<@R|foo/Anno|((String(nested nested return type: ), constant#)) kotlin/String>>| { ^explicitType IntegerLiteral(0) } - public final [ResolvedTo(BODY_RESOLVE)] val $$result: R|@R|foo/Anno|(position = (String(return type: ), R|foo/constant|)) kotlin/collections/List<@R|foo/Anno|(position = (String(nested return type: ), R|foo/constant|)) kotlin/collections/Collection<@R|foo/Anno|(position = (String(nested nested return type: ), R|foo/constant|)) kotlin/String>>| = R|foo/explicitType|() - public [ResolvedTo(BODY_RESOLVE)] get(): R|@R|foo/Anno|(position = (String(return type: ), R|foo/constant|)) kotlin/collections/List<@R|foo/Anno|(position = (String(nested return type: ), R|foo/constant|)) kotlin/collections/Collection<@R|foo/Anno|(position = (String(nested nested return type: ), R|foo/constant|)) kotlin/String>>| + public final [ResolvedTo(BODY_RESOLVE)] val $$result: R|@R|foo/Anno|((String(return type: ), constant#)) kotlin/collections/List<@R|foo/Anno|((String(nested return type: ), constant#)) kotlin/collections/Collection<@R|foo/Anno|((String(nested nested return type: ), constant#)) kotlin/String>>| = R|foo/explicitType|() + public [ResolvedTo(BODY_RESOLVE)] get(): R|@R|foo/Anno|((String(return type: ), constant#)) kotlin/collections/List<@R|foo/Anno|((String(nested return type: ), constant#)) kotlin/collections/Collection<@R|foo/Anno|((String(nested nested return type: ), constant#)) kotlin/String>>| FILE RAW TO BODY: diff --git a/analysis/low-level-api-fir/testData/lazyResolve/properties/scriptWithResultWithPropagatedType.txt b/analysis/low-level-api-fir/testData/lazyResolve/properties/scriptWithResultWithPropagatedType.txt index abb0dfd7fde..7b63ab52557 100644 --- a/analysis/low-level-api-fir/testData/lazyResolve/properties/scriptWithResultWithPropagatedType.txt +++ b/analysis/low-level-api-fir/testData/lazyResolve/properties/scriptWithResultWithPropagatedType.txt @@ -256,25 +256,25 @@ FILE: [ResolvedTo(IMPORTS)] scriptWithResultWithPropagatedType.kts SCRIPT: [ResolvedTo(ANNOTATION_ARGUMENTS)] [ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array| - @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=foo/Anno.position] position: R|kotlin/String|): R|foo/Anno| { + @R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=foo/Anno.position] position: String): R|foo/Anno| { LAZY_super } - public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val position: R|kotlin/String| = R|/position| - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val position: String = R|/position| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String } - public final const [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val constant: R|kotlin/Int| = Int(0) - public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/Int| + public? final? const [ResolvedTo(RAW_FIR)] val constant: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): - public final [ResolvedTo(CONTRACTS)] fun explicitType(): R|@R|foo/Anno|(position = (String(return type: ), R|foo/constant|)) kotlin/collections/List<@R|foo/Anno|(position = (String(nested return type: ), R|foo/constant|)) kotlin/collections/Collection<@R|foo/Anno|(position = (String(nested nested return type: ), R|foo/constant|)) kotlin/String>>| { + public final [ResolvedTo(CONTRACTS)] fun explicitType(): R|@R|foo/Anno|((String(return type: ), constant#)) kotlin/collections/List<@R|foo/Anno|((String(nested return type: ), constant#)) kotlin/collections/Collection<@R|foo/Anno|((String(nested nested return type: ), constant#)) kotlin/String>>| { ^explicitType IntegerLiteral(0) } - public final [ResolvedTo(ANNOTATION_ARGUMENTS)] val $$result: R|@R|foo/Anno|(position = (String(return type: ), R|foo/constant|)) kotlin/collections/List<@R|foo/Anno|(position = (String(nested return type: ), R|foo/constant|)) kotlin/collections/Collection<@R|foo/Anno|(position = (String(nested nested return type: ), R|foo/constant|)) kotlin/String>>| = R|foo/explicitType|() - public [ResolvedTo(ANNOTATION_ARGUMENTS)] get(): R|@R|foo/Anno|(position = (String(return type: ), R|foo/constant|)) kotlin/collections/List<@R|foo/Anno|(position = (String(nested return type: ), R|foo/constant|)) kotlin/collections/Collection<@R|foo/Anno|(position = (String(nested nested return type: ), R|foo/constant|)) kotlin/String>>| + public final [ResolvedTo(ANNOTATION_ARGUMENTS)] val $$result: R|@R|foo/Anno|((String(return type: ), constant#)) kotlin/collections/List<@R|foo/Anno|((String(nested return type: ), constant#)) kotlin/collections/Collection<@R|foo/Anno|((String(nested nested return type: ), constant#)) kotlin/String>>| = R|foo/explicitType|() + public [ResolvedTo(ANNOTATION_ARGUMENTS)] get(): R|@R|foo/Anno|((String(return type: ), constant#)) kotlin/collections/List<@R|foo/Anno|((String(nested return type: ), constant#)) kotlin/collections/Collection<@R|foo/Anno|((String(nested nested return type: ), constant#)) kotlin/String>>| BODY_RESOLVE: @@ -283,25 +283,25 @@ FILE: [ResolvedTo(IMPORTS)] scriptWithResultWithPropagatedType.kts SCRIPT: [ResolvedTo(BODY_RESOLVE)] [ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array| - @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=foo/Anno.position] position: R|kotlin/String|): R|foo/Anno| { + @R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=foo/Anno.position] position: String): R|foo/Anno| { LAZY_super } - public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val position: R|kotlin/String| = R|/position| - public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val position: String = R|/position| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String } - public final const [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val constant: R|kotlin/Int| = Int(0) - public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/Int| + public? final? const [ResolvedTo(RAW_FIR)] val constant: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): - public final [ResolvedTo(CONTRACTS)] fun explicitType(): R|@R|foo/Anno|(position = (String(return type: ), R|foo/constant|)) kotlin/collections/List<@R|foo/Anno|(position = (String(nested return type: ), R|foo/constant|)) kotlin/collections/Collection<@R|foo/Anno|(position = (String(nested nested return type: ), R|foo/constant|)) kotlin/String>>| { + public final [ResolvedTo(CONTRACTS)] fun explicitType(): R|@R|foo/Anno|((String(return type: ), constant#)) kotlin/collections/List<@R|foo/Anno|((String(nested return type: ), constant#)) kotlin/collections/Collection<@R|foo/Anno|((String(nested nested return type: ), constant#)) kotlin/String>>| { ^explicitType IntegerLiteral(0) } - public final [ResolvedTo(BODY_RESOLVE)] val $$result: R|@R|foo/Anno|(position = (String(return type: ), R|foo/constant|)) kotlin/collections/List<@R|foo/Anno|(position = (String(nested return type: ), R|foo/constant|)) kotlin/collections/Collection<@R|foo/Anno|(position = (String(nested nested return type: ), R|foo/constant|)) kotlin/String>>| = R|foo/explicitType|() - public [ResolvedTo(BODY_RESOLVE)] get(): R|@R|foo/Anno|(position = (String(return type: ), R|foo/constant|)) kotlin/collections/List<@R|foo/Anno|(position = (String(nested return type: ), R|foo/constant|)) kotlin/collections/Collection<@R|foo/Anno|(position = (String(nested nested return type: ), R|foo/constant|)) kotlin/String>>| + public final [ResolvedTo(BODY_RESOLVE)] val $$result: R|@R|foo/Anno|((String(return type: ), constant#)) kotlin/collections/List<@R|foo/Anno|((String(nested return type: ), constant#)) kotlin/collections/Collection<@R|foo/Anno|((String(nested nested return type: ), constant#)) kotlin/String>>| = R|foo/explicitType|() + public [ResolvedTo(BODY_RESOLVE)] get(): R|@R|foo/Anno|((String(return type: ), constant#)) kotlin/collections/List<@R|foo/Anno|((String(nested return type: ), constant#)) kotlin/collections/Collection<@R|foo/Anno|((String(nested nested return type: ), constant#)) kotlin/String>>| FILE RAW TO BODY: diff --git a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.before.txt b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.before.txt index 0bfc71e6cc9..86b50e86d75 100644 --- a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.before.txt +++ b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.before.txt @@ -1,36 +1,36 @@ -@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? +@R|util/Anno|((String(bar ), prop#)) kotlin/collections/List<@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int>>? context -> FirNamedFunctionSymbol /doo anchor -> [FirNamedFunctionSymbol util/bar] -@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> +@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int> context -> FirNamedFunctionSymbol /doo anchor -> [FirNamedFunctionSymbol util/bar] -@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int +@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int context -> FirNamedFunctionSymbol /doo anchor -> [FirNamedFunctionSymbol util/bar] -@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? +@R|util/Anno|((String(bar ), prop#)) kotlin/collections/List<@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int>>? context -> FirNamedFunctionSymbol /foo anchor -> [FirNamedFunctionSymbol util/bar] -@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> +@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int> context -> FirNamedFunctionSymbol /foo anchor -> [FirNamedFunctionSymbol util/bar] -@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int +@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int context -> FirNamedFunctionSymbol /foo anchor -> [FirNamedFunctionSymbol util/bar] -@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? +@R|util/Anno|((String(bar ), prop#)) kotlin/collections/List<@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int>>? context -> FirNamedFunctionSymbol /baz anchor -> [FirNamedFunctionSymbol util/bar] -@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> +@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int> context -> FirNamedFunctionSymbol /baz anchor -> [FirNamedFunctionSymbol util/bar] -@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int +@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int context -> FirNamedFunctionSymbol /baz anchor -> [FirNamedFunctionSymbol util/bar] @@ -82,7 +82,7 @@ FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt } public final const [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val prop: R|kotlin/String| = String(str) public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/String| - public final [ResolvedTo(CONTRACTS)] fun bar(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + public final [ResolvedTo(CONTRACTS)] fun bar(): R|@R|util/Anno|((String(bar ), prop#)) kotlin/collections/List<@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int>>?| { ^bar Null(null) } public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class A : R|kotlin/Any| { @@ -93,15 +93,15 @@ FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt super() } - public final [ResolvedTo(BODY_RESOLVE)] fun doo(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + public final [ResolvedTo(BODY_RESOLVE)] fun doo(): R|@R|util/Anno|((String(bar ), prop#)) kotlin/collections/List<@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int>>?| { ^doo this@R|/OuterIntoLocal|.R|/foo|() } - public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|@R|util/Anno|((String(bar ), prop#)) kotlin/collections/List<@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int>>?| { ^foo R|util/bar|() } - public final [ResolvedTo(BODY_RESOLVE)] fun baz(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + public final [ResolvedTo(BODY_RESOLVE)] fun baz(): R|@R|util/Anno|((String(bar ), prop#)) kotlin/collections/List<@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int>>?| { ^baz this@R|/OuterIntoLocal|.R|/foo|() } diff --git a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.lazyResolve.txt b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.lazyResolve.txt index f37b172c9cb..826119fa48f 100644 --- a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.lazyResolve.txt +++ b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.lazyResolve.txt @@ -340,7 +340,7 @@ FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt } public final const [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val prop: R|kotlin/String| = String(str) public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/String| - public final [ResolvedTo(CONTRACTS)] fun bar(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + public final [ResolvedTo(CONTRACTS)] fun bar(): R|@R|util/Anno|((String(bar ), prop#)) kotlin/collections/List<@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int>>?| { ^bar Null(null) } public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class A : R|kotlin/Any| { @@ -351,15 +351,15 @@ FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt super() } - public final [ResolvedTo(BODY_RESOLVE)] fun doo(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + public final [ResolvedTo(BODY_RESOLVE)] fun doo(): R|@R|util/Anno|((String(bar ), prop#)) kotlin/collections/List<@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int>>?| { ^doo this@R|/OuterIntoLocal|.R|/foo|() } - public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|@R|util/Anno|((String(bar ), prop#)) kotlin/collections/List<@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int>>?| { ^foo R|util/bar|() } - public final [ResolvedTo(BODY_RESOLVE)] fun baz(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + public final [ResolvedTo(BODY_RESOLVE)] fun baz(): R|@R|util/Anno|((String(bar ), prop#)) kotlin/collections/List<@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int>>?| { ^baz this@R|/OuterIntoLocal|.R|/foo|() } diff --git a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunctionScript.before.txt b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunctionScript.before.txt index e3613a82189..b0079c4ca86 100644 --- a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunctionScript.before.txt +++ b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunctionScript.before.txt @@ -1,36 +1,36 @@ -@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? +@R|util/Anno|((String(bar ), prop#)) kotlin/collections/List<@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int>>? context -> FirNamedFunctionSymbol /doo anchor -> [FirNamedFunctionSymbol util/bar] -@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> +@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int> context -> FirNamedFunctionSymbol /doo anchor -> [FirNamedFunctionSymbol util/bar] -@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int +@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int context -> FirNamedFunctionSymbol /doo anchor -> [FirNamedFunctionSymbol util/bar] -@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? +@R|util/Anno|((String(bar ), prop#)) kotlin/collections/List<@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int>>? context -> FirNamedFunctionSymbol /foo anchor -> [FirNamedFunctionSymbol util/bar] -@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> +@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int> context -> FirNamedFunctionSymbol /foo anchor -> [FirNamedFunctionSymbol util/bar] -@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int +@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int context -> FirNamedFunctionSymbol /foo anchor -> [FirNamedFunctionSymbol util/bar] -@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? +@R|util/Anno|((String(bar ), prop#)) kotlin/collections/List<@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int>>? context -> FirNamedFunctionSymbol /baz anchor -> [FirNamedFunctionSymbol util/bar] -@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> +@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int> context -> FirNamedFunctionSymbol /baz anchor -> [FirNamedFunctionSymbol util/bar] -@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int +@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int context -> FirNamedFunctionSymbol /baz anchor -> [FirNamedFunctionSymbol util/bar] @@ -88,7 +88,7 @@ FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunctionScript.kts public final const [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val prop: R|kotlin/String| = String(str) public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/String| - public final [ResolvedTo(CONTRACTS)] fun bar(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + public final [ResolvedTo(CONTRACTS)] fun bar(): R|@R|util/Anno|((String(bar ), prop#)) kotlin/collections/List<@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int>>?| { ^bar Null(null) } @@ -100,15 +100,15 @@ FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunctionScript.kts super() } - public final [ResolvedTo(BODY_RESOLVE)] fun doo(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + public final [ResolvedTo(BODY_RESOLVE)] fun doo(): R|@R|util/Anno|((String(bar ), prop#)) kotlin/collections/List<@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int>>?| { ^doo this@R|/OuterIntoLocal|.R|/foo|() } - public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|@R|util/Anno|((String(bar ), prop#)) kotlin/collections/List<@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int>>?| { ^foo R|util/bar|() } - public final [ResolvedTo(BODY_RESOLVE)] fun baz(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + public final [ResolvedTo(BODY_RESOLVE)] fun baz(): R|@R|util/Anno|((String(bar ), prop#)) kotlin/collections/List<@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int>>?| { ^baz this@R|/OuterIntoLocal|.R|/foo|() } diff --git a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunctionScript.lazyResolve.txt b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunctionScript.lazyResolve.txt index 74fb16037e3..5949bf2dda5 100644 --- a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunctionScript.lazyResolve.txt +++ b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunctionScript.lazyResolve.txt @@ -434,7 +434,7 @@ FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunctionScript.kts public final const [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val prop: R|kotlin/String| = String(str) public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/String| - public final [ResolvedTo(CONTRACTS)] fun bar(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + public final [ResolvedTo(CONTRACTS)] fun bar(): R|@R|util/Anno|((String(bar ), prop#)) kotlin/collections/List<@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int>>?| { ^bar Null(null) } @@ -446,15 +446,15 @@ FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunctionScript.kts super() } - public final [ResolvedTo(BODY_RESOLVE)] fun doo(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + public final [ResolvedTo(BODY_RESOLVE)] fun doo(): R|@R|util/Anno|((String(bar ), prop#)) kotlin/collections/List<@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int>>?| { ^doo this@R|/OuterIntoLocal|.R|/foo|() } - public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|@R|util/Anno|((String(bar ), prop#)) kotlin/collections/List<@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int>>?| { ^foo R|util/bar|() } - public final [ResolvedTo(BODY_RESOLVE)] fun baz(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + public final [ResolvedTo(BODY_RESOLVE)] fun baz(): R|@R|util/Anno|((String(bar ), prop#)) kotlin/collections/List<@R|util/Anno|((String(nested bar ), prop#)) kotlin/collections/Collection<@R|util/Anno|((String(nested nested bar ), prop#)) kotlin/Int>>?| { ^baz this@R|/OuterIntoLocal|.R|/foo|() } diff --git a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/delegate/delegateWithImplicitType.lazyResolve.txt b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/delegate/delegateWithImplicitType.lazyResolve.txt index c21b8479a74..77a58edc866 100644 --- a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/delegate/delegateWithImplicitType.lazyResolve.txt +++ b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/delegate/delegateWithImplicitType.lazyResolve.txt @@ -119,7 +119,7 @@ FILE: [ResolvedTo(IMPORTS)] delegateWithImplicitType.kt } ANNOTATION_ARGUMENTS: -TARGET: @R|Anno|[Types](position = (String(implicitType ), R|/prop|)) public open [ResolvedTo(ANNOTATION_ARGUMENTS)] [DelegatedWrapperDataKey=[wrapped=FirNamedFunctionSymbol /OriginalInterface.implicitType, containingClass=Derived, delegateField=FirFieldSymbol /Derived.$$delegate_0] fun <@R|Anno|[Types](position = (String(type param ), R|/prop|)) [ResolvedTo(ANNOTATION_ARGUMENTS)] F : R|@R|Anno|(position = (String(bound ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested bound ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested bound ), R|/prop|)) kotlin/String>>|> @RECEIVER:R|Anno|[Types](position = (String(receiver annotation: ), R|/prop|)) R|@R|Anno|(position = (String(receiver type ), R|/prop|)) kotlin/collections/Collection<@R|Anno|(position = (String(nested receiver type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested receiver type ), R|/prop|)) kotlin/String>>|.implicitType([ResolvedTo(ANNOTATION_ARGUMENTS)] [SubstitutedOverrideOriginalKey=/param] @R|Anno|[Types](position = (String(parameter annotation ), R|/prop|)) param: R|@R|Anno|(position = (String(parameter type ), R|/prop|)) kotlin/collections/ListIterator<@R|Anno|(position = (String(nested parameter type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested parameter type ), R|/prop|)) kotlin/String>>|): R|@R|Anno|(position = (String(explicitType return type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(explicitType nested return type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(explicitType nested nested return type ), R|/prop|)) kotlin/Int>>| +TARGET: @R|Anno|[Types](position = (String(implicitType ), R|/prop|)) public open [ResolvedTo(ANNOTATION_ARGUMENTS)] [DelegatedWrapperDataKey=[wrapped=FirNamedFunctionSymbol /OriginalInterface.implicitType, containingClass=Derived, delegateField=FirFieldSymbol /Derived.$$delegate_0] fun <@R|Anno|[Types](position = (String(type param ), R|/prop|)) [ResolvedTo(ANNOTATION_ARGUMENTS)] F : R|@R|Anno|(position = (String(bound ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested bound ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested bound ), R|/prop|)) kotlin/String>>|> @RECEIVER:R|Anno|[Types](position = (String(receiver annotation: ), R|/prop|)) R|@R|Anno|(position = (String(receiver type ), R|/prop|)) kotlin/collections/Collection<@R|Anno|(position = (String(nested receiver type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested receiver type ), R|/prop|)) kotlin/String>>|.implicitType([ResolvedTo(ANNOTATION_ARGUMENTS)] [SubstitutedOverrideOriginalKey=/param] @R|Anno|[Types](position = (String(parameter annotation ), R|/prop|)) param: R|@R|Anno|(position = (String(parameter type ), R|/prop|)) kotlin/collections/ListIterator<@R|Anno|(position = (String(nested parameter type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested parameter type ), R|/prop|)) kotlin/String>>|): R|@R|Anno|((String(explicitType return type ), prop#)) kotlin/collections/List<@R|Anno|((String(explicitType nested return type ), prop#)) kotlin/collections/List<@R|Anno|((String(explicitType nested nested return type ), prop#)) kotlin/Int>>| FILE: [ResolvedTo(IMPORTS)] delegateWithImplicitType.kt @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.FUNCTION|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE_PARAMETER|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { @@ -142,17 +142,17 @@ FILE: [ResolvedTo(IMPORTS)] delegateWithImplicitType.kt } public abstract [ResolvedTo(STATUS)] interface OriginalInterface : R|kotlin/Any| { - @R|Anno|[Types](position = (String(implicitType ), R|/prop|)) public open [ResolvedTo(ANNOTATION_ARGUMENTS)] fun <@R|Anno|[Types](position = (String(type param ), R|/prop|)) [ResolvedTo(ANNOTATION_ARGUMENTS)] F : R|@R|Anno|(position = (String(bound ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested bound ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested bound ), R|/prop|)) kotlin/String>>|> @RECEIVER:R|Anno|[Types](position = (String(receiver annotation: ), R|/prop|)) R|@R|Anno|(position = (String(receiver type ), R|/prop|)) kotlin/collections/Collection<@R|Anno|(position = (String(nested receiver type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested receiver type ), R|/prop|)) kotlin/String>>|.implicitType([ResolvedTo(ANNOTATION_ARGUMENTS)] @R|Anno|[Types](position = (String(parameter annotation ), R|/prop|)) param: R|@R|Anno|(position = (String(parameter type ), R|/prop|)) kotlin/collections/ListIterator<@R|Anno|(position = (String(nested parameter type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested parameter type ), R|/prop|)) kotlin/String>>|): R|@R|Anno|(position = (String(explicitType return type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(explicitType nested return type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(explicitType nested nested return type ), R|/prop|)) kotlin/Int>>| { + @R|Anno|[Types](position = (String(implicitType ), R|/prop|)) public open [ResolvedTo(ANNOTATION_ARGUMENTS)] fun <@R|Anno|[Types](position = (String(type param ), R|/prop|)) [ResolvedTo(ANNOTATION_ARGUMENTS)] F : R|@R|Anno|(position = (String(bound ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested bound ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested bound ), R|/prop|)) kotlin/String>>|> @RECEIVER:R|Anno|[Types](position = (String(receiver annotation: ), R|/prop|)) R|@R|Anno|(position = (String(receiver type ), R|/prop|)) kotlin/collections/Collection<@R|Anno|(position = (String(nested receiver type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested receiver type ), R|/prop|)) kotlin/String>>|.implicitType([ResolvedTo(ANNOTATION_ARGUMENTS)] @R|Anno|[Types](position = (String(parameter annotation ), R|/prop|)) param: R|@R|Anno|(position = (String(parameter type ), R|/prop|)) kotlin/collections/ListIterator<@R|Anno|(position = (String(nested parameter type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested parameter type ), R|/prop|)) kotlin/String>>|): R|@R|Anno|((String(explicitType return type ), prop#)) kotlin/collections/List<@R|Anno|((String(explicitType nested return type ), prop#)) kotlin/collections/List<@R|Anno|((String(explicitType nested nested return type ), prop#)) kotlin/Int>>| { ^implicitType R|/explicitType|() } } - public final [ResolvedTo(CONTRACTS)] fun explicitType(): R|@R|Anno|(position = (String(explicitType return type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(explicitType nested return type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(explicitType nested nested return type ), R|/prop|)) kotlin/Int>>| { + public final [ResolvedTo(CONTRACTS)] fun explicitType(): R|@R|Anno|((String(explicitType return type ), prop#)) kotlin/collections/List<@R|Anno|((String(explicitType nested return type ), prop#)) kotlin/collections/List<@R|Anno|((String(explicitType nested nested return type ), prop#)) kotlin/Int>>| { ^explicitType IntegerLiteral(1) } BODY_RESOLVE: -TARGET: @R|Anno|[Types](position = (String(implicitType ), R|/prop|)) public open [ResolvedTo(BODY_RESOLVE)] [DelegatedWrapperDataKey=[wrapped=FirNamedFunctionSymbol /OriginalInterface.implicitType, containingClass=Derived, delegateField=FirFieldSymbol /Derived.$$delegate_0] fun <@R|Anno|[Types](position = (String(type param ), R|/prop|)) [ResolvedTo(BODY_RESOLVE)] F : R|@R|Anno|(position = (String(bound ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested bound ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested bound ), R|/prop|)) kotlin/String>>|> @RECEIVER:R|Anno|[Types](position = (String(receiver annotation: ), R|/prop|)) R|@R|Anno|(position = (String(receiver type ), R|/prop|)) kotlin/collections/Collection<@R|Anno|(position = (String(nested receiver type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested receiver type ), R|/prop|)) kotlin/String>>|.implicitType([ResolvedTo(BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=/param] @R|Anno|[Types](position = (String(parameter annotation ), R|/prop|)) param: R|@R|Anno|(position = (String(parameter type ), R|/prop|)) kotlin/collections/ListIterator<@R|Anno|(position = (String(nested parameter type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested parameter type ), R|/prop|)) kotlin/String>>|): R|@R|Anno|(position = (String(explicitType return type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(explicitType nested return type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(explicitType nested nested return type ), R|/prop|)) kotlin/Int>>| +TARGET: @R|Anno|[Types](position = (String(implicitType ), R|/prop|)) public open [ResolvedTo(BODY_RESOLVE)] [DelegatedWrapperDataKey=[wrapped=FirNamedFunctionSymbol /OriginalInterface.implicitType, containingClass=Derived, delegateField=FirFieldSymbol /Derived.$$delegate_0] fun <@R|Anno|[Types](position = (String(type param ), R|/prop|)) [ResolvedTo(BODY_RESOLVE)] F : R|@R|Anno|(position = (String(bound ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested bound ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested bound ), R|/prop|)) kotlin/String>>|> @RECEIVER:R|Anno|[Types](position = (String(receiver annotation: ), R|/prop|)) R|@R|Anno|(position = (String(receiver type ), R|/prop|)) kotlin/collections/Collection<@R|Anno|(position = (String(nested receiver type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested receiver type ), R|/prop|)) kotlin/String>>|.implicitType([ResolvedTo(BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=/param] @R|Anno|[Types](position = (String(parameter annotation ), R|/prop|)) param: R|@R|Anno|(position = (String(parameter type ), R|/prop|)) kotlin/collections/ListIterator<@R|Anno|(position = (String(nested parameter type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested parameter type ), R|/prop|)) kotlin/String>>|): R|@R|Anno|((String(explicitType return type ), prop#)) kotlin/collections/List<@R|Anno|((String(explicitType nested return type ), prop#)) kotlin/collections/List<@R|Anno|((String(explicitType nested nested return type ), prop#)) kotlin/Int>>| FILE: [ResolvedTo(IMPORTS)] delegateWithImplicitType.kt @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.FUNCTION|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE_PARAMETER|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { @@ -175,12 +175,12 @@ FILE: [ResolvedTo(IMPORTS)] delegateWithImplicitType.kt } public abstract [ResolvedTo(STATUS)] interface OriginalInterface : R|kotlin/Any| { - @R|Anno|[Types](position = (String(implicitType ), R|/prop|)) public open [ResolvedTo(ANNOTATION_ARGUMENTS)] fun <@R|Anno|[Types](position = (String(type param ), R|/prop|)) [ResolvedTo(ANNOTATION_ARGUMENTS)] F : R|@R|Anno|(position = (String(bound ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested bound ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested bound ), R|/prop|)) kotlin/String>>|> @RECEIVER:R|Anno|[Types](position = (String(receiver annotation: ), R|/prop|)) R|@R|Anno|(position = (String(receiver type ), R|/prop|)) kotlin/collections/Collection<@R|Anno|(position = (String(nested receiver type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested receiver type ), R|/prop|)) kotlin/String>>|.implicitType([ResolvedTo(ANNOTATION_ARGUMENTS)] @R|Anno|[Types](position = (String(parameter annotation ), R|/prop|)) param: R|@R|Anno|(position = (String(parameter type ), R|/prop|)) kotlin/collections/ListIterator<@R|Anno|(position = (String(nested parameter type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested parameter type ), R|/prop|)) kotlin/String>>|): R|@R|Anno|(position = (String(explicitType return type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(explicitType nested return type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(explicitType nested nested return type ), R|/prop|)) kotlin/Int>>| { + @R|Anno|[Types](position = (String(implicitType ), R|/prop|)) public open [ResolvedTo(ANNOTATION_ARGUMENTS)] fun <@R|Anno|[Types](position = (String(type param ), R|/prop|)) [ResolvedTo(ANNOTATION_ARGUMENTS)] F : R|@R|Anno|(position = (String(bound ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested bound ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested bound ), R|/prop|)) kotlin/String>>|> @RECEIVER:R|Anno|[Types](position = (String(receiver annotation: ), R|/prop|)) R|@R|Anno|(position = (String(receiver type ), R|/prop|)) kotlin/collections/Collection<@R|Anno|(position = (String(nested receiver type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested receiver type ), R|/prop|)) kotlin/String>>|.implicitType([ResolvedTo(ANNOTATION_ARGUMENTS)] @R|Anno|[Types](position = (String(parameter annotation ), R|/prop|)) param: R|@R|Anno|(position = (String(parameter type ), R|/prop|)) kotlin/collections/ListIterator<@R|Anno|(position = (String(nested parameter type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested parameter type ), R|/prop|)) kotlin/String>>|): R|@R|Anno|((String(explicitType return type ), prop#)) kotlin/collections/List<@R|Anno|((String(explicitType nested return type ), prop#)) kotlin/collections/List<@R|Anno|((String(explicitType nested nested return type ), prop#)) kotlin/Int>>| { ^implicitType R|/explicitType|() } } - public final [ResolvedTo(CONTRACTS)] fun explicitType(): R|@R|Anno|(position = (String(explicitType return type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(explicitType nested return type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(explicitType nested nested return type ), R|/prop|)) kotlin/Int>>| { + public final [ResolvedTo(CONTRACTS)] fun explicitType(): R|@R|Anno|((String(explicitType return type ), prop#)) kotlin/collections/List<@R|Anno|((String(explicitType nested return type ), prop#)) kotlin/collections/List<@R|Anno|((String(explicitType nested nested return type ), prop#)) kotlin/Int>>| { ^explicitType IntegerLiteral(1) } diff --git a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/delegate/delegateWithImplicitTypeScript.lazyResolve.txt b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/delegate/delegateWithImplicitTypeScript.lazyResolve.txt index d8b068e2b57..b2f73df7f27 100644 --- a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/delegate/delegateWithImplicitTypeScript.lazyResolve.txt +++ b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/delegate/delegateWithImplicitTypeScript.lazyResolve.txt @@ -155,7 +155,7 @@ FILE: [ResolvedTo(IMPORTS)] delegateWithImplicitTypeScript.kts ANNOTATION_ARGUMENTS: -TARGET: @R|Anno|[Types](position = (String(implicitType ), R|/prop|)) public open [ResolvedTo(ANNOTATION_ARGUMENTS)] [DelegatedWrapperDataKey=[wrapped=FirNamedFunctionSymbol /OriginalInterface.implicitType, containingClass=Derived, delegateField=FirFieldSymbol /Derived.$$delegate_0] fun <@R|Anno|[Types](position = (String(type param ), R|/prop|)) [ResolvedTo(ANNOTATION_ARGUMENTS)] F : R|@R|Anno|(position = (String(bound ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested bound ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested bound ), R|/prop|)) kotlin/String>>|> @RECEIVER:R|Anno|[Types](position = (String(receiver annotation: ), R|/prop|)) R|@R|Anno|(position = (String(receiver type ), R|/prop|)) kotlin/collections/Collection<@R|Anno|(position = (String(nested receiver type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested receiver type ), R|/prop|)) kotlin/String>>|.implicitType([ResolvedTo(ANNOTATION_ARGUMENTS)] [SubstitutedOverrideOriginalKey=/param] @R|Anno|[Types](position = (String(parameter annotation ), R|/prop|)) param: R|@R|Anno|(position = (String(parameter type ), R|/prop|)) kotlin/collections/ListIterator<@R|Anno|(position = (String(nested parameter type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested parameter type ), R|/prop|)) kotlin/String>>|): R|@R|Anno|(position = (String(explicitType return type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(explicitType nested return type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(explicitType nested nested return type ), R|/prop|)) kotlin/Int>>| +TARGET: @R|Anno|[Types](position = (String(implicitType ), R|/prop|)) public open [ResolvedTo(ANNOTATION_ARGUMENTS)] [DelegatedWrapperDataKey=[wrapped=FirNamedFunctionSymbol /OriginalInterface.implicitType, containingClass=Derived, delegateField=FirFieldSymbol /Derived.$$delegate_0] fun <@R|Anno|[Types](position = (String(type param ), R|/prop|)) [ResolvedTo(ANNOTATION_ARGUMENTS)] F : R|@R|Anno|(position = (String(bound ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested bound ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested bound ), R|/prop|)) kotlin/String>>|> @RECEIVER:R|Anno|[Types](position = (String(receiver annotation: ), R|/prop|)) R|@R|Anno|(position = (String(receiver type ), R|/prop|)) kotlin/collections/Collection<@R|Anno|(position = (String(nested receiver type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested receiver type ), R|/prop|)) kotlin/String>>|.implicitType([ResolvedTo(ANNOTATION_ARGUMENTS)] [SubstitutedOverrideOriginalKey=/param] @R|Anno|[Types](position = (String(parameter annotation ), R|/prop|)) param: R|@R|Anno|(position = (String(parameter type ), R|/prop|)) kotlin/collections/ListIterator<@R|Anno|(position = (String(nested parameter type ), R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested parameter type ), R|/prop|)) kotlin/String>>|): R|@R|Anno|((String(explicitType return type ), prop#)) kotlin/collections/List<@R|Anno|((String(explicitType nested return type ), prop#)) kotlin/collections/List<@R|Anno|((String(explicitType nested nested return type ), prop#)) kotlin/Int>>| FILE: [ResolvedTo(IMPORTS)] delegateWithImplicitTypeScript.kts context(