From 69559689fdc68ab3437bf45edbb1cc79c975952c Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Tue, 28 Nov 2023 17:30:13 +0100 Subject: [PATCH] [LL/FIR] add more resolve tests for declarations with annotations ^KT-63042 --- ...propagationToLocalMemberFunction.after.txt | 131 +++ ...ropagationToLocalMemberFunction.before.txt | 131 +++ .../propagationToLocalMemberFunction.kt | 24 + ...ationToLocalMemberFunction.lazyResolve.txt | 450 +++++++++++ ...ationToLocalMemberFunctionScript.after.txt | 138 ++++ ...tionToLocalMemberFunctionScript.before.txt | 139 ++++ ...propagationToLocalMemberFunctionScript.kts | 24 + ...oLocalMemberFunctionScript.lazyResolve.txt | 554 +++++++++++++ .../classLevel.after.txt | 47 ++ .../classLevel.before.txt | 47 ++ .../destructuringDeclaration/classLevel.kt | 14 + .../classLevel.lazyResolve.txt | 636 +++++++++++++++ .../scriptClassLevel.after.txt | 52 ++ .../scriptClassLevel.before.txt | 52 ++ .../scriptClassLevel.kts | 14 + .../scriptClassLevel.lazyResolve.txt | 713 ++++++++++++++++ .../scriptStatementLevel.after.txt | 245 ++++++ .../scriptStatementLevel.before.txt | 245 ++++++ .../scriptStatementLevel.kts | 18 + .../scriptStatementLevel.lazyResolve.txt | 715 ++++++++++++++++ ...iptStatementLevelAsLastStatement.after.txt | 101 +++ ...ptStatementLevelAsLastStatement.before.txt | 101 +++ .../scriptStatementLevelAsLastStatement.kts | 18 + ...tementLevelAsLastStatement.lazyResolve.txt | 714 ++++++++++++++++ .../topLevel.after.txt | 31 + .../topLevel.before.txt | 31 + .../destructuringDeclaration/topLevel.kt | 8 + .../topLevel.lazyResolve.txt | 428 ++++++++++ .../localImplicitTypeUnavailable.after.txt | 90 +++ .../localImplicitTypeUnavailable.before.txt | 90 +++ .../function/localImplicitTypeUnavailable.kt | 20 + ...calImplicitTypeUnavailable.lazyResolve.txt | 323 ++++++++ ...citTypeUnavailableInImplicitBody.after.txt | 120 +++ ...itTypeUnavailableInImplicitBody.before.txt | 120 +++ ...alImplicitTypeUnavailableInImplicitBody.kt | 20 + ...eUnavailableInImplicitBody.lazyResolve.txt | 325 ++++++++ ...eUnavailableInImplicitBodyScript.after.txt | 127 +++ ...UnavailableInImplicitBodyScript.before.txt | 127 +++ ...citTypeUnavailableInImplicitBodyScript.kts | 20 + ...ilableInImplicitBodyScript.lazyResolve.txt | 416 ++++++++++ ...calImplicitTypeUnavailableScript.after.txt | 95 +++ ...alImplicitTypeUnavailableScript.before.txt | 95 +++ .../localImplicitTypeUnavailableScript.kts | 20 + ...licitTypeUnavailableScript.lazyResolve.txt | 400 +++++++++ .../function/multiDeclaration.after.txt | 206 +++++ .../function/multiDeclaration.before.txt | 206 +++++ .../function/multiDeclaration.kt | 21 + .../function/multiDeclaration.lazyResolve.txt | 634 +++++++++++++++ .../function/multiDeclarationScript.after.txt | 216 +++++ .../multiDeclarationScript.before.txt | 216 +++++ .../function/multiDeclarationScript.kts | 21 + .../multiDeclarationScript.lazyResolve.txt | 764 ++++++++++++++++++ ...ationBetweenLocalMemberFunctions.after.txt | 69 ++ ...tionBetweenLocalMemberFunctions.before.txt | 69 ++ .../propagationBetweenLocalMemberFunctions.kt | 15 + ...etweenLocalMemberFunctions.lazyResolve.txt | 294 +++++++ ...LocalMemberFunctionsImplicitBody.after.txt | 75 ++ ...ocalMemberFunctionsImplicitBody.before.txt | 75 ++ ...BetweenLocalMemberFunctionsImplicitBody.kt | 15 + ...emberFunctionsImplicitBody.lazyResolve.txt | 307 +++++++ ...emberFunctionsImplicitBodyScript.after.txt | 82 ++ ...mberFunctionsImplicitBodyScript.before.txt | 82 ++ ...LocalMemberFunctionsImplicitBodyScript.kts | 15 + ...unctionsImplicitBodyScript.lazyResolve.txt | 410 ++++++++++ ...etweenLocalMemberFunctionsScript.after.txt | 75 ++ ...tweenLocalMemberFunctionsScript.before.txt | 75 ++ ...ationBetweenLocalMemberFunctionsScript.kts | 15 + ...LocalMemberFunctionsScript.lazyResolve.txt | 384 +++++++++ ...propagationToLocalMemberFunction.after.txt | 72 ++ ...ropagationToLocalMemberFunction.before.txt | 72 ++ .../propagationToLocalMemberFunction.kt | 16 + ...ationToLocalMemberFunction.lazyResolve.txt | 311 +++++++ ...oLocalMemberFunctionImplicitBody.after.txt | 78 ++ ...LocalMemberFunctionImplicitBody.before.txt | 78 ++ ...gationToLocalMemberFunctionImplicitBody.kt | 16 + ...MemberFunctionImplicitBody.lazyResolve.txt | 328 ++++++++ ...MemberFunctionImplicitBodyScript.after.txt | 62 ++ ...emberFunctionImplicitBodyScript.before.txt | 62 ++ ...oLocalMemberFunctionImplicitBodyScript.kts | 16 + ...FunctionImplicitBodyScript.lazyResolve.txt | 444 ++++++++++ ...ationToLocalMemberFunctionScript.after.txt | 55 ++ ...tionToLocalMemberFunctionScript.before.txt | 55 ++ ...propagationToLocalMemberFunctionScript.kts | 16 + ...oLocalMemberFunctionScript.lazyResolve.txt | 414 ++++++++++ .../initializer/classInitializer.after.txt | 134 +++ .../initializer/classInitializer.before.txt | 134 +++ .../initializer/classInitializer.kt | 24 + .../classInitializer.lazyResolve.txt | 380 +++++++++ .../classInitializerScript.after.txt | 141 ++++ .../classInitializerScript.before.txt | 142 ++++ .../initializer/classInitializerScript.kts | 24 + .../classInitializerScript.lazyResolve.txt | 484 +++++++++++ .../localImplicitTypeUnavailable.after.txt | 151 ++++ .../localImplicitTypeUnavailable.before.txt | 151 ++++ .../property/localImplicitTypeUnavailable.kt | 20 + ...calImplicitTypeUnavailable.lazyResolve.txt | 328 ++++++++ ...citTypeUnavailableInImplicitBody.after.txt | 181 +++++ ...itTypeUnavailableInImplicitBody.before.txt | 181 +++++ ...alImplicitTypeUnavailableInImplicitBody.kt | 20 + ...eUnavailableInImplicitBody.lazyResolve.txt | 329 ++++++++ ...eUnavailableInImplicitBodyScript.after.txt | 188 +++++ ...UnavailableInImplicitBodyScript.before.txt | 188 +++++ ...citTypeUnavailableInImplicitBodyScript.kts | 20 + ...ilableInImplicitBodyScript.lazyResolve.txt | 420 ++++++++++ ...calImplicitTypeUnavailableScript.after.txt | 157 ++++ ...alImplicitTypeUnavailableScript.before.txt | 157 ++++ .../localImplicitTypeUnavailableScript.kts | 20 + ...licitTypeUnavailableScript.lazyResolve.txt | 405 ++++++++++ ...tionBetweenLocalMemberProperties.after.txt | 166 ++++ ...ionBetweenLocalMemberProperties.before.txt | 166 ++++ ...propagationBetweenLocalMemberProperties.kt | 15 + ...tweenLocalMemberProperties.lazyResolve.txt | 299 +++++++ ...ocalMemberPropertiesImplicitBody.after.txt | 172 ++++ ...calMemberPropertiesImplicitBody.before.txt | 172 ++++ ...etweenLocalMemberPropertiesImplicitBody.kt | 15 + ...mberPropertiesImplicitBody.lazyResolve.txt | 311 +++++++ ...mberPropertiesImplicitBodyScript.after.txt | 180 +++++ ...berPropertiesImplicitBodyScript.before.txt | 180 +++++ ...ocalMemberPropertiesImplicitBodyScript.kts | 15 + ...opertiesImplicitBodyScript.lazyResolve.txt | 414 ++++++++++ ...tweenLocalMemberPropertiesScript.after.txt | 173 ++++ ...weenLocalMemberPropertiesScript.before.txt | 173 ++++ ...tionBetweenLocalMemberPropertiesScript.kts | 15 + ...ocalMemberPropertiesScript.lazyResolve.txt | 389 +++++++++ ...propagationToLocalMemberProperty.after.txt | 169 ++++ ...ropagationToLocalMemberProperty.before.txt | 169 ++++ .../propagationToLocalMemberProperty.kt | 16 + ...ationToLocalMemberProperty.lazyResolve.txt | 338 ++++++++ ...oLocalMemberPropertyImplicitBody.after.txt | 175 ++++ ...LocalMemberPropertyImplicitBody.before.txt | 175 ++++ ...gationToLocalMemberPropertyImplicitBody.kt | 16 + ...MemberPropertyImplicitBody.lazyResolve.txt | 350 ++++++++ ...MemberPropertyImplicitBodyScript.after.txt | 183 +++++ ...emberPropertyImplicitBodyScript.before.txt | 184 +++++ ...oLocalMemberPropertyImplicitBodyScript.kts | 16 + ...PropertyImplicitBodyScript.lazyResolve.txt | 467 +++++++++++ ...ationToLocalMemberPropertyScript.after.txt | 176 ++++ ...tionToLocalMemberPropertyScript.before.txt | 177 ++++ ...propagationToLocalMemberPropertyScript.kts | 16 + ...oLocalMemberPropertyScript.lazyResolve.txt | 442 ++++++++++ ...esolveForTypeAnnotationsTestGenerated.java | 122 +++ ...tRootLazyTypeAnnotationsTestGenerated.java | 122 +++ ...esolveForTypeAnnotationsTestGenerated.java | 128 +++ ...criptLazyTypeAnnotationsTestGenerated.java | 128 +++ ...esolveForTypeAnnotationsTestGenerated.java | 122 +++ ...ourceLazyTypeAnnotationsTestGenerated.java | 122 +++ ...CompilerTestFE10TestdataTestGenerated.java | 30 + ...sticCompilerFE10TestDataTestGenerated.java | 30 + ...eeOldFrontendDiagnosticsTestGenerated.java | 30 + ...siOldFrontendDiagnosticsTestGenerated.java | 30 + .../localImplicitTypeUnavailable.kt | 23 + ...pagationAnnotationToLocalMemberFunction.kt | 14 + ...propagationBetweenLocalMemberProperties.kt | 15 + ...gationFromLocalMemberFunctionAnnotation.kt | 12 + .../propagationToLocalMemberProperty.kt | 16 + .../test/runners/DiagnosticTestGenerated.java | 30 + 156 files changed, 25942 insertions(+) create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.kt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunctionScript.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunctionScript.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunctionScript.kts create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunctionScript.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/destructuringDeclaration/classLevel.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/destructuringDeclaration/classLevel.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/destructuringDeclaration/classLevel.kt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/destructuringDeclaration/classLevel.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/destructuringDeclaration/scriptClassLevel.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/destructuringDeclaration/scriptClassLevel.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/destructuringDeclaration/scriptClassLevel.kts create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/destructuringDeclaration/scriptClassLevel.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/destructuringDeclaration/scriptStatementLevel.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/destructuringDeclaration/scriptStatementLevel.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/destructuringDeclaration/scriptStatementLevel.kts create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/destructuringDeclaration/scriptStatementLevel.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/destructuringDeclaration/scriptStatementLevelAsLastStatement.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/destructuringDeclaration/scriptStatementLevelAsLastStatement.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/destructuringDeclaration/scriptStatementLevelAsLastStatement.kts create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/destructuringDeclaration/scriptStatementLevelAsLastStatement.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/destructuringDeclaration/topLevel.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/destructuringDeclaration/topLevel.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/destructuringDeclaration/topLevel.kt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/destructuringDeclaration/topLevel.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/localImplicitTypeUnavailable.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/localImplicitTypeUnavailable.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/localImplicitTypeUnavailable.kt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/localImplicitTypeUnavailable.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/localImplicitTypeUnavailableInImplicitBody.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/localImplicitTypeUnavailableInImplicitBody.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/localImplicitTypeUnavailableInImplicitBody.kt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/localImplicitTypeUnavailableInImplicitBody.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/localImplicitTypeUnavailableInImplicitBodyScript.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/localImplicitTypeUnavailableInImplicitBodyScript.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/localImplicitTypeUnavailableInImplicitBodyScript.kts create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/localImplicitTypeUnavailableInImplicitBodyScript.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/localImplicitTypeUnavailableScript.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/localImplicitTypeUnavailableScript.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/localImplicitTypeUnavailableScript.kts create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/localImplicitTypeUnavailableScript.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/multiDeclaration.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/multiDeclaration.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/multiDeclaration.kt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/multiDeclaration.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/multiDeclarationScript.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/multiDeclarationScript.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/multiDeclarationScript.kts create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/multiDeclarationScript.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationBetweenLocalMemberFunctions.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationBetweenLocalMemberFunctions.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationBetweenLocalMemberFunctions.kt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationBetweenLocalMemberFunctions.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationBetweenLocalMemberFunctionsImplicitBody.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationBetweenLocalMemberFunctionsImplicitBody.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationBetweenLocalMemberFunctionsImplicitBody.kt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationBetweenLocalMemberFunctionsImplicitBody.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationBetweenLocalMemberFunctionsImplicitBodyScript.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationBetweenLocalMemberFunctionsImplicitBodyScript.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationBetweenLocalMemberFunctionsImplicitBodyScript.kts create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationBetweenLocalMemberFunctionsImplicitBodyScript.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationBetweenLocalMemberFunctionsScript.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationBetweenLocalMemberFunctionsScript.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationBetweenLocalMemberFunctionsScript.kts create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationBetweenLocalMemberFunctionsScript.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationToLocalMemberFunction.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationToLocalMemberFunction.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationToLocalMemberFunction.kt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationToLocalMemberFunction.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationToLocalMemberFunctionImplicitBody.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationToLocalMemberFunctionImplicitBody.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationToLocalMemberFunctionImplicitBody.kt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationToLocalMemberFunctionImplicitBody.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationToLocalMemberFunctionImplicitBodyScript.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationToLocalMemberFunctionImplicitBodyScript.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationToLocalMemberFunctionImplicitBodyScript.kts create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationToLocalMemberFunctionImplicitBodyScript.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationToLocalMemberFunctionScript.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationToLocalMemberFunctionScript.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationToLocalMemberFunctionScript.kts create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/function/propagationToLocalMemberFunctionScript.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/initializer/classInitializer.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/initializer/classInitializer.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/initializer/classInitializer.kt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/initializer/classInitializer.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/initializer/classInitializerScript.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/initializer/classInitializerScript.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/initializer/classInitializerScript.kts create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/initializer/classInitializerScript.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/localImplicitTypeUnavailable.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/localImplicitTypeUnavailable.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/localImplicitTypeUnavailable.kt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/localImplicitTypeUnavailable.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/localImplicitTypeUnavailableInImplicitBody.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/localImplicitTypeUnavailableInImplicitBody.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/localImplicitTypeUnavailableInImplicitBody.kt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/localImplicitTypeUnavailableInImplicitBody.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/localImplicitTypeUnavailableInImplicitBodyScript.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/localImplicitTypeUnavailableInImplicitBodyScript.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/localImplicitTypeUnavailableInImplicitBodyScript.kts create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/localImplicitTypeUnavailableInImplicitBodyScript.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/localImplicitTypeUnavailableScript.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/localImplicitTypeUnavailableScript.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/localImplicitTypeUnavailableScript.kts create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/localImplicitTypeUnavailableScript.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationBetweenLocalMemberProperties.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationBetweenLocalMemberProperties.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationBetweenLocalMemberProperties.kt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationBetweenLocalMemberProperties.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationBetweenLocalMemberPropertiesImplicitBody.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationBetweenLocalMemberPropertiesImplicitBody.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationBetweenLocalMemberPropertiesImplicitBody.kt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationBetweenLocalMemberPropertiesImplicitBody.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationBetweenLocalMemberPropertiesImplicitBodyScript.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationBetweenLocalMemberPropertiesImplicitBodyScript.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationBetweenLocalMemberPropertiesImplicitBodyScript.kts create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationBetweenLocalMemberPropertiesImplicitBodyScript.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationBetweenLocalMemberPropertiesScript.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationBetweenLocalMemberPropertiesScript.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationBetweenLocalMemberPropertiesScript.kts create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationBetweenLocalMemberPropertiesScript.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationToLocalMemberProperty.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationToLocalMemberProperty.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationToLocalMemberProperty.kt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationToLocalMemberProperty.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationToLocalMemberPropertyImplicitBody.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationToLocalMemberPropertyImplicitBody.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationToLocalMemberPropertyImplicitBody.kt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationToLocalMemberPropertyImplicitBody.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationToLocalMemberPropertyImplicitBodyScript.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationToLocalMemberPropertyImplicitBodyScript.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationToLocalMemberPropertyImplicitBodyScript.kts create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationToLocalMemberPropertyImplicitBodyScript.lazyResolve.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationToLocalMemberPropertyScript.after.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationToLocalMemberPropertyScript.before.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationToLocalMemberPropertyScript.kts create mode 100644 analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/property/propagationToLocalMemberPropertyScript.lazyResolve.txt create mode 100644 compiler/testData/diagnostics/tests/annotations/localImplicitTypeUnavailable.kt create mode 100644 compiler/testData/diagnostics/tests/annotations/propagationAnnotationToLocalMemberFunction.kt create mode 100644 compiler/testData/diagnostics/tests/annotations/propagationBetweenLocalMemberProperties.kt create mode 100644 compiler/testData/diagnostics/tests/annotations/propagationFromLocalMemberFunctionAnnotation.kt create mode 100644 compiler/testData/diagnostics/tests/annotations/propagationToLocalMemberProperty.kt diff --git a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.after.txt b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.after.txt new file mode 100644 index 00000000000..a878697ef0b --- /dev/null +++ b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.after.txt @@ -0,0 +1,131 @@ +@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>>? + 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> + context -> FirNamedFunctionSymbol /doo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/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>>? + 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> + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/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>>? + 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> + context -> FirNamedFunctionSymbol /baz + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /baz + 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>>? + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol /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> + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol /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>>? + context -> FirNamedFunctionSymbol /bar + anchor -> [FirNamedFunctionSymbol /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> + context -> FirNamedFunctionSymbol /bar + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /bar + anchor -> [FirNamedFunctionSymbol /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>>? + context -> FirNamedFunctionSymbol /foo2 + anchor -> [FirNamedFunctionSymbol /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> + context -> FirNamedFunctionSymbol /foo2 + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /foo2 + anchor -> [FirNamedFunctionSymbol /bar] + +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.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=util/Anno.str] str: R|kotlin/String|): R|util/Anno| { + LAZY_super + } + + public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val str: R|kotlin/String| = R|/str| + public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| + + } + 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(ANNOTATION_ARGUMENTS)] 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>>?| { + ^bar Null(null) + } + public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class A : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor(): R|util/A| { + super() + local final [ResolvedTo(BODY_RESOLVE)] class OuterIntoLocal : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=OuterIntoLocal] constructor(): R|/OuterIntoLocal| { + 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>>?| { + ^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>>?| { + ^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>>?| { + ^baz this@R|/OuterIntoLocal|.R|/foo|() + } + + } + + local final [ResolvedTo(BODY_RESOLVE)] class LocalIntoLocal : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=LocalIntoLocal] constructor(): R|/LocalIntoLocal| { + super() + } + + 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>>?| { + ^foo this@R|/LocalIntoLocal|.R|/bar|() + } + + public final [ResolvedTo(BODY_RESOLVE)] 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>>?| { + ^bar Null(null) + } + + public final [ResolvedTo(BODY_RESOLVE)] fun foo2(): 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>>?| { + ^foo2 this@R|/LocalIntoLocal|.R|/bar|() + } + + } + + } + + } 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 new file mode 100644 index 00000000000..0bfc71e6cc9 --- /dev/null +++ b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.before.txt @@ -0,0 +1,131 @@ +@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>>? + 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> + context -> FirNamedFunctionSymbol /doo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/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>>? + 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> + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/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>>? + 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> + context -> FirNamedFunctionSymbol /baz + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /baz + 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>>? + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol /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> + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol /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>>? + context -> FirNamedFunctionSymbol /bar + anchor -> [FirNamedFunctionSymbol /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> + context -> FirNamedFunctionSymbol /bar + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /bar + anchor -> [FirNamedFunctionSymbol /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>>? + context -> FirNamedFunctionSymbol /foo2 + anchor -> [FirNamedFunctionSymbol /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> + context -> FirNamedFunctionSymbol /foo2 + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /foo2 + anchor -> [FirNamedFunctionSymbol /bar] + +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.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=util/Anno.str] str: R|kotlin/String|): R|util/Anno| { + LAZY_super + } + + public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val str: R|kotlin/String| = R|/str| + public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| + + } + 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>>?| { + ^bar Null(null) + } + public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class A : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor(): R|util/A| { + super() + local final [ResolvedTo(BODY_RESOLVE)] class OuterIntoLocal : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=OuterIntoLocal] constructor(): R|/OuterIntoLocal| { + 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>>?| { + ^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>>?| { + ^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>>?| { + ^baz this@R|/OuterIntoLocal|.R|/foo|() + } + + } + + local final [ResolvedTo(BODY_RESOLVE)] class LocalIntoLocal : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=LocalIntoLocal] constructor(): R|/LocalIntoLocal| { + super() + } + + 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>>?| { + ^foo this@R|/LocalIntoLocal|.R|/bar|() + } + + public final [ResolvedTo(BODY_RESOLVE)] 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>>?| { + ^bar Null(null) + } + + public final [ResolvedTo(BODY_RESOLVE)] fun foo2(): 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>>?| { + ^foo2 this@R|/LocalIntoLocal|.R|/bar|() + } + + } + + } + + } diff --git a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.kt b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.kt new file mode 100644 index 00000000000..524f0ca45e0 --- /dev/null +++ b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.kt @@ -0,0 +1,24 @@ +// BODY_RESOLVE +package util + +@Target(AnnotationTarget.TYPE) +annotation class Anno(val str: String) + +const val prop = "str" +fun bar(): @Anno("bar $prop") List<@Anno("nested bar $prop") Collection<@Anno("nested nested bar $prop") Int>>? = null + +class A { + constructor() { + class OuterIntoLocal { + fun doo() = foo() + fun foo() = bar() + fun baz() = foo() + } + + class LocalIntoLocal { + fun foo() = bar() + fun bar(): @Anno("bar $prop") List<@Anno("nested bar $prop") Collection<@Anno("nested nested bar $prop") Int>>? = null + fun foo2() = bar() + } + } +} 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 new file mode 100644 index 00000000000..f37b172c9cb --- /dev/null +++ b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.lazyResolve.txt @@ -0,0 +1,450 @@ +RAW_FIR: +FILE: [ResolvedTo(RAW_FIR)] propagationToLocalMemberFunction.kt + @Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.str] str: String): R|util/Anno| { + LAZY_super + } + + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: String = R|/str| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String + + } + public? final? const [ResolvedTo(RAW_FIR)] val prop: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved](LAZY_EXPRESSION) List<@Anno[Unresolved](LAZY_EXPRESSION) Collection<@Anno[Unresolved](LAZY_EXPRESSION) Int>>? { LAZY_BLOCK } + public? final? [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|util/A| { LAZY_BLOCK } + + } + +IMPORTS: +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt + @Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.str] str: String): R|util/Anno| { + LAZY_super + } + + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: String = R|/str| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String + + } + public? final? const [ResolvedTo(RAW_FIR)] val prop: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved](LAZY_EXPRESSION) List<@Anno[Unresolved](LAZY_EXPRESSION) Collection<@Anno[Unresolved](LAZY_EXPRESSION) Int>>? { LAZY_BLOCK } + public? final? [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|util/A| { LAZY_BLOCK } + + } + +COMPILER_REQUIRED_ANNOTATIONS: +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt + @Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.str] str: String): R|util/Anno| { + LAZY_super + } + + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: String = R|/str| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String + + } + public? final? const [ResolvedTo(RAW_FIR)] val prop: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved](LAZY_EXPRESSION) List<@Anno[Unresolved](LAZY_EXPRESSION) Collection<@Anno[Unresolved](LAZY_EXPRESSION) Int>>? { LAZY_BLOCK } + public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] class A : R|kotlin/Any| { + public? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] [ContainingClassKey=A] constructor(): R|util/A| { LAZY_BLOCK } + + } + +COMPANION_GENERATION: +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt + @Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.str] str: String): R|util/Anno| { + LAZY_super + } + + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: String = R|/str| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String + + } + public? final? const [ResolvedTo(RAW_FIR)] val prop: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved](LAZY_EXPRESSION) List<@Anno[Unresolved](LAZY_EXPRESSION) Collection<@Anno[Unresolved](LAZY_EXPRESSION) Int>>? { LAZY_BLOCK } + public? final? [ResolvedTo(COMPANION_GENERATION)] class A : R|kotlin/Any| { + public? [ResolvedTo(COMPANION_GENERATION)] [ContainingClassKey=A] constructor(): R|util/A| { LAZY_BLOCK } + + } + +SUPER_TYPES: +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt + @Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.str] str: String): R|util/Anno| { + LAZY_super + } + + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: String = R|/str| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String + + } + public? final? const [ResolvedTo(RAW_FIR)] val prop: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved](LAZY_EXPRESSION) List<@Anno[Unresolved](LAZY_EXPRESSION) Collection<@Anno[Unresolved](LAZY_EXPRESSION) Int>>? { LAZY_BLOCK } + public? final? [ResolvedTo(SUPER_TYPES)] class A : R|kotlin/Any| { + public? [ResolvedTo(SUPER_TYPES)] [ContainingClassKey=A] constructor(): R|util/A| { LAZY_BLOCK } + + } + +TYPES: +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt + @Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.str] str: String): R|util/Anno| { + LAZY_super + } + + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: String = R|/str| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String + + } + public? final? const [ResolvedTo(RAW_FIR)] val prop: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved](LAZY_EXPRESSION) List<@Anno[Unresolved](LAZY_EXPRESSION) Collection<@Anno[Unresolved](LAZY_EXPRESSION) Int>>? { LAZY_BLOCK } + public? final? [ResolvedTo(TYPES)] class A : R|kotlin/Any| { + public? [ResolvedTo(TYPES)] [ContainingClassKey=A] constructor(): R|util/A| { LAZY_BLOCK } + + } + +STATUS: +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt + @Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.str] str: String): R|util/Anno| { + LAZY_super + } + + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: String = R|/str| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String + + } + public? final? const [ResolvedTo(RAW_FIR)] val prop: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved](LAZY_EXPRESSION) List<@Anno[Unresolved](LAZY_EXPRESSION) Collection<@Anno[Unresolved](LAZY_EXPRESSION) Int>>? { LAZY_BLOCK } + public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| { + public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor(): R|util/A| { LAZY_BLOCK } + + } + +EXPECT_ACTUAL_MATCHING: +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt + @Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.str] str: String): R|util/Anno| { + LAZY_super + } + + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: String = R|/str| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String + + } + public? final? const [ResolvedTo(RAW_FIR)] val prop: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved](LAZY_EXPRESSION) List<@Anno[Unresolved](LAZY_EXPRESSION) Collection<@Anno[Unresolved](LAZY_EXPRESSION) Int>>? { LAZY_BLOCK } + public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class A : R|kotlin/Any| { + public [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [ContainingClassKey=A] constructor(): R|util/A| { LAZY_BLOCK } + + } + +CONTRACTS: +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt + @Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.str] str: String): R|util/Anno| { + LAZY_super + } + + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: String = R|/str| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String + + } + public? final? const [ResolvedTo(RAW_FIR)] val prop: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved](LAZY_EXPRESSION) List<@Anno[Unresolved](LAZY_EXPRESSION) Collection<@Anno[Unresolved](LAZY_EXPRESSION) Int>>? { LAZY_BLOCK } + public final [ResolvedTo(CONTRACTS)] class A : R|kotlin/Any| { + public [ResolvedTo(CONTRACTS)] [ContainingClassKey=A] constructor(): R|util/A| { + super() + local final? [ResolvedTo(RAW_FIR)] class OuterIntoLocal : R|kotlin/Any| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterIntoLocal] constructor(): R|/OuterIntoLocal| { + super() + } + + public? final? [ResolvedTo(RAW_FIR)] fun doo(): { + ^doo foo#() + } + + public? final? [ResolvedTo(RAW_FIR)] fun foo(): { + ^foo bar#() + } + + public? final? [ResolvedTo(RAW_FIR)] fun baz(): { + ^baz foo#() + } + + } + + local final? [ResolvedTo(RAW_FIR)] class LocalIntoLocal : R|kotlin/Any| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=LocalIntoLocal] constructor(): R|/LocalIntoLocal| { + super() + } + + public? final? [ResolvedTo(RAW_FIR)] fun foo(): { + ^foo bar#() + } + + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved]((String(bar ), prop#)) List<@Anno[Unresolved]((String(nested bar ), prop#)) Collection<@Anno[Unresolved]((String(nested nested bar ), prop#)) Int>>? { + ^bar Null(null) + } + + public? final? [ResolvedTo(RAW_FIR)] fun foo2(): { + ^foo2 bar#() + } + + } + + } + + } + +IMPLICIT_TYPES_BODY_RESOLVE: +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt + @Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.str] str: String): R|util/Anno| { + LAZY_super + } + + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: String = R|/str| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String + + } + public? final? const [ResolvedTo(RAW_FIR)] val prop: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved](LAZY_EXPRESSION) List<@Anno[Unresolved](LAZY_EXPRESSION) Collection<@Anno[Unresolved](LAZY_EXPRESSION) Int>>? { LAZY_BLOCK } + public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class A : R|kotlin/Any| { + public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [ContainingClassKey=A] constructor(): R|util/A| { + super() + local final? [ResolvedTo(RAW_FIR)] class OuterIntoLocal : R|kotlin/Any| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterIntoLocal] constructor(): R|/OuterIntoLocal| { + super() + } + + public? final? [ResolvedTo(RAW_FIR)] fun doo(): { + ^doo foo#() + } + + public? final? [ResolvedTo(RAW_FIR)] fun foo(): { + ^foo bar#() + } + + public? final? [ResolvedTo(RAW_FIR)] fun baz(): { + ^baz foo#() + } + + } + + local final? [ResolvedTo(RAW_FIR)] class LocalIntoLocal : R|kotlin/Any| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=LocalIntoLocal] constructor(): R|/LocalIntoLocal| { + super() + } + + public? final? [ResolvedTo(RAW_FIR)] fun foo(): { + ^foo bar#() + } + + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved]((String(bar ), prop#)) List<@Anno[Unresolved]((String(nested bar ), prop#)) Collection<@Anno[Unresolved]((String(nested nested bar ), prop#)) Int>>? { + ^bar Null(null) + } + + public? final? [ResolvedTo(RAW_FIR)] fun foo2(): { + ^foo2 bar#() + } + + } + + } + + } + +ANNOTATION_ARGUMENTS: +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt + @Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.str] str: String): R|util/Anno| { + LAZY_super + } + + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: String = R|/str| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String + + } + public? final? const [ResolvedTo(RAW_FIR)] val prop: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved](LAZY_EXPRESSION) List<@Anno[Unresolved](LAZY_EXPRESSION) Collection<@Anno[Unresolved](LAZY_EXPRESSION) Int>>? { LAZY_BLOCK } + public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class A : R|kotlin/Any| { + public [ResolvedTo(ANNOTATION_ARGUMENTS)] [ContainingClassKey=A] constructor(): R|util/A| { + super() + local final? [ResolvedTo(RAW_FIR)] class OuterIntoLocal : R|kotlin/Any| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterIntoLocal] constructor(): R|/OuterIntoLocal| { + super() + } + + public? final? [ResolvedTo(RAW_FIR)] fun doo(): { + ^doo foo#() + } + + public? final? [ResolvedTo(RAW_FIR)] fun foo(): { + ^foo bar#() + } + + public? final? [ResolvedTo(RAW_FIR)] fun baz(): { + ^baz foo#() + } + + } + + local final? [ResolvedTo(RAW_FIR)] class LocalIntoLocal : R|kotlin/Any| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=LocalIntoLocal] constructor(): R|/LocalIntoLocal| { + super() + } + + public? final? [ResolvedTo(RAW_FIR)] fun foo(): { + ^foo bar#() + } + + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved]((String(bar ), prop#)) List<@Anno[Unresolved]((String(nested bar ), prop#)) Collection<@Anno[Unresolved]((String(nested nested bar ), prop#)) Int>>? { + ^bar Null(null) + } + + public? final? [ResolvedTo(RAW_FIR)] fun foo2(): { + ^foo2 bar#() + } + + } + + } + + } + +BODY_RESOLVE: +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.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=util/Anno.str] str: R|kotlin/String|): R|util/Anno| { + LAZY_super + } + + public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val str: R|kotlin/String| = R|/str| + public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| + + } + 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>>?| { + ^bar Null(null) + } + public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class A : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor(): R|util/A| { + super() + local final [ResolvedTo(BODY_RESOLVE)] class OuterIntoLocal : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=OuterIntoLocal] constructor(): R|/OuterIntoLocal| { + 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>>?| { + ^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>>?| { + ^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>>?| { + ^baz this@R|/OuterIntoLocal|.R|/foo|() + } + + } + + local final [ResolvedTo(BODY_RESOLVE)] class LocalIntoLocal : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=LocalIntoLocal] constructor(): R|/LocalIntoLocal| { + super() + } + + 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>>?| { + ^foo this@R|/LocalIntoLocal|.R|/bar|() + } + + public final [ResolvedTo(BODY_RESOLVE)] 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>>?| { + ^bar Null(null) + } + + public final [ResolvedTo(BODY_RESOLVE)] fun foo2(): 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>>?| { + ^foo2 this@R|/LocalIntoLocal|.R|/bar|() + } + + } + + } + + } + +FILE RAW TO BODY: +FILE: [ResolvedTo(BODY_RESOLVE)] propagationToLocalMemberFunction.kt + @R|kotlin/annotation/Target|[Types](allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|)) public final [ResolvedTo(BODY_RESOLVE)] annotation class Anno : R|kotlin/Annotation| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Anno] constructor([ResolvedTo(BODY_RESOLVE)] [CorrespondingProperty=util/Anno.str] str: R|kotlin/String|): R|util/Anno| { + super() + } + + public final [ResolvedTo(BODY_RESOLVE)] [IsFromPrimaryConstructor=true] val str: R|kotlin/String| = R|/str| + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Anno] get(): R|kotlin/String| + + } + public final const [ResolvedTo(BODY_RESOLVE)] val prop: R|kotlin/String| = String(str) + public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/String| + public final [ResolvedTo(BODY_RESOLVE)] 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>>?| { + ^bar Null(null) + } + public final [ResolvedTo(BODY_RESOLVE)] class A : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor(): R|util/A| { + super() + local final [ResolvedTo(BODY_RESOLVE)] class OuterIntoLocal : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=OuterIntoLocal] constructor(): R|/OuterIntoLocal| { + 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>>?| { + ^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>>?| { + ^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>>?| { + ^baz this@R|/OuterIntoLocal|.R|/foo|() + } + + } + + local final [ResolvedTo(BODY_RESOLVE)] class LocalIntoLocal : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=LocalIntoLocal] constructor(): R|/LocalIntoLocal| { + super() + } + + 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>>?| { + ^foo this@R|/LocalIntoLocal|.R|/bar|() + } + + public final [ResolvedTo(BODY_RESOLVE)] 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>>?| { + ^bar Null(null) + } + + public final [ResolvedTo(BODY_RESOLVE)] fun foo2(): 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>>?| { + ^foo2 this@R|/LocalIntoLocal|.R|/bar|() + } + + } + + } + + } diff --git a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunctionScript.after.txt b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunctionScript.after.txt new file mode 100644 index 00000000000..3cb3721758d --- /dev/null +++ b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunctionScript.after.txt @@ -0,0 +1,138 @@ +@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>>? + 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> + context -> FirNamedFunctionSymbol /doo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/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>>? + 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> + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/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>>? + 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> + context -> FirNamedFunctionSymbol /baz + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /baz + 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>>? + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol /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> + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol /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>>? + context -> FirNamedFunctionSymbol /bar + anchor -> [FirNamedFunctionSymbol /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> + context -> FirNamedFunctionSymbol /bar + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /bar + anchor -> [FirNamedFunctionSymbol /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>>? + context -> FirNamedFunctionSymbol /foo2 + anchor -> [FirNamedFunctionSymbol /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> + context -> FirNamedFunctionSymbol /foo2 + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /foo2 + anchor -> [FirNamedFunctionSymbol /bar] + +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunctionScript.kts + context(