From 83bdac8d611a9bfe5b81a1ddfb53a3303cacfefa Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Fri, 24 Nov 2023 16:01:48 +0100 Subject: [PATCH] [FIR] CustomAnnotationTypeAttribute: drop containerSymbols Now annotations have the container symbol itself, so this property is no longer needed. This migration fixes issues with a missed container symbol, so now all cases of lazy resolution from KtType are supported ^KT-63042 --- .../annotations/KtFirAnnotationListForType.kt | 4 +- .../classAnnotationsInLocalClass.after.txt | 12 +- .../classAnnotationsInLocalClass.before.txt | 12 +- ...assAnnotationsInLocalClassScript.after.txt | 13 ++- ...ssAnnotationsInLocalClassScript.before.txt | 13 ++- ...meterTypeCollisionAndAnnotations.after.txt | 6 +- ...eterTypeCollisionAndAnnotations.before.txt | 6 +- ...ypeCollisionAndAnnotationsScript.after.txt | 6 +- ...peCollisionAndAnnotationsScript.before.txt | 6 +- .../constructor/call.after.txt | 2 +- .../constructor/call.before.txt | 2 +- .../constructor/callScript.after.txt | 2 +- .../constructor/callScript.before.txt | 2 +- .../constructor/callWithConstructor.after.txt | 2 +- .../callWithConstructor.before.txt | 2 +- .../callWithConstructorScript.after.txt | 2 +- .../callWithConstructorScript.before.txt | 2 +- ...delegateFieldWithAnnotationClash.after.txt | 20 ++-- ...elegateFieldWithAnnotationClash.before.txt | 2 +- ...teFieldWithAnnotationClashScript.after.txt | 25 ++-- ...eFieldWithAnnotationClashScript.before.txt | 3 +- .../delegateWithExplicitType.after.txt | 6 +- .../delegateWithExplicitType.before.txt | 6 +- .../delegateWithExplicitTypeScript.after.txt | 7 +- .../delegateWithExplicitTypeScript.before.txt | 7 +- ...egateWithExplicitTypeUnavailable.after.txt | 6 +- ...gateWithExplicitTypeUnavailable.before.txt | 6 +- ...ithExplicitTypeUnavailableScript.after.txt | 7 +- ...thExplicitTypeUnavailableScript.before.txt | 7 +- .../delegateWithImplicitType.after.txt | 6 +- .../delegateWithImplicitType.before.txt | 6 +- .../delegateWithImplicitTypeScript.after.txt | 7 +- .../delegateWithImplicitTypeScript.before.txt | 7 +- ...egateWithImplicitTypeUnavailable.after.txt | 6 +- ...gateWithImplicitTypeUnavailable.before.txt | 6 +- ...ithImplicitTypeUnavailableScript.after.txt | 7 +- ...thImplicitTypeUnavailableScript.before.txt | 7 +- .../delegatedFieldNestedName.after.txt | 2 +- .../delegatedFieldNestedName.before.txt | 2 +- ...eldNestedNameClashAndAnnotations.after.txt | 20 ++-- ...ldNestedNameClashAndAnnotations.before.txt | 2 +- ...tedNameClashAndAnnotationsScript.after.txt | 25 ++-- ...edNameClashAndAnnotationsScript.before.txt | 3 +- ...ashWithNestedTypesAndAnnotations.after.txt | 2 +- ...shWithNestedTypesAndAnnotations.before.txt | 2 +- ...hNestedTypesAndAnnotationsScript.after.txt | 3 +- ...NestedTypesAndAnnotationsScript.before.txt | 3 +- .../delegatedFieldNestedNameScript.after.txt | 3 +- .../delegatedFieldNestedNameScript.before.txt | 3 +- .../delegate/field.after.txt | 2 +- .../delegate/field.before.txt | 2 +- .../delegate/fieldScript.after.txt | 3 +- .../delegate/fieldScript.before.txt | 3 +- .../scriptStatementLevel.after.txt | 110 +++++++++--------- .../scriptStatementLevel.before.txt | 96 +++++++-------- ...iptStatementLevelAsLastStatement.after.txt | 36 +++--- ...ptStatementLevelAsLastStatement.before.txt | 24 ++-- .../errorType/errorType.after.txt | 35 +++--- .../errorType/errorType.before.txt | 10 +- .../errorType/errorTypeScript.after.txt | 40 ++++--- .../errorType/errorTypeScript.before.txt | 11 +- .../errorType/nestedErrorReturnType.after.txt | 10 +- .../nestedErrorReturnType.before.txt | 10 +- .../nestedErrorReturnTypeScript.after.txt | 11 +- .../nestedErrorReturnTypeScript.before.txt | 11 +- ...nent1TypeCollisionAndAnnotations.after.txt | 12 +- ...ent1TypeCollisionAndAnnotations.before.txt | 6 +- ...ypeCollisionAndAnnotationsScript.after.txt | 12 +- ...peCollisionAndAnnotationsScript.before.txt | 6 +- .../copyTypeCollisionAndAnnotations.after.txt | 22 ++-- ...copyTypeCollisionAndAnnotations.before.txt | 12 +- ...ypeCollisionAndAnnotationsScript.after.txt | 22 ++-- ...peCollisionAndAnnotationsScript.before.txt | 12 +- ...ClashAndAnnotationsAsConstructor.after.txt | 2 +- ...lashAndAnnotationsAsConstructor.before.txt | 2 +- ...ndAnnotationsAsConstructorScript.after.txt | 2 +- ...dAnnotationsAsConstructorScript.before.txt | 2 +- ...TypesAndAnnotationsAsConstructor.after.txt | 6 +- ...ypesAndAnnotationsAsConstructor.before.txt | 6 +- ...ndAnnotationsAsConstructorScript.after.txt | 6 +- ...dAnnotationsAsConstructorScript.before.txt | 6 +- .../function/explicitType.after.txt | 6 +- .../function/explicitType.before.txt | 6 +- .../function/explicitTypeScript.after.txt | 7 +- .../function/explicitTypeScript.before.txt | 7 +- .../function/generatedComponentN.after.txt | 12 +- .../function/generatedComponentN.before.txt | 6 +- .../generatedComponentNScript.after.txt | 12 +- .../generatedComponentNScript.before.txt | 6 +- .../function/generatedCopy.after.txt | 22 ++-- .../function/generatedCopy.before.txt | 12 +- .../function/generatedCopyScript.after.txt | 22 ++-- .../function/generatedCopyScript.before.txt | 12 +- .../function/localFunction.after.txt | 26 ++--- .../function/localFunction.before.txt | 26 ++--- .../localFunctionImplicitType.after.txt | 12 +- .../localFunctionImplicitType.before.txt | 12 +- ...calImplicitTypeUnavailableScript.after.txt | 1 + ...alImplicitTypeUnavailableScript.before.txt | 1 + .../function/multiDeclaration.after.txt | 72 ++++++------ .../function/multiDeclaration.before.txt | 60 +++++----- .../function/multiDeclarationScript.after.txt | 72 ++++++------ .../multiDeclarationScript.before.txt | 60 +++++----- ...emberFunctionsImplicitBodyScript.after.txt | 1 + ...mberFunctionsImplicitBodyScript.before.txt | 1 + ...etweenLocalMemberFunctionsScript.after.txt | 1 + ...tweenLocalMemberFunctionsScript.before.txt | 1 + ...rTypeCallNameClashWithAnnotation.after.txt | 24 ++-- ...TypeCallNameClashWithAnnotation.before.txt | 4 +- ...ithAnnotationImplicitConstructor.after.txt | 24 ++-- ...thAnnotationImplicitConstructor.before.txt | 4 +- ...otationImplicitConstructorScript.after.txt | 29 ++--- ...tationImplicitConstructorScript.before.txt | 5 +- ...allNameClashWithAnnotationScript.after.txt | 29 ++--- ...llNameClashWithAnnotationScript.before.txt | 5 +- ...allNestedNameClashWithAnnotation.after.txt | 4 +- ...llNestedNameClashWithAnnotation.before.txt | 4 +- ...ithAnnotationImplicitConstructor.after.txt | 4 +- ...thAnnotationImplicitConstructor.before.txt | 4 +- ...otationImplicitConstructorScript.after.txt | 5 +- ...tationImplicitConstructorScript.before.txt | 5 +- ...tedNameClashWithAnnotationScript.after.txt | 5 +- ...edNameClashWithAnnotationScript.before.txt | 5 +- .../typeParameterAnnotations.after.txt | 6 +- .../typeParameterAnnotations.before.txt | 6 +- ...ParameterAnnotationsInLocalClass.after.txt | 6 +- ...arameterAnnotationsInLocalClass.before.txt | 6 +- ...terAnnotationsInLocalClassScript.after.txt | 7 +- ...erAnnotationsInLocalClassScript.before.txt | 7 +- .../property/constructorParameter.after.txt | 6 +- .../property/constructorParameter.before.txt | 6 +- .../constructorParameterScript.after.txt | 6 +- .../constructorParameterScript.before.txt | 7 +- .../property/explicitType.after.txt | 2 +- .../property/explicitType.before.txt | 2 +- .../property/explicitTypeScript.after.txt | 3 +- .../property/explicitTypeScript.before.txt | 3 +- ...generatedPropertyFromConstructor.after.txt | 30 ++--- ...eneratedPropertyFromConstructor.before.txt | 24 ++-- ...tedPropertyFromConstructorScript.after.txt | 30 ++--- ...edPropertyFromConstructorScript.before.txt | 24 ++-- .../localImplicitTypeUnavailable.after.txt | 2 +- .../localImplicitTypeUnavailable.before.txt | 2 +- ...citTypeUnavailableInImplicitBody.after.txt | 2 +- ...itTypeUnavailableInImplicitBody.before.txt | 2 +- ...eUnavailableInImplicitBodyScript.after.txt | 2 +- ...UnavailableInImplicitBodyScript.before.txt | 2 +- ...calImplicitTypeUnavailableScript.after.txt | 2 +- ...alImplicitTypeUnavailableScript.before.txt | 2 +- .../localPropertyWithExplicitType.after.txt | 18 +-- .../localPropertyWithExplicitType.before.txt | 18 +-- ...tionBetweenLocalMemberProperties.after.txt | 2 +- ...ionBetweenLocalMemberProperties.before.txt | 2 +- ...ocalMemberPropertiesImplicitBody.after.txt | 2 +- ...calMemberPropertiesImplicitBody.before.txt | 2 +- ...mberPropertiesImplicitBodyScript.after.txt | 2 +- ...berPropertiesImplicitBodyScript.before.txt | 2 +- ...tweenLocalMemberPropertiesScript.after.txt | 2 +- ...weenLocalMemberPropertiesScript.before.txt | 2 +- ...pertyTypeCollisionAndAnnotations.after.txt | 22 ++-- ...ertyTypeCollisionAndAnnotations.before.txt | 18 +-- ...ypeCollisionAndAnnotationsScript.after.txt | 22 ++-- ...peCollisionAndAnnotationsScript.before.txt | 18 +-- ...terAnnotationsInLocalClassScript.after.txt | 1 + ...erAnnotationsInLocalClassScript.before.txt | 1 + .../substitutionOverride/function.after.txt | 6 +- .../substitutionOverride/function.before.txt | 6 +- .../functionScript.after.txt | 7 +- .../functionScript.before.txt | 7 +- .../functionUnavailable.after.txt | 6 +- .../functionUnavailable.before.txt | 6 +- .../functionUnavailableScript.after.txt | 7 +- .../functionUnavailableScript.before.txt | 7 +- .../implicitFunction.after.txt | 6 +- .../implicitFunction.before.txt | 6 +- .../implicitFunctionScript.after.txt | 7 +- .../implicitFunctionScript.before.txt | 7 +- .../implicitFunctionUnavailable.after.txt | 8 +- .../implicitFunctionUnavailable.before.txt | 8 +- ...mplicitFunctionUnavailableScript.after.txt | 9 +- ...plicitFunctionUnavailableScript.before.txt | 9 +- .../propertyScript.after.txt | 3 +- .../propertyScript.before.txt | 3 +- ...rAndSetterWithExplicitReturnType.after.txt | 4 +- ...AndSetterWithExplicitReturnType.before.txt | 4 +- .../typeAlias/insideFunctionComplex.after.txt | 6 +- .../insideFunctionComplex.before.txt | 6 +- .../insideFunctionComplexScript.after.txt | 7 +- .../insideFunctionComplexScript.before.txt | 7 +- ...WithNestedAnnotationInLocalClass.after.txt | 2 +- ...ithNestedAnnotationInLocalClass.before.txt | 2 +- ...stedAnnotationInLocalClassScript.after.txt | 3 +- ...tedAnnotationInLocalClassScript.before.txt | 3 +- .../fir/AbstractLazyTypeAnnotationsTest.kt | 14 ++- .../src/org/jetbrains/kotlin/fir/CopyUtils.kt | 4 +- .../providers/impl/FirTypeResolverImpl.kt | 12 +- .../types/CustomAnnotationTypeAttribute.kt | 33 +----- 197 files changed, 1044 insertions(+), 1016 deletions(-) diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/annotations/KtFirAnnotationListForType.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/annotations/KtFirAnnotationListForType.kt index eb31fdd1dd3..9dbd0ed5bca 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/annotations/KtFirAnnotationListForType.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/annotations/KtFirAnnotationListForType.kt @@ -19,6 +19,7 @@ import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.toAnnotationClassId import org.jetbrains.kotlin.fir.expressions.FirAnnotation +import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.symbols.resolveAnnotationsWithArguments import org.jetbrains.kotlin.fir.symbols.resolveAnnotationsWithClassIds import org.jetbrains.kotlin.fir.types.ConeKotlinType @@ -86,7 +87,8 @@ private fun ConeKotlinType.customAnnotationsWithLazyResolve(phase: FirResolvePha val custom = attributes.custom ?: return emptyList() val annotations = custom.annotations.ifEmpty { return emptyList() } - for (containerSymbol in custom.containerSymbols) { + for (annotation in annotations) { + val containerSymbol = (annotation as? FirAnnotationCall)?.containingDeclarationSymbol ?: continue when (phase) { FirResolvePhase.TYPES -> resolveAnnotationsWithClassIds(containerSymbol) FirResolvePhase.ANNOTATION_ARGUMENTS -> annotations.resolveAnnotationsWithArguments(containerSymbol) diff --git a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/classAnnotationsInLocalClass.after.txt b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/classAnnotationsInLocalClass.after.txt index 0e82bd320c6..b619d714010 100644 --- a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/classAnnotationsInLocalClass.after.txt +++ b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/classAnnotationsInLocalClass.after.txt @@ -1,14 +1,14 @@ @R|Anno|(position = (String(bound ), R|/localProp|)) kotlin/collections/List<@R|Anno|(position = (String(nested bound ), R|/localProp|)) kotlin/Int> context -> FirTypeParameterSymbol T from FirRegularClassSymbol /OriginalClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass] @R|Anno|(position = (String(nested bound ), R|/localProp|)) kotlin/Int context -> FirTypeParameterSymbol T from FirRegularClassSymbol /OriginalClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass] @R|Anno|(position = (String(super type ), R|/localProp|)) A<@R|Anno|(position = (String(nested super type ), R|/localProp|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested super type ), R|/localProp|)) kotlin/Int>> context -> FirConstructorSymbol /OriginalClass.OriginalClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass] @R|Anno|(position = (String(nested super type ), R|/localProp|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested super type ), R|/localProp|)) kotlin/Int> context -> FirConstructorSymbol /OriginalClass.OriginalClass @@ -20,15 +20,15 @@ @R|Anno|(position = (String(bound ), this@R|/OriginalClass|.R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested bound ), this@R|/OriginalClass|.R|/prop|)) kotlin/Int> context -> FirTypeParameterSymbol T from FirRegularClassSymbol /OriginalClass.InnerClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass.InnerClass] @R|Anno|(position = (String(nested bound ), this@R|/OriginalClass|.R|/prop|)) kotlin/Int context -> FirTypeParameterSymbol T from FirRegularClassSymbol /OriginalClass.InnerClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass.InnerClass] @R|Anno|(position = (String(super type ), this@R|/OriginalClass|.R|/prop|)) A<@R|Anno|(position = (String(nested super type ), this@R|/OriginalClass|.R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested super type ), this@R|/OriginalClass|.R|/prop|)) kotlin/Int>> context -> FirConstructorSymbol /OriginalClass.InnerClass.InnerClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass.InnerClass] @R|Anno|(position = (String(nested super type ), this@R|/OriginalClass|.R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested super type ), this@R|/OriginalClass|.R|/prop|)) kotlin/Int> context -> FirConstructorSymbol /OriginalClass.InnerClass.InnerClass diff --git a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/classAnnotationsInLocalClass.before.txt b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/classAnnotationsInLocalClass.before.txt index 0e82bd320c6..b619d714010 100644 --- a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/classAnnotationsInLocalClass.before.txt +++ b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/classAnnotationsInLocalClass.before.txt @@ -1,14 +1,14 @@ @R|Anno|(position = (String(bound ), R|/localProp|)) kotlin/collections/List<@R|Anno|(position = (String(nested bound ), R|/localProp|)) kotlin/Int> context -> FirTypeParameterSymbol T from FirRegularClassSymbol /OriginalClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass] @R|Anno|(position = (String(nested bound ), R|/localProp|)) kotlin/Int context -> FirTypeParameterSymbol T from FirRegularClassSymbol /OriginalClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass] @R|Anno|(position = (String(super type ), R|/localProp|)) A<@R|Anno|(position = (String(nested super type ), R|/localProp|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested super type ), R|/localProp|)) kotlin/Int>> context -> FirConstructorSymbol /OriginalClass.OriginalClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass] @R|Anno|(position = (String(nested super type ), R|/localProp|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested super type ), R|/localProp|)) kotlin/Int> context -> FirConstructorSymbol /OriginalClass.OriginalClass @@ -20,15 +20,15 @@ @R|Anno|(position = (String(bound ), this@R|/OriginalClass|.R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested bound ), this@R|/OriginalClass|.R|/prop|)) kotlin/Int> context -> FirTypeParameterSymbol T from FirRegularClassSymbol /OriginalClass.InnerClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass.InnerClass] @R|Anno|(position = (String(nested bound ), this@R|/OriginalClass|.R|/prop|)) kotlin/Int context -> FirTypeParameterSymbol T from FirRegularClassSymbol /OriginalClass.InnerClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass.InnerClass] @R|Anno|(position = (String(super type ), this@R|/OriginalClass|.R|/prop|)) A<@R|Anno|(position = (String(nested super type ), this@R|/OriginalClass|.R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested super type ), this@R|/OriginalClass|.R|/prop|)) kotlin/Int>> context -> FirConstructorSymbol /OriginalClass.InnerClass.InnerClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass.InnerClass] @R|Anno|(position = (String(nested super type ), this@R|/OriginalClass|.R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested super type ), this@R|/OriginalClass|.R|/prop|)) kotlin/Int> context -> FirConstructorSymbol /OriginalClass.InnerClass.InnerClass diff --git a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/classAnnotationsInLocalClassScript.after.txt b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/classAnnotationsInLocalClassScript.after.txt index b0f6d50dbf3..5cbd2dcbd50 100644 --- a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/classAnnotationsInLocalClassScript.after.txt +++ b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/classAnnotationsInLocalClassScript.after.txt @@ -1,14 +1,14 @@ @R|Anno|(position = (String(bound ), R|/localProp|)) kotlin/collections/List<@R|Anno|(position = (String(nested bound ), R|/localProp|)) kotlin/Int> context -> FirTypeParameterSymbol T from FirRegularClassSymbol /OriginalClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass] @R|Anno|(position = (String(nested bound ), R|/localProp|)) kotlin/Int context -> FirTypeParameterSymbol T from FirRegularClassSymbol /OriginalClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass] @R|Anno|(position = (String(super type ), R|/localProp|)) A<@R|Anno|(position = (String(nested super type ), R|/localProp|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested super type ), R|/localProp|)) kotlin/Int>> context -> FirConstructorSymbol /OriginalClass.OriginalClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass] @R|Anno|(position = (String(nested super type ), R|/localProp|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested super type ), R|/localProp|)) kotlin/Int> context -> FirConstructorSymbol /OriginalClass.OriginalClass @@ -20,15 +20,15 @@ @R|Anno|(position = (String(bound ), this@R|/OriginalClass|.R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested bound ), this@R|/OriginalClass|.R|/prop|)) kotlin/Int> context -> FirTypeParameterSymbol T from FirRegularClassSymbol /OriginalClass.InnerClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass.InnerClass] @R|Anno|(position = (String(nested bound ), this@R|/OriginalClass|.R|/prop|)) kotlin/Int context -> FirTypeParameterSymbol T from FirRegularClassSymbol /OriginalClass.InnerClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass.InnerClass] @R|Anno|(position = (String(super type ), this@R|/OriginalClass|.R|/prop|)) A<@R|Anno|(position = (String(nested super type ), this@R|/OriginalClass|.R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested super type ), this@R|/OriginalClass|.R|/prop|)) kotlin/Int>> context -> FirConstructorSymbol /OriginalClass.InnerClass.InnerClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass.InnerClass] @R|Anno|(position = (String(nested super type ), this@R|/OriginalClass|.R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested super type ), this@R|/OriginalClass|.R|/prop|)) kotlin/Int> context -> FirConstructorSymbol /OriginalClass.InnerClass.InnerClass @@ -104,3 +104,4 @@ FILE: [ResolvedTo(IMPORTS)] classAnnotationsInLocalClassScript.kts } } + diff --git a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/classAnnotationsInLocalClassScript.before.txt b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/classAnnotationsInLocalClassScript.before.txt index b0f6d50dbf3..5cbd2dcbd50 100644 --- a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/classAnnotationsInLocalClassScript.before.txt +++ b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/classAnnotationsInLocalClassScript.before.txt @@ -1,14 +1,14 @@ @R|Anno|(position = (String(bound ), R|/localProp|)) kotlin/collections/List<@R|Anno|(position = (String(nested bound ), R|/localProp|)) kotlin/Int> context -> FirTypeParameterSymbol T from FirRegularClassSymbol /OriginalClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass] @R|Anno|(position = (String(nested bound ), R|/localProp|)) kotlin/Int context -> FirTypeParameterSymbol T from FirRegularClassSymbol /OriginalClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass] @R|Anno|(position = (String(super type ), R|/localProp|)) A<@R|Anno|(position = (String(nested super type ), R|/localProp|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested super type ), R|/localProp|)) kotlin/Int>> context -> FirConstructorSymbol /OriginalClass.OriginalClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass] @R|Anno|(position = (String(nested super type ), R|/localProp|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested super type ), R|/localProp|)) kotlin/Int> context -> FirConstructorSymbol /OriginalClass.OriginalClass @@ -20,15 +20,15 @@ @R|Anno|(position = (String(bound ), this@R|/OriginalClass|.R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested bound ), this@R|/OriginalClass|.R|/prop|)) kotlin/Int> context -> FirTypeParameterSymbol T from FirRegularClassSymbol /OriginalClass.InnerClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass.InnerClass] @R|Anno|(position = (String(nested bound ), this@R|/OriginalClass|.R|/prop|)) kotlin/Int context -> FirTypeParameterSymbol T from FirRegularClassSymbol /OriginalClass.InnerClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass.InnerClass] @R|Anno|(position = (String(super type ), this@R|/OriginalClass|.R|/prop|)) A<@R|Anno|(position = (String(nested super type ), this@R|/OriginalClass|.R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested super type ), this@R|/OriginalClass|.R|/prop|)) kotlin/Int>> context -> FirConstructorSymbol /OriginalClass.InnerClass.InnerClass - anchor -> [] + anchor -> [FirRegularClassSymbol /OriginalClass.InnerClass] @R|Anno|(position = (String(nested super type ), this@R|/OriginalClass|.R|/prop|)) kotlin/collections/List<@R|Anno|(position = (String(nested nested super type ), this@R|/OriginalClass|.R|/prop|)) kotlin/Int> context -> FirConstructorSymbol /OriginalClass.InnerClass.InnerClass @@ -104,3 +104,4 @@ FILE: [ResolvedTo(IMPORTS)] classAnnotationsInLocalClassScript.kts } } + diff --git a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/parameterTypeCollisionAndAnnotations.after.txt b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/parameterTypeCollisionAndAnnotations.after.txt index 3a7ce3664b9..ccde2fbd8ff 100644 --- a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/parameterTypeCollisionAndAnnotations.after.txt +++ b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/parameterTypeCollisionAndAnnotations.after.txt @@ -1,14 +1,14 @@ @R|one/two/Anno|(i = Int(0).R|kotlin/Int.plus|(this@R|one/two/MyDataClass.Companion|.R|one/two/MyDataClass.Companion.constant|)) one/two/MyDataClass.MyClass<@R|one/two/Anno|(i = Int(1).R|kotlin/Int.plus|(this@R|one/two/MyDataClass.Companion|.R|one/two/MyDataClass.Companion.constant|)) one/two/MyDataClass.MyClass<@R|one/two/Anno|(i = Int(2).R|kotlin/Int.plus|(this@R|one/two/MyDataClass.Companion|.R|one/two/MyDataClass.Companion.constant|)) kotlin/Int>> context -> FirValueParameterSymbol /prop from FirConstructorSymbol one/two/MyDataClass.MyDataClass - anchor -> [FirValueParameterSymbol /prop from FirConstructorSymbol one/two/MyDataClass.MyDataClass] + anchor -> [FirConstructorSymbol one/two/MyDataClass.MyDataClass] @R|one/two/Anno|(i = Int(1).R|kotlin/Int.plus|(this@R|one/two/MyDataClass.Companion|.R|one/two/MyDataClass.Companion.constant|)) one/two/MyDataClass.MyClass<@R|one/two/Anno|(i = Int(2).R|kotlin/Int.plus|(this@R|one/two/MyDataClass.Companion|.R|one/two/MyDataClass.Companion.constant|)) kotlin/Int> context -> FirValueParameterSymbol /prop from FirConstructorSymbol one/two/MyDataClass.MyDataClass - anchor -> [FirValueParameterSymbol /prop from FirConstructorSymbol one/two/MyDataClass.MyDataClass] + anchor -> [FirConstructorSymbol one/two/MyDataClass.MyDataClass] @R|one/two/Anno|(i = Int(2).R|kotlin/Int.plus|(this@R|one/two/MyDataClass.Companion|.R|one/two/MyDataClass.Companion.constant|)) kotlin/Int context -> FirValueParameterSymbol /prop from FirConstructorSymbol one/two/MyDataClass.MyDataClass - anchor -> [FirValueParameterSymbol /prop from FirConstructorSymbol one/two/MyDataClass.MyDataClass] + anchor -> [FirConstructorSymbol one/two/MyDataClass.MyDataClass] FILE: [ResolvedTo(IMPORTS)] parameterTypeCollisionAndAnnotations.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| { diff --git a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/parameterTypeCollisionAndAnnotations.before.txt b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/parameterTypeCollisionAndAnnotations.before.txt index ffdc56b3601..1acec4f3bcf 100644 --- a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/parameterTypeCollisionAndAnnotations.before.txt +++ b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/parameterTypeCollisionAndAnnotations.before.txt @@ -1,14 +1,14 @@ @R|one/two/Anno|(IntegerLiteral(0).plus#(constant#)) one/two/MyDataClass.MyClass<@R|one/two/Anno|(IntegerLiteral(1).plus#(constant#)) one/two/MyDataClass.MyClass<@R|one/two/Anno|(IntegerLiteral(2).plus#(constant#)) kotlin/Int>> context -> FirValueParameterSymbol /prop from FirConstructorSymbol one/two/MyDataClass.MyDataClass - anchor -> [FirValueParameterSymbol /prop from FirConstructorSymbol one/two/MyDataClass.MyDataClass] + anchor -> [FirConstructorSymbol one/two/MyDataClass.MyDataClass] @R|one/two/Anno|(IntegerLiteral(1).plus#(constant#)) one/two/MyDataClass.MyClass<@R|one/two/Anno|(IntegerLiteral(2).plus#(constant#)) kotlin/Int> context -> FirValueParameterSymbol /prop from FirConstructorSymbol one/two/MyDataClass.MyDataClass - anchor -> [FirValueParameterSymbol /prop from FirConstructorSymbol one/two/MyDataClass.MyDataClass] + anchor -> [FirConstructorSymbol one/two/MyDataClass.MyDataClass] @R|one/two/Anno|(IntegerLiteral(2).plus#(constant#)) kotlin/Int context -> FirValueParameterSymbol /prop from FirConstructorSymbol one/two/MyDataClass.MyDataClass - anchor -> [FirValueParameterSymbol /prop from FirConstructorSymbol one/two/MyDataClass.MyDataClass] + anchor -> [FirConstructorSymbol one/two/MyDataClass.MyDataClass] FILE: [ResolvedTo(IMPORTS)] parameterTypeCollisionAndAnnotations.kt @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| { diff --git a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/parameterTypeCollisionAndAnnotationsScript.after.txt b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/parameterTypeCollisionAndAnnotationsScript.after.txt index bfc9a38297c..b93c1a272b3 100644 --- a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/parameterTypeCollisionAndAnnotationsScript.after.txt +++ b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/class/parameterTypeCollisionAndAnnotationsScript.after.txt @@ -1,14 +1,14 @@ @R|one/two/Anno|(i = Int(0).R|kotlin/Int.plus|(this@R|one/two/MyDataClass.Companion|.R|one/two/MyDataClass.Companion.constant|)) one/two/MyDataClass.MyClass<@R|one/two/Anno|(i = Int(1).R|kotlin/Int.plus|(this@R|one/two/MyDataClass.Companion|.R|one/two/MyDataClass.Companion.constant|)) one/two/MyDataClass.MyClass<@R|one/two/Anno|(i = Int(2).R|kotlin/Int.plus|(this@R|one/two/MyDataClass.Companion|.R|one/two/MyDataClass.Companion.constant|)) kotlin/Int>> context -> FirValueParameterSymbol /prop from FirConstructorSymbol one/two/MyDataClass.MyDataClass - anchor -> [FirValueParameterSymbol /prop from FirConstructorSymbol one/two/MyDataClass.MyDataClass] + anchor -> [FirConstructorSymbol one/two/MyDataClass.MyDataClass] @R|one/two/Anno|(i = Int(1).R|kotlin/Int.plus|(this@R|one/two/MyDataClass.Companion|.R|one/two/MyDataClass.Companion.constant|)) one/two/MyDataClass.MyClass<@R|one/two/Anno|(i = Int(2).R|kotlin/Int.plus|(this@R|one/two/MyDataClass.Companion|.R|one/two/MyDataClass.Companion.constant|)) kotlin/Int> context -> FirValueParameterSymbol /prop from FirConstructorSymbol one/two/MyDataClass.MyDataClass - anchor -> [FirValueParameterSymbol /prop from FirConstructorSymbol one/two/MyDataClass.MyDataClass] + anchor -> [FirConstructorSymbol one/two/MyDataClass.MyDataClass] @R|one/two/Anno|(i = Int(2).R|kotlin/Int.plus|(this@R|one/two/MyDataClass.Companion|.R|one/two/MyDataClass.Companion.constant|)) kotlin/Int context -> FirValueParameterSymbol /prop from FirConstructorSymbol one/two/MyDataClass.MyDataClass - anchor -> [FirValueParameterSymbol /prop from FirConstructorSymbol one/two/MyDataClass.MyDataClass] + anchor -> [FirConstructorSymbol one/two/MyDataClass.MyDataClass] FILE: [ResolvedTo(IMPORTS)] parameterTypeCollisionAndAnnotationsScript.kts context(