From 1f05ce2e01269ff700f6217019fe5a3ae04fc6fe Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Fri, 24 Mar 2023 13:32:02 +0100 Subject: [PATCH] AA/LC: Support annotation property->backing field move #KT-57462 Fixed --- .../KtFe10DescDefaultBackingFieldSymbol.kt | 46 ++++++++++ .../KtFe10DescKotlinPropertySymbol.kt | 7 ++ .../KtFe10DescSyntheticFieldSymbol.kt | 2 +- .../KtFe10DescSyntheticJavaPropertySymbol.kt | 3 + ...cSyntheticJavaPropertySymbolForOverride.kt | 3 + ...Fe10PsiDefaultBackingFieldSymbolPointer.kt | 27 ++++++ .../KtFe10PsiDefaultBackingFieldSymbol.kt | 58 ++++++++++++ .../psiBased/KtFe10PsiKotlinPropertySymbol.kt | 7 ++ .../analysis/api/fir/KtSymbolByFirBuilder.kt | 6 ++ .../KtFirAnnotationListForDeclaration.kt | 12 ++- .../annotations/KtFirAnnotationListForType.kt | 8 +- .../fir/components/KtFirSymbolInfoProvider.kt | 7 +- .../fir/symbols/KtFirKotlinPropertySymbol.kt | 7 +- .../KtFirSyntheticJavaPropertySymbol.kt | 3 + .../renderer/declarations/ktRendererUtils.kt | 12 ++- .../api/symbols/DebugSymbolRenderer.kt | 7 ++ .../api/symbols/KtVariableLikeSymbol.kt | 3 +- ...rty_javaAnnotation_targets.descriptors.txt | 3 - .../onProperty_javaAnnotation_targets.txt | 2 - ...Annotation_varargParameter.descriptors.txt | 3 - ...roperty_javaAnnotation_varargParameter.txt | 18 ---- .../propertyWithGetter.descriptors.txt | 1 + .../propertyWithGetter.txt | 1 + .../simple.descriptors.txt | 4 + .../delegatedMemberScope/simple.txt | 4 + .../fileScopeTest/fileScope.descriptors.txt | 17 ++++ .../scopeProvider/fileScopeTest/fileScope.txt | 22 ++++- .../fileScopeTest/simpleFileScope.txt | 1 + .../memberScopeByFqName/MutableList.txt | 1 + .../memberScopeByFqName/dataClass.txt | 7 ++ .../memberScopeByFqName/enumEntry.txt | 3 + .../memberScopeByFqName/java.lang.String.txt | 1 + .../scopeContextForPosition/enumEntry.txt | 4 + .../localTypeScope.txt | 1 + .../innerClassTypeParamsSubstitution.txt | 1 + .../scopeProvider/typeScope/intList.txt | 1 + .../outerClassTypeParamsSubstitution.txt | 1 + .../typeScope/outerTypeParamsSubstitution.txt | 1 + .../scopeProvider/typeScope/typeParamList.txt | 1 + ...ertyWithAnnotations.descriptors.pretty.txt | 6 -- .../propertyWithAnnotations.descriptors.txt | 5 + .../propertyWithAnnotations.pretty.txt | 2 +- .../propertyWithAnnotations.txt | 7 +- ...tationsAndAccessors.descriptors.pretty.txt | 1 + ...ithAnnotationsAndAccessors.descriptors.txt | 5 + ...ertyWithAnnotationsAndAccessors.pretty.txt | 2 +- .../propertyWithAnnotationsAndAccessors.txt | 7 +- ...WithDelegateAndAnnotations.descriptors.txt | 1 + ...pertyWithDelegateAndAnnotations.pretty.txt | 2 +- .../propertyWithDelegateAndAnnotations.txt | 7 +- .../propertyWithReceiverAnnotation.txt | 1 + ...ionsOnPropertyReceiverType.descriptors.txt | 1 + .../typeAnnotationsOnPropertyReceiverType.txt | 1 + ...ationsOnPropertyReturnType.descriptors.txt | 1 + .../typeAnnotationsOnPropertyReturnType.txt | 1 + .../symbolByPsi/annotations.descriptors.txt | 2 + .../symbols/symbolByPsi/annotations.txt | 2 + .../anonymousObject.descriptors.txt | 2 + .../symbols/symbolByPsi/anonymousObject.txt | 2 + .../symbols/symbolByPsi/backingField.txt | 1 + .../symbols/symbolByPsi/classInitializer.txt | 1 + .../symbols/symbolByPsi/classMembes.txt | 1 + .../classPrimaryConstructor.descriptors.txt | 1 + .../symbolByPsi/classPrimaryConstructor.txt | 1 + .../contextReceiversOnProperty.txt | 1 + .../symbolByPsi/delegateField.descriptors.txt | 6 ++ .../symbols/symbolByPsi/delegateField.txt | 6 ++ .../symbolByPsi/delegatedProp.descriptors.txt | 1 + .../symbols/symbolByPsi/delegatedProp.txt | 1 + .../deprecated.descriptors.pretty.txt | 38 -------- .../symbolByPsi/deprecated.descriptors.txt | 18 +++- .../symbols/symbolByPsi/deprecated.kt | 4 +- .../symbols/symbolByPsi/deprecated.pretty.txt | 2 +- .../symbols/symbolByPsi/deprecated.txt | 29 ++++-- .../destructuringDeclaration.descriptors.txt | 2 + .../symbolByPsi/destructuringDeclaration.txt | 2 + .../testData/symbols/symbolByPsi/dynamic.txt | 1 + .../enumEntryOverride.descriptors.txt | 2 + .../symbols/symbolByPsi/enumEntryOverride.txt | 2 + .../enumEntryProperties.descriptors.txt | 3 + .../symbolByPsi/enumEntryProperties.txt | 3 + .../enumValueMember.descriptors.txt | 3 + .../symbols/symbolByPsi/enumValueMember.txt | 3 + .../symbolByPsi/explicitBackingField.txt | 1 + .../jvmField.descriptors.pretty.txt | 3 - .../symbolByPsi/jvmField.descriptors.txt | 10 ++ .../symbols/symbolByPsi/jvmField.pretty.txt | 2 +- .../testData/symbols/symbolByPsi/jvmField.txt | 20 ++-- .../symbolByPsi/jvmName.descriptors.txt | 2 + .../testData/symbols/symbolByPsi/jvmName.txt | 2 + .../memberProperties.descriptors.txt | 2 + .../symbols/symbolByPsi/memberProperties.txt | 2 + ...ertiesFromCompanion.descriptors.pretty.txt | 19 ---- .../propertiesFromCompanion.descriptors.txt | 15 +++ .../symbolByPsi/propertiesFromCompanion.txt | 25 +++-- .../symbolByPsi/topLevelProperties.txt | 3 + .../typeAnnotations.descriptors.txt | 2 + .../symbols/symbolByPsi/typeAnnotations.txt | 2 + .../accessorField.descriptors.txt | 17 ++++ .../symbolByReference/accessorField.txt | 5 +- .../enumEntries.descriptors.txt | 1 + .../symbols/symbolByReference/enumEntries.txt | 1 + .../javaSyntheticAccessor.descriptors.txt | 1 + .../javaSyntheticAccessor.txt | 1 + ...orValueParameterAsProperty.descriptors.txt | 1 + ...aryConstructorValueParameterAsProperty.txt | 1 + .../propertyReceiverParameter.descriptors.txt | 1 + .../anonymousObjectInInvalidPosition.txt | 20 ++-- .../lazyResolve/parameterOfNonLocalSetter.txt | 4 +- .../lazyResolve/parameterOfTopSetter.txt | 4 +- .../annotations/symbolAnnotationsUtils.kt | 6 +- .../SymbolLightClassForAnonymousObject.kt | 1 - .../symbol/classes/symbolLightClassUtils.kt | 5 +- .../fields/SymbolLightFieldForProperty.kt | 13 ++- .../light/classes/symbol/symbolLightUtils.kt | 3 +- .../kotlin/fir/symbols/FirBasedSymbol.kt | 41 ++++++--- .../LateinitProperties.fir.java | 92 ------------------- .../lightClassByPsi/annotations.fir.java | 1 - .../lightClasses/lightClassByPsi/objects.java | 8 +- 119 files changed, 551 insertions(+), 292 deletions(-) create mode 100644 analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescDefaultBackingFieldSymbol.kt create mode 100644 analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/pointers/KtFe10PsiDefaultBackingFieldSymbolPointer.kt create mode 100644 analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiDefaultBackingFieldSymbol.kt delete mode 100644 analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty_javaAnnotation_targets.descriptors.txt delete mode 100644 analysis/analysis-api/testData/annotations/metaAnnotations/onProperty_javaAnnotation_varargParameter.descriptors.txt delete mode 100644 analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotations.descriptors.pretty.txt delete mode 100644 analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.descriptors.pretty.txt delete mode 100644 analysis/analysis-api/testData/symbols/symbolByPsi/jvmField.descriptors.pretty.txt delete mode 100644 analysis/analysis-api/testData/symbols/symbolByPsi/propertiesFromCompanion.descriptors.pretty.txt create mode 100644 analysis/analysis-api/testData/symbols/symbolByReference/accessorField.descriptors.txt delete mode 100644 compiler/testData/asJava/lightClasses/lightClassByPsi/LateinitProperties.fir.java diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescDefaultBackingFieldSymbol.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescDefaultBackingFieldSymbol.kt new file mode 100644 index 00000000000..e8e2a3b66f2 --- /dev/null +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescDefaultBackingFieldSymbol.kt @@ -0,0 +1,46 @@ +/* + * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased + +import org.jetbrains.kotlin.analysis.api.KtAnalysisSession +import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationsList +import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisContext +import org.jetbrains.kotlin.analysis.api.descriptors.annotations.KtFe10AnnotationsList +import org.jetbrains.kotlin.analysis.api.descriptors.symbols.pointers.KtFe10NeverRestoringSymbolPointer +import org.jetbrains.kotlin.analysis.api.descriptors.symbols.pointers.KtFe10PsiDefaultBackingFieldSymbolPointer +import org.jetbrains.kotlin.analysis.api.lifetime.KtLifetimeToken +import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion +import org.jetbrains.kotlin.analysis.api.symbols.KtBackingFieldSymbol +import org.jetbrains.kotlin.analysis.api.symbols.KtKotlinPropertySymbol +import org.jetbrains.kotlin.analysis.api.symbols.KtPropertySymbol +import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtPsiBasedSymbolPointer +import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer +import org.jetbrains.kotlin.analysis.api.types.KtType +import org.jetbrains.kotlin.descriptors.FieldDescriptor +import org.jetbrains.kotlin.descriptors.annotations.Annotations + +internal class KtFe10DescDefaultBackingFieldSymbol( + private val fieldDescriptor: FieldDescriptor?, + override val owningProperty: KtKotlinPropertySymbol, + val analysisContext: Fe10AnalysisContext +) : KtBackingFieldSymbol() { + context(KtAnalysisSession) override fun createPointer(): KtSymbolPointer = withValidityAssertion { + KtPsiBasedSymbolPointer.createForSymbolFromSource(owningProperty) + ?.let { KtFe10PsiDefaultBackingFieldSymbolPointer(it) } + ?: KtFe10NeverRestoringSymbolPointer() + } + + override val returnType: KtType + get() = withValidityAssertion { owningProperty.returnType } + + override val token: KtLifetimeToken + get() = owningProperty.token + + override val annotationsList: KtAnnotationsList + get() = withValidityAssertion { + KtFe10AnnotationsList.create(fieldDescriptor?.annotations ?: Annotations.EMPTY, analysisContext) + } +} \ No newline at end of file diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescKotlinPropertySymbol.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescKotlinPropertySymbol.kt index 5250cb0ace8..74296a98967 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescKotlinPropertySymbol.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescKotlinPropertySymbol.kt @@ -20,6 +20,7 @@ import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtPsiBasedSymbolPointe import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer import org.jetbrains.kotlin.analysis.api.types.KtType import org.jetbrains.kotlin.descriptors.ConstructorDescriptor +import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.descriptors.impl.PropertyDescriptorImpl import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.name.Name @@ -87,6 +88,12 @@ internal class KtFe10DescKotlinPropertySymbol( return KtFe10DescPropertySetterSymbol(setter, analysisContext) } + override val backingFieldSymbol: KtBackingFieldSymbol? + get() = withValidityAssertion { + if (descriptor.containingDeclaration is FunctionDescriptor) null + else KtFe10DescDefaultBackingFieldSymbol(descriptor.backingField, this, analysisContext) + } + override val returnType: KtType get() = withValidityAssertion { descriptor.type.toKtType(analysisContext) } diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescSyntheticFieldSymbol.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescSyntheticFieldSymbol.kt index bf175acaab0..bcd62b793a7 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescSyntheticFieldSymbol.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescSyntheticFieldSymbol.kt @@ -46,7 +46,7 @@ internal class KtFe10DescSyntheticFieldSymbol( get() = withValidityAssertion { descriptor.propertyDescriptor.type.toKtType(analysisContext) } context(KtAnalysisSession) - override fun createPointer(): KtSymbolPointer = withValidityAssertion { + override fun createPointer(): KtSymbolPointer = withValidityAssertion { val accessorPsi = descriptor.containingDeclaration.toSourceElement.getPsi() if (accessorPsi is KtPropertyAccessor) { val accessorPointer = KtPsiBasedSymbolPointer.createForSymbolFromPsi(accessorPsi) diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescSyntheticJavaPropertySymbol.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescSyntheticJavaPropertySymbol.kt index 6849d5235d7..8b12d921073 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescSyntheticJavaPropertySymbol.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescSyntheticJavaPropertySymbol.kt @@ -75,6 +75,9 @@ internal class KtFe10DescSyntheticJavaPropertySymbol( KtFe10DescPropertySetterSymbol(setter, analysisContext) } + override val backingFieldSymbol: KtBackingFieldSymbol? + get() = withValidityAssertion { null } + override val initializer: KtInitializerValue? get() = withValidityAssertion { createKtInitializerValue(source as? KtProperty, descriptor, analysisContext) } diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescSyntheticJavaPropertySymbolForOverride.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescSyntheticJavaPropertySymbolForOverride.kt index 738caff943e..56184d6764f 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescSyntheticJavaPropertySymbolForOverride.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/KtFe10DescSyntheticJavaPropertySymbolForOverride.kt @@ -75,6 +75,9 @@ internal class KtFe10DescSyntheticJavaPropertySymbolForOverride( KtFe10DescPropertySetterSymbol(setter, analysisContext) } + override val backingFieldSymbol: KtBackingFieldSymbol? + get() = withValidityAssertion { null } + override val initializer: KtInitializerValue? get() = withValidityAssertion { createKtInitializerValue(source as? KtProperty, descriptor, analysisContext) } diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/pointers/KtFe10PsiDefaultBackingFieldSymbolPointer.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/pointers/KtFe10PsiDefaultBackingFieldSymbolPointer.kt new file mode 100644 index 00000000000..e00415b8d94 --- /dev/null +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/pointers/KtFe10PsiDefaultBackingFieldSymbolPointer.kt @@ -0,0 +1,27 @@ +/* + * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.analysis.api.descriptors.symbols.pointers + +import org.jetbrains.kotlin.analysis.api.KtAnalysisSession +import org.jetbrains.kotlin.analysis.api.symbols.KtBackingFieldSymbol +import org.jetbrains.kotlin.analysis.api.symbols.KtPropertySymbol +import org.jetbrains.kotlin.analysis.api.symbols.KtSymbol +import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtPsiBasedSymbolPointer +import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer + +internal class KtFe10PsiDefaultBackingFieldSymbolPointer( + private val propertySymbolPointer: KtPsiBasedSymbolPointer, +) : KtSymbolPointer() { + @Deprecated("Consider using org.jetbrains.kotlin.analysis.api.KtAnalysisSession.restoreSymbol") + override fun restoreSymbol(analysisSession: KtAnalysisSession): KtBackingFieldSymbol? { + val property = with(analysisSession) { propertySymbolPointer.restoreSymbol() } + return property?.backingFieldSymbol + } + + override fun pointsToTheSameSymbolAs(other: KtSymbolPointer): Boolean = this === other || + other is KtFe10PsiDefaultBackingFieldSymbolPointer && + other.propertySymbolPointer.pointsToTheSameSymbolAs(propertySymbolPointer) +} diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiDefaultBackingFieldSymbol.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiDefaultBackingFieldSymbol.kt new file mode 100644 index 00000000000..e597c7a9435 --- /dev/null +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiDefaultBackingFieldSymbol.kt @@ -0,0 +1,58 @@ +/* + * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.analysis.api.descriptors.symbols.psiBased + +import org.jetbrains.kotlin.analysis.api.KtAnalysisSession +import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationsList +import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisContext +import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisFacade +import org.jetbrains.kotlin.analysis.api.descriptors.annotations.KtFe10AnnotationsList +import org.jetbrains.kotlin.analysis.api.descriptors.symbols.pointers.KtFe10NeverRestoringSymbolPointer +import org.jetbrains.kotlin.analysis.api.descriptors.symbols.pointers.KtFe10PsiDefaultBackingFieldSymbolPointer +import org.jetbrains.kotlin.analysis.api.descriptors.utils.cached +import org.jetbrains.kotlin.analysis.api.lifetime.KtLifetimeToken +import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion +import org.jetbrains.kotlin.analysis.api.symbols.KtBackingFieldSymbol +import org.jetbrains.kotlin.analysis.api.symbols.KtKotlinPropertySymbol +import org.jetbrains.kotlin.analysis.api.symbols.KtPropertySymbol +import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtPsiBasedSymbolPointer +import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer +import org.jetbrains.kotlin.analysis.api.types.KtType +import org.jetbrains.kotlin.descriptors.FieldDescriptor +import org.jetbrains.kotlin.descriptors.PropertyDescriptor +import org.jetbrains.kotlin.descriptors.PropertyGetterDescriptor +import org.jetbrains.kotlin.descriptors.annotations.Annotations +import org.jetbrains.kotlin.psi.KtProperty +import org.jetbrains.kotlin.resolve.BindingContext + +internal class KtFe10PsiDefaultBackingFieldSymbol( + private val propertyPsi: KtProperty, + override val owningProperty: KtKotlinPropertySymbol, + val analysisContext: Fe10AnalysisContext +) : KtBackingFieldSymbol() { + val descriptor: FieldDescriptor? by cached { + val bindingContext = analysisContext.analyze(propertyPsi, Fe10AnalysisFacade.AnalysisMode.PARTIAL) + (bindingContext[BindingContext.VARIABLE, propertyPsi] as? PropertyDescriptor)?.backingField + } + + context(KtAnalysisSession) + override fun createPointer(): KtSymbolPointer = withValidityAssertion { + KtPsiBasedSymbolPointer.createForSymbolFromPsi(propertyPsi) + ?.let(::KtFe10PsiDefaultBackingFieldSymbolPointer) + ?: KtFe10NeverRestoringSymbolPointer() + } + + override val returnType: KtType + get() = withValidityAssertion { owningProperty.returnType } + + override val token: KtLifetimeToken + get() = owningProperty.token + + override val annotationsList: KtAnnotationsList + get() = withValidityAssertion { + KtFe10AnnotationsList.create(descriptor?.annotations ?: Annotations.EMPTY, analysisContext) + } +} diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiKotlinPropertySymbol.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiKotlinPropertySymbol.kt index 65d04920006..dc09b43177d 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiKotlinPropertySymbol.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiKotlinPropertySymbol.kt @@ -70,6 +70,12 @@ internal class KtFe10PsiKotlinPropertySymbol( return KtFe10PsiPropertySetterSymbol(setter, analysisContext) } + override val backingFieldSymbol: KtBackingFieldSymbol? + get() = withValidityAssertion { + if (psi.isLocal) null + else KtFe10PsiDefaultBackingFieldSymbol(propertyPsi = psi, owningProperty = this, analysisContext) + } + override val hasBackingField: Boolean get() = withValidityAssertion { val bindingContext = analysisContext.analyze(psi, AnalysisMode.PARTIAL) @@ -143,3 +149,4 @@ internal class KtFe10PsiKotlinPropertySymbol( override fun equals(other: Any?): Boolean = isEqualTo(other) override fun hashCode(): Int = calculateHashCode() } + diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt index 47650be4564..5f1ea33b2cd 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt @@ -402,6 +402,12 @@ internal class KtSymbolByFirBuilder constructor( } } + fun buildBackingFieldSymbol(firSymbol: FirBackingFieldSymbol): KtFirBackingFieldSymbol { + return symbolsCache.cache(firSymbol) { + KtFirBackingFieldSymbol(firSymbol, analysisSession) + } + } + fun buildExtensionReceiverSymbol(firCallableSymbol: FirCallableSymbol<*>): KtReceiverParameterSymbol? { if (firCallableSymbol.fir.receiverParameter == null) return null return KtFirReceiverParameterSymbol(firCallableSymbol, analysisSession) diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/annotations/KtFirAnnotationListForDeclaration.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/annotations/KtFirAnnotationListForDeclaration.kt index 122bd15e200..e22e72b449e 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/annotations/KtFirAnnotationListForDeclaration.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/annotations/KtFirAnnotationListForDeclaration.kt @@ -14,6 +14,7 @@ import org.jetbrains.kotlin.analysis.api.lifetime.KtLifetimeToken import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirBackingFieldSymbol import org.jetbrains.kotlin.name.ClassId internal class KtFirAnnotationListForDeclaration private constructor( @@ -53,10 +54,13 @@ internal class KtFirAnnotationListForDeclaration private constructor( useSiteSession: FirSession, token: KtLifetimeToken, ): KtAnnotationsList { - return if (firSymbol.annotations.isEmpty()) { - KtEmptyAnnotationsList(token) - } else { - KtFirAnnotationListForDeclaration(firSymbol, useSiteSession, token) + return when { + firSymbol is FirBackingFieldSymbol && firSymbol.propertySymbol.annotations.any { it.useSiteTarget == null } -> + KtFirAnnotationListForDeclaration(firSymbol, useSiteSession, token) + firSymbol.annotations.isEmpty() -> + KtEmptyAnnotationsList(token) + else -> + KtFirAnnotationListForDeclaration(firSymbol, useSiteSession, token) } } } 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 1f1e13fe01c..62e737d64c9 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 @@ -18,8 +18,8 @@ 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.symbols.resolvedAnnotationsWithArguments -import org.jetbrains.kotlin.fir.symbols.resolvedAnnotationsWithClassIds +import org.jetbrains.kotlin.fir.symbols.resolveAnnotationsWithArguments +import org.jetbrains.kotlin.fir.symbols.resolveAnnotationsWithClassIds import org.jetbrains.kotlin.fir.types.ConeKotlinType import org.jetbrains.kotlin.fir.types.custom import org.jetbrains.kotlin.fir.types.customAnnotations @@ -89,8 +89,8 @@ private fun ConeKotlinType.customAnnotationsWithLazyResolve(phase: FirResolvePha for (containerSymbol in custom.containerSymbols) { when (phase) { - FirResolvePhase.TYPES -> annotations.resolvedAnnotationsWithClassIds(containerSymbol) - FirResolvePhase.ANNOTATIONS_ARGUMENTS_MAPPING -> annotations.resolvedAnnotationsWithArguments(containerSymbol) + FirResolvePhase.TYPES -> resolveAnnotationsWithClassIds(containerSymbol) + FirResolvePhase.ANNOTATIONS_ARGUMENTS_MAPPING -> annotations.resolveAnnotationsWithArguments(containerSymbol) else -> {} } } diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirSymbolInfoProvider.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirSymbolInfoProvider.kt index b01844fe05b..f2355a8e145 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirSymbolInfoProvider.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirSymbolInfoProvider.kt @@ -33,7 +33,7 @@ internal class KtFirSymbolInfoProvider( private val apiVersion = analysisSession.useSiteSession.languageVersionSettings.apiVersion override fun getDeprecation(symbol: KtSymbol): DeprecationInfo? { - if (symbol is KtFirBackingFieldSymbol || symbol is KtFirPackageSymbol || symbol is KtReceiverParameterSymbol) return null + if (symbol is KtFirPackageSymbol || symbol is KtReceiverParameterSymbol) return null require(symbol is KtFirSymbol<*>) { "${this::class}" } // Optimization: Avoid building `firSymbol` of `KtFirPsiJavaClassSymbol` if it definitely isn't deprecated. @@ -44,6 +44,7 @@ internal class KtFirSymbolInfoProvider( return when (val firSymbol = symbol.firSymbol) { is FirPropertySymbol -> { firSymbol.getDeprecationForCallSite(apiVersion, AnnotationUseSiteTarget.PROPERTY) + ?: firSymbol.backingFieldSymbol?.getDeprecationForCallSite(apiVersion, AnnotationUseSiteTarget.FIELD) } else -> { firSymbol.getDeprecationForCallSite(apiVersion) @@ -115,7 +116,9 @@ internal class KtFirSymbolInfoProvider( } private fun getJvmName(property: FirProperty, isSetter: Boolean): Name { - if (property.hasAnnotation(StandardClassIds.Annotations.JvmField, analysisSession.useSiteSession)) return property.name + if (property.backingField?.symbol?.hasAnnotation(StandardClassIds.Annotations.JvmField, analysisSession.useSiteSession) == true) { + return property.name + } return Name.identifier(getJvmNameAsString(property, isSetter)) } diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirKotlinPropertySymbol.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirKotlinPropertySymbol.kt index da0166f1edd..6d16225de34 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirKotlinPropertySymbol.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirKotlinPropertySymbol.kt @@ -11,12 +11,10 @@ import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.KtInitializerValue import org.jetbrains.kotlin.analysis.api.base.KtContextReceiver import org.jetbrains.kotlin.analysis.api.fir.KtFirAnalysisSession -import org.jetbrains.kotlin.analysis.api.fir.KtSymbolByFirBuilder import org.jetbrains.kotlin.analysis.api.fir.annotations.KtFirAnnotationListForDeclaration import org.jetbrains.kotlin.analysis.api.fir.findPsi import org.jetbrains.kotlin.analysis.api.fir.symbols.pointers.* import org.jetbrains.kotlin.analysis.api.fir.utils.cached -import org.jetbrains.kotlin.analysis.api.lifetime.KtLifetimeToken import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion import org.jetbrains.kotlin.analysis.api.symbols.* import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolKind @@ -24,7 +22,6 @@ import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtPsiBasedSymbolPointe import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer import org.jetbrains.kotlin.analysis.api.symbols.pointers.UnsupportedSymbolKind import org.jetbrains.kotlin.analysis.api.types.KtType -import org.jetbrains.kotlin.analysis.low.level.api.fir.api.LLFirResolveSession import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Visibility import org.jetbrains.kotlin.fir.containingClassLookupTag @@ -97,6 +94,10 @@ internal class KtFirKotlinPropertySymbol( get() = withValidityAssertion { firSymbol.setterSymbol?.let { builder.callableBuilder.buildPropertyAccessorSymbol(it) } as? KtPropertySetterSymbol } + override val backingFieldSymbol: KtBackingFieldSymbol? + get() = withValidityAssertion { + firSymbol.backingFieldSymbol?.let { builder.callableBuilder.buildBackingFieldSymbol(it) } + } // NB: `field` in accessors indicates the property should have a backing field. To see that, though, we need BODY_RESOLVE. override val hasBackingField: Boolean diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirSyntheticJavaPropertySymbol.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirSyntheticJavaPropertySymbol.kt index d1f33153288..34d5bc3c9d3 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirSyntheticJavaPropertySymbol.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirSyntheticJavaPropertySymbol.kt @@ -84,6 +84,9 @@ internal class KtFirSyntheticJavaPropertySymbol( firSymbol.setterSymbol?.let { builder.callableBuilder.buildPropertyAccessorSymbol(it) } as? KtPropertySetterSymbol } + override val backingFieldSymbol: KtBackingFieldSymbol? + get() = null + override val isFromPrimaryConstructor: Boolean get() = withValidityAssertion { false } override val isOverride: Boolean get() = withValidityAssertion { firSymbol.isOverride } override val isStatic: Boolean get() = withValidityAssertion { firSymbol.isStatic } diff --git a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/renderer/declarations/ktRendererUtils.kt b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/renderer/declarations/ktRendererUtils.kt index 22c27ccfe50..7c8470e5936 100644 --- a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/renderer/declarations/ktRendererUtils.kt +++ b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/renderer/declarations/ktRendererUtils.kt @@ -9,6 +9,7 @@ import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotated import org.jetbrains.kotlin.analysis.api.base.KtContextReceiversOwner import org.jetbrains.kotlin.analysis.api.symbols.KtDeclarationSymbol +import org.jetbrains.kotlin.analysis.api.symbols.KtPropertySymbol import org.jetbrains.kotlin.analysis.utils.printer.PrettyPrinter import org.jetbrains.kotlin.lexer.KtKeywordToken @@ -30,14 +31,20 @@ public fun renderAnnotationsModifiersAndContextReceivers( renderContextReceivers(symbol, printer) val annotationsRendered: Boolean + val fieldAnnotationsRendered: Boolean val modifiersRendered: Boolean codeStyle.getSeparatorBetweenAnnotationAndOwner(symbol).separated( { annotationsRendered = checkIfPrinted { annotationRenderer.renderAnnotations(symbol, printer) } }, + { + fieldAnnotationsRendered = checkIfPrinted { + if (symbol is KtPropertySymbol) symbol.backingFieldSymbol?.let { annotationRenderer.renderAnnotations(it, printer) } + } + }, { modifiersRendered = checkIfPrinted { modifiersRenderer.renderDeclarationModifiers(symbol, printer) } } ) val separator = when { - annotationsRendered && !modifiersRendered -> codeStyle.getSeparatorBetweenAnnotationAndOwner(symbol) - annotationsRendered || modifiersRendered -> codeStyle.getSeparatorBetweenModifiers() + (annotationsRendered || fieldAnnotationsRendered) && !modifiersRendered -> codeStyle.getSeparatorBetweenAnnotationAndOwner(symbol) + annotationsRendered || fieldAnnotationsRendered || modifiersRendered -> codeStyle.getSeparatorBetweenModifiers() else -> "" } @@ -54,6 +61,7 @@ public fun renderAnnotationsModifiersAndContextReceivers( renderContextReceivers(symbol, printer) codeStyle.getSeparatorBetweenAnnotationAndOwner(symbol).separated( { annotationRenderer.renderAnnotations(symbol, printer) }, + { if (symbol is KtPropertySymbol) symbol.backingFieldSymbol?.let { annotationRenderer.renderAnnotations(it, printer) } }, { modifiersRenderer.renderDeclarationModifiers(symbol, printer) } ) } diff --git a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/DebugSymbolRenderer.kt b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/DebugSymbolRenderer.kt index 081ba5f79db..0d30860e525 100644 --- a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/DebugSymbolRenderer.kt +++ b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/DebugSymbolRenderer.kt @@ -187,6 +187,13 @@ public class DebugSymbolRenderer( else -> error("Unsupported symbol ${symbol::class.java.name}") } append(")") + if (symbol is KtBackingFieldSymbol && symbol.annotationsList.annotations.isNotEmpty()) { + appendLine() + withIndent { + append("annotationsList: ") + renderAnnotationsList(symbol.annotationsList) + } + } } context(KtAnalysisSession) diff --git a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/KtVariableLikeSymbol.kt b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/KtVariableLikeSymbol.kt index 4f2c96adb95..4537d2e70b2 100644 --- a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/KtVariableLikeSymbol.kt +++ b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/KtVariableLikeSymbol.kt @@ -52,7 +52,7 @@ public abstract class KtBackingFieldSymbol : KtVariableLikeSymbol() { get() = withValidityAssertion { emptyList() } context(KtAnalysisSession) - abstract override fun createPointer(): KtSymbolPointer + abstract override fun createPointer(): KtSymbolPointer public companion object { private val fieldName = StandardNames.BACKING_FIELD @@ -114,6 +114,7 @@ public sealed class KtPropertySymbol : KtVariableSymbol(), public abstract val getter: KtPropertyGetterSymbol? public abstract val setter: KtPropertySetterSymbol? + public abstract val backingFieldSymbol: KtBackingFieldSymbol? public abstract val hasBackingField: Boolean diff --git a/analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty_javaAnnotation_targets.descriptors.txt b/analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty_javaAnnotation_targets.descriptors.txt deleted file mode 100644 index f7c614f7708..00000000000 --- a/analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty_javaAnnotation_targets.descriptors.txt +++ /dev/null @@ -1,3 +0,0 @@ -KtDeclaration: KtProperty foo -annotations: [ -] diff --git a/analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty_javaAnnotation_targets.txt b/analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty_javaAnnotation_targets.txt index 1f763d6be33..f7c614f7708 100644 --- a/analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty_javaAnnotation_targets.txt +++ b/analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty_javaAnnotation_targets.txt @@ -1,5 +1,3 @@ KtDeclaration: KtProperty foo annotations: [ - JavaAnno(types = java.lang.annotation.ElementType.FIELD) - psi: KtAnnotationEntry ] diff --git a/analysis/analysis-api/testData/annotations/metaAnnotations/onProperty_javaAnnotation_varargParameter.descriptors.txt b/analysis/analysis-api/testData/annotations/metaAnnotations/onProperty_javaAnnotation_varargParameter.descriptors.txt deleted file mode 100644 index f7c614f7708..00000000000 --- a/analysis/analysis-api/testData/annotations/metaAnnotations/onProperty_javaAnnotation_varargParameter.descriptors.txt +++ /dev/null @@ -1,3 +0,0 @@ -KtDeclaration: KtProperty foo -annotations: [ -] diff --git a/analysis/analysis-api/testData/annotations/metaAnnotations/onProperty_javaAnnotation_varargParameter.txt b/analysis/analysis-api/testData/annotations/metaAnnotations/onProperty_javaAnnotation_varargParameter.txt index 04659bf798c..f7c614f7708 100644 --- a/analysis/analysis-api/testData/annotations/metaAnnotations/onProperty_javaAnnotation_varargParameter.txt +++ b/analysis/analysis-api/testData/annotations/metaAnnotations/onProperty_javaAnnotation_varargParameter.txt @@ -1,21 +1,3 @@ KtDeclaration: KtProperty foo annotations: [ - JavaAnno(value = [java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD]) - psi: KtAnnotationEntry - annotations: [ - kotlin/annotation/Target(allowedTargets = [kotlin.annotation.AnnotationTarget.FIELD, kotlin.annotation.AnnotationTarget.FUNCTION, kotlin.annotation.AnnotationTarget.PROPERTY_GETTER, kotlin.annotation.AnnotationTarget.PROPERTY_SETTER]) - psi: null - annotations: [ - kotlin/annotation/Target(allowedTargets = [kotlin.annotation.AnnotationTarget.ANNOTATION_CLASS]) - psi: null - - kotlin/annotation/MustBeDocumented() - psi: null - annotations: [ - kotlin/annotation/Target(allowedTargets = [kotlin.annotation.AnnotationTarget.ANNOTATION_CLASS]) - psi: null - - ] - ] - ] ] diff --git a/analysis/analysis-api/testData/components/scopeProvider/delegatedMemberScope/propertyWithGetter.descriptors.txt b/analysis/analysis-api/testData/components/scopeProvider/delegatedMemberScope/propertyWithGetter.descriptors.txt index 22845c0c053..1d441ebc668 100644 --- a/analysis/analysis-api/testData/components/scopeProvider/delegatedMemberScope/propertyWithGetter.descriptors.txt +++ b/analysis/analysis-api/testData/components/scopeProvider/delegatedMemberScope/propertyWithGetter.descriptors.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /I.foo contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/components/scopeProvider/delegatedMemberScope/propertyWithGetter.txt b/analysis/analysis-api/testData/components/scopeProvider/delegatedMemberScope/propertyWithGetter.txt index a4e23f93f33..9a984063af8 100644 --- a/analysis/analysis-api/testData/components/scopeProvider/delegatedMemberScope/propertyWithGetter.txt +++ b/analysis/analysis-api/testData/components/scopeProvider/delegatedMemberScope/propertyWithGetter.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: null callableIdIfNonLocal: /A.foo contextReceivers: [] getter: null diff --git a/analysis/analysis-api/testData/components/scopeProvider/delegatedMemberScope/simple.descriptors.txt b/analysis/analysis-api/testData/components/scopeProvider/delegatedMemberScope/simple.descriptors.txt index e5b3ac39636..d66fcb70d13 100644 --- a/analysis/analysis-api/testData/components/scopeProvider/delegatedMemberScope/simple.descriptors.txt +++ b/analysis/analysis-api/testData/components/scopeProvider/delegatedMemberScope/simple.descriptors.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /I.zoo contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -241,6 +242,7 @@ KtFunctionSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /I.foo contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -307,6 +309,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /I.bar contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -444,6 +447,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /I.doo contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/components/scopeProvider/delegatedMemberScope/simple.txt b/analysis/analysis-api/testData/components/scopeProvider/delegatedMemberScope/simple.txt index 557718ed0ea..61e3cc62706 100644 --- a/analysis/analysis-api/testData/components/scopeProvider/delegatedMemberScope/simple.txt +++ b/analysis/analysis-api/testData/components/scopeProvider/delegatedMemberScope/simple.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: null callableIdIfNonLocal: /A.zoo contextReceivers: [] getter: null @@ -83,6 +84,7 @@ KtFunctionSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: null callableIdIfNonLocal: /A.foo contextReceivers: [] getter: null @@ -166,6 +168,7 @@ KtFunctionSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: null callableIdIfNonLocal: /A.bar contextReceivers: [] getter: null @@ -206,6 +209,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: null callableIdIfNonLocal: /A.doo contextReceivers: [] getter: null diff --git a/analysis/analysis-api/testData/components/scopeProvider/fileScopeTest/fileScope.descriptors.txt b/analysis/analysis-api/testData/components/scopeProvider/fileScopeTest/fileScope.descriptors.txt index a9dc71c9d96..069d9a583e2 100644 --- a/analysis/analysis-api/testData/components/scopeProvider/fileScopeTest/fileScope.descriptors.txt +++ b/analysis/analysis-api/testData/components/scopeProvider/fileScopeTest/fileScope.descriptors.txt @@ -97,6 +97,7 @@ KtFunctionSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /testVal contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -155,6 +156,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /initializedVariable contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -280,6 +282,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /unitializedVariable contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -405,6 +408,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /lateinitVariable contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -530,6 +534,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /variableWithBackingField contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -655,6 +660,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /privateSetter contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -783,6 +789,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /jvmNameOnSetter contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -911,6 +918,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /customGetter contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -972,6 +980,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /jvmNameOnGetter contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -1033,6 +1042,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /propertyWithReceiver contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -1109,6 +1119,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /propertyWithGenericReceiver contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -1185,6 +1196,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /constant contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -1243,6 +1255,11 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) + annotationsList: [ + kotlin/jvm/JvmField() + psi: KtAnnotationEntry + ] callableIdIfNonLocal: /jvmField contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/components/scopeProvider/fileScopeTest/fileScope.txt b/analysis/analysis-api/testData/components/scopeProvider/fileScopeTest/fileScope.txt index 90740bff715..4c7c61e4bd8 100644 --- a/analysis/analysis-api/testData/components/scopeProvider/fileScopeTest/fileScope.txt +++ b/analysis/analysis-api/testData/components/scopeProvider/fileScopeTest/fileScope.txt @@ -97,6 +97,7 @@ KtFunctionSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /testVal contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -155,6 +156,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /initializedVariable contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -280,6 +282,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /unitializedVariable contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -405,6 +408,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /lateinitVariable contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -530,6 +534,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /variableWithBackingField contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -655,6 +660,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /privateSetter contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -783,6 +789,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /jvmNameOnSetter contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -911,6 +918,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /customGetter contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -972,6 +980,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /jvmNameOnGetter contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -1033,6 +1042,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /propertyWithReceiver contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -1109,6 +1119,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /propertyWithGenericReceiver contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -1185,6 +1196,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /constant contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -1242,10 +1254,12 @@ KtKotlinPropertySymbol: setterDeprecationStatus: null KtKotlinPropertySymbol: - annotationsList: [ - kotlin/jvm/JvmField() - psi: KtAnnotationEntry - ] + annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) + annotationsList: [ + kotlin/jvm/JvmField() + psi: KtAnnotationEntry + ] callableIdIfNonLocal: /jvmField contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/components/scopeProvider/fileScopeTest/simpleFileScope.txt b/analysis/analysis-api/testData/components/scopeProvider/fileScopeTest/simpleFileScope.txt index ac0eb5f0e2f..b9e17ff1f39 100644 --- a/analysis/analysis-api/testData/components/scopeProvider/fileScopeTest/simpleFileScope.txt +++ b/analysis/analysis-api/testData/components/scopeProvider/fileScopeTest/simpleFileScope.txt @@ -41,6 +41,7 @@ KtFunctionSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /testVal contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/components/scopeProvider/memberScopeByFqName/MutableList.txt b/analysis/analysis-api/testData/components/scopeProvider/memberScopeByFqName/MutableList.txt index 6a96f6e514b..58522ed80ac 100644 --- a/analysis/analysis-api/testData/components/scopeProvider/memberScopeByFqName/MutableList.txt +++ b/analysis/analysis-api/testData/components/scopeProvider/memberScopeByFqName/MutableList.txt @@ -1242,6 +1242,7 @@ KtFunctionSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: kotlin/collections/List.size contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/components/scopeProvider/memberScopeByFqName/dataClass.txt b/analysis/analysis-api/testData/components/scopeProvider/memberScopeByFqName/dataClass.txt index f9a43007bdc..744590ffb66 100644 --- a/analysis/analysis-api/testData/components/scopeProvider/memberScopeByFqName/dataClass.txt +++ b/analysis/analysis-api/testData/components/scopeProvider/memberScopeByFqName/dataClass.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Abc.firstProperty contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -66,6 +67,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Abc.secondProperty contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -132,6 +134,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Abc.thirdProperty contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -232,6 +235,7 @@ KtFunctionSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Abc.bodyProperty contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -661,6 +665,7 @@ KtConstructorSymbol: contextReceivers: [] generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Abc.firstProperty contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -747,6 +752,7 @@ KtConstructorSymbol: contextReceivers: [] generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Abc.secondProperty contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -833,6 +839,7 @@ KtConstructorSymbol: contextReceivers: [] generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Abc.thirdProperty contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/components/scopeProvider/memberScopeByFqName/enumEntry.txt b/analysis/analysis-api/testData/components/scopeProvider/memberScopeByFqName/enumEntry.txt index 490273f66e4..9de25c4c7ce 100644 --- a/analysis/analysis-api/testData/components/scopeProvider/memberScopeByFqName/enumEntry.txt +++ b/analysis/analysis-api/testData/components/scopeProvider/memberScopeByFqName/enumEntry.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: null contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -301,6 +302,7 @@ KtKotlinPropertySymbol: kotlin/internal/IntrinsicConstEvaluation() psi: null ] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: kotlin/Enum.name contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -375,6 +377,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: kotlin/Enum.ordinal contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/components/scopeProvider/memberScopeByFqName/java.lang.String.txt b/analysis/analysis-api/testData/components/scopeProvider/memberScopeByFqName/java.lang.String.txt index 447ec06f682..b58bfd7588c 100644 --- a/analysis/analysis-api/testData/components/scopeProvider/memberScopeByFqName/java.lang.String.txt +++ b/analysis/analysis-api/testData/components/scopeProvider/memberScopeByFqName/java.lang.String.txt @@ -108,6 +108,7 @@ KtJavaFieldSymbol: KtSyntheticJavaPropertySymbol: annotationsList: [] + backingFieldSymbol: null callableIdIfNonLocal: java/lang/String.length contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/components/scopeProvider/scopeContextForPosition/enumEntry.txt b/analysis/analysis-api/testData/components/scopeProvider/scopeContextForPosition/enumEntry.txt index 9c50c587cce..229002fdead 100644 --- a/analysis/analysis-api/testData/components/scopeProvider/scopeContextForPosition/enumEntry.txt +++ b/analysis/analysis-api/testData/components/scopeProvider/scopeContextForPosition/enumEntry.txt @@ -45,6 +45,7 @@ scopes: callables: 9 KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: null contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -301,6 +302,7 @@ scopes: kotlin/internal/IntrinsicConstEvaluation() psi: null ] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: kotlin/Enum.name contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -350,6 +352,7 @@ scopes: visibility: Public KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: kotlin/Enum.ordinal contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -498,6 +501,7 @@ scopes: visibility: Public KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: null callableIdIfNonLocal: /E.entries contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/components/scopeProvider/scopeContextForPosition/localTypeScope.txt b/analysis/analysis-api/testData/components/scopeProvider/scopeContextForPosition/localTypeScope.txt index 94241136c5f..b4fea21022e 100644 --- a/analysis/analysis-api/testData/components/scopeProvider/scopeContextForPosition/localTypeScope.txt +++ b/analysis/analysis-api/testData/components/scopeProvider/scopeContextForPosition/localTypeScope.txt @@ -33,6 +33,7 @@ scopes: callables: 5 KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: null contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/components/scopeProvider/typeScope/innerClassTypeParamsSubstitution.txt b/analysis/analysis-api/testData/components/scopeProvider/typeScope/innerClassTypeParamsSubstitution.txt index 2364094ff3e..9b639c22ea1 100644 --- a/analysis/analysis-api/testData/components/scopeProvider/typeScope/innerClassTypeParamsSubstitution.txt +++ b/analysis/analysis-api/testData/components/scopeProvider/typeScope/innerClassTypeParamsSubstitution.txt @@ -146,6 +146,7 @@ KtFunctionSymbol: visibility: Public KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Outer.A.map contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/components/scopeProvider/typeScope/intList.txt b/analysis/analysis-api/testData/components/scopeProvider/typeScope/intList.txt index fe4e7096653..5fae92dfe59 100644 --- a/analysis/analysis-api/testData/components/scopeProvider/typeScope/intList.txt +++ b/analysis/analysis-api/testData/components/scopeProvider/typeScope/intList.txt @@ -606,6 +606,7 @@ KtFunctionSymbol: visibility: Public KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: kotlin/collections/List.size contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/components/scopeProvider/typeScope/outerClassTypeParamsSubstitution.txt b/analysis/analysis-api/testData/components/scopeProvider/typeScope/outerClassTypeParamsSubstitution.txt index 75a82f276b1..32e1a24ee63 100644 --- a/analysis/analysis-api/testData/components/scopeProvider/typeScope/outerClassTypeParamsSubstitution.txt +++ b/analysis/analysis-api/testData/components/scopeProvider/typeScope/outerClassTypeParamsSubstitution.txt @@ -140,6 +140,7 @@ KtFunctionSymbol: visibility: Public KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Outer.A.map contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/components/scopeProvider/typeScope/outerTypeParamsSubstitution.txt b/analysis/analysis-api/testData/components/scopeProvider/typeScope/outerTypeParamsSubstitution.txt index 6824bdcdf86..16a0b30d162 100644 --- a/analysis/analysis-api/testData/components/scopeProvider/typeScope/outerTypeParamsSubstitution.txt +++ b/analysis/analysis-api/testData/components/scopeProvider/typeScope/outerTypeParamsSubstitution.txt @@ -132,6 +132,7 @@ KtFunctionSymbol: visibility: Public KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /A.map contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/components/scopeProvider/typeScope/typeParamList.txt b/analysis/analysis-api/testData/components/scopeProvider/typeScope/typeParamList.txt index ba6cf45254a..1eb905c1443 100644 --- a/analysis/analysis-api/testData/components/scopeProvider/typeScope/typeParamList.txt +++ b/analysis/analysis-api/testData/components/scopeProvider/typeScope/typeParamList.txt @@ -606,6 +606,7 @@ KtFunctionSymbol: visibility: Public KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: kotlin/collections/List.size contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotations.descriptors.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotations.descriptors.pretty.txt deleted file mode 100644 index 4dc1184c8c4..00000000000 --- a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotations.descriptors.pretty.txt +++ /dev/null @@ -1,6 +0,0 @@ -@PropertyAnnotation -var prop: kotlin.Int - @GetAnnotation - get() - @SetAnnotation - set(@SetparamAnnotation value: kotlin.Int) \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotations.descriptors.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotations.descriptors.txt index 9f9a9e98c16..343ed6ef62c 100644 --- a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotations.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotations.descriptors.txt @@ -3,6 +3,11 @@ KtKotlinPropertySymbol: PropertyAnnotation() psi: KtAnnotationEntry ] + backingFieldSymbol: KtBackingFieldSymbol(/field) + annotationsList: [ + FieldAnnotation() + psi: KtAnnotationEntry + ] callableIdIfNonLocal: /prop contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotations.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotations.pretty.txt index a036d6b2734..3bd4c668a96 100644 --- a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotations.pretty.txt +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotations.pretty.txt @@ -1,5 +1,5 @@ @PropertyAnnotation -@field:FieldAnnotation +@FieldAnnotation var prop: kotlin.Int @GetAnnotation get() diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotations.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotations.txt index c32fe7aaaec..4c564311047 100644 --- a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotations.txt +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotations.txt @@ -2,9 +2,12 @@ KtKotlinPropertySymbol: annotationsList: [ PropertyAnnotation() psi: KtAnnotationEntry - FieldAnnotation() - psi: KtAnnotationEntry ] + backingFieldSymbol: KtBackingFieldSymbol(/field) + annotationsList: [ + FieldAnnotation() + psi: KtAnnotationEntry + ] callableIdIfNonLocal: /prop contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotationsAndAccessors.descriptors.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotationsAndAccessors.descriptors.pretty.txt index 6eff8943ddd..11de3268365 100644 --- a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotationsAndAccessors.descriptors.pretty.txt +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotationsAndAccessors.descriptors.pretty.txt @@ -1,4 +1,5 @@ @PropertyAnnotation +@FieldAnnotation var x: kotlin.Int @GetAnnotation @ExplicitGetAnnotation diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotationsAndAccessors.descriptors.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotationsAndAccessors.descriptors.txt index a4b2a93831c..37069afb0b2 100644 --- a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotationsAndAccessors.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotationsAndAccessors.descriptors.txt @@ -3,6 +3,11 @@ KtKotlinPropertySymbol: PropertyAnnotation() psi: KtAnnotationEntry ] + backingFieldSymbol: KtBackingFieldSymbol(/field) + annotationsList: [ + FieldAnnotation() + psi: KtAnnotationEntry + ] callableIdIfNonLocal: /x contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotationsAndAccessors.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotationsAndAccessors.pretty.txt index 76f2af1b5e0..34307d36543 100644 --- a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotationsAndAccessors.pretty.txt +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotationsAndAccessors.pretty.txt @@ -1,5 +1,5 @@ @PropertyAnnotation -@field:FieldAnnotation +@FieldAnnotation var x: kotlin.Int @ExplicitGetAnnotation @GetAnnotation diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotationsAndAccessors.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotationsAndAccessors.txt index 96a290a2e37..de43bf2c8da 100644 --- a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotationsAndAccessors.txt +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithAnnotationsAndAccessors.txt @@ -2,9 +2,12 @@ KtKotlinPropertySymbol: annotationsList: [ PropertyAnnotation() psi: KtAnnotationEntry - FieldAnnotation() - psi: KtAnnotationEntry ] + backingFieldSymbol: KtBackingFieldSymbol(/field) + annotationsList: [ + FieldAnnotation() + psi: KtAnnotationEntry + ] callableIdIfNonLocal: /x contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithDelegateAndAnnotations.descriptors.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithDelegateAndAnnotations.descriptors.txt index 6e20516682d..4773b6dcf27 100644 --- a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithDelegateAndAnnotations.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithDelegateAndAnnotations.descriptors.txt @@ -5,6 +5,7 @@ KtKotlinPropertySymbol: ExplicitPropertyAnnotation() psi: KtAnnotationEntry ] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /lazyProperty contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithDelegateAndAnnotations.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithDelegateAndAnnotations.pretty.txt index 30a2f85bd98..c62841ac8be 100644 --- a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithDelegateAndAnnotations.pretty.txt +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithDelegateAndAnnotations.pretty.txt @@ -1,5 +1,5 @@ @ExplicitPropertyAnnotation -@delegate:DelegateAnnotation @PropertyAnnotation +@delegate:DelegateAnnotation val lazyProperty: kotlin.Int get() \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithDelegateAndAnnotations.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithDelegateAndAnnotations.txt index 1e06924b61e..2ea6b323a7d 100644 --- a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithDelegateAndAnnotations.txt +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithDelegateAndAnnotations.txt @@ -2,11 +2,14 @@ KtKotlinPropertySymbol: annotationsList: [ ExplicitPropertyAnnotation() psi: KtAnnotationEntry - DelegateAnnotation() - psi: KtAnnotationEntry PropertyAnnotation() psi: KtAnnotationEntry ] + backingFieldSymbol: KtBackingFieldSymbol(/field) + annotationsList: [ + DelegateAnnotation() + psi: KtAnnotationEntry + ] callableIdIfNonLocal: /lazyProperty contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithReceiverAnnotation.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithReceiverAnnotation.txt index f96762afbc4..2c3bc2cc6eb 100644 --- a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithReceiverAnnotation.txt +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/propertyWithReceiverAnnotation.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /prop contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.descriptors.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.descriptors.txt index cf4490f1908..73c7cfa8f11 100644 --- a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.descriptors.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /foo contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.txt index 05835207a9c..9bbcdeb0ab6 100644 --- a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.txt +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /foo contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.descriptors.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.descriptors.txt index bae6829a8a8..3fff6139b3f 100644 --- a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.descriptors.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /foo contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.txt index e0033962b0c..11468e4ac9b 100644 --- a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.txt +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /foo contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/annotations.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/annotations.descriptors.txt index a58539221a3..c20f17791a5 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/annotations.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/annotations.descriptors.txt @@ -21,6 +21,7 @@ KtConstructorSymbol: contextReceivers: [] generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Anno.param1 contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -107,6 +108,7 @@ KtConstructorSymbol: contextReceivers: [] generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Anno.param2 contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/annotations.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/annotations.txt index 3bc89688cf9..a82ee9f36cb 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/annotations.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/annotations.txt @@ -21,6 +21,7 @@ KtConstructorSymbol: contextReceivers: [] generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Anno.param1 contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -107,6 +108,7 @@ KtConstructorSymbol: contextReceivers: [] generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Anno.param2 contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/anonymousObject.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/anonymousObject.descriptors.txt index 464014f49d5..a4839c4aaf4 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/anonymousObject.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/anonymousObject.descriptors.txt @@ -34,6 +34,7 @@ KtFunctionSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: null contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -118,6 +119,7 @@ KtAnonymousObjectSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /AnonymousContainer.anonymousObject contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/anonymousObject.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/anonymousObject.txt index 73953dc464b..2f15ad08093 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/anonymousObject.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/anonymousObject.txt @@ -34,6 +34,7 @@ KtFunctionSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: null contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -118,6 +119,7 @@ KtAnonymousObjectSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /AnonymousContainer.anonymousObject contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/backingField.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/backingField.txt index 46273b41549..416869e2394 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/backingField.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/backingField.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /p contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/classInitializer.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/classInitializer.txt index d40a2ac60b2..b101e66232f 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/classInitializer.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/classInitializer.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /A.i contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/classMembes.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/classMembes.txt index 63d3fd9073a..647daf063b3 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/classMembes.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/classMembes.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /A.a contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/classPrimaryConstructor.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/classPrimaryConstructor.descriptors.txt index 98ca7252872..96ea47a0110 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/classPrimaryConstructor.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/classPrimaryConstructor.descriptors.txt @@ -21,6 +21,7 @@ KtConstructorSymbol: contextReceivers: [] generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /A.a contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/classPrimaryConstructor.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/classPrimaryConstructor.txt index a161ffc4c8a..7d81a19c68f 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/classPrimaryConstructor.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/classPrimaryConstructor.txt @@ -21,6 +21,7 @@ KtConstructorSymbol: contextReceivers: [] generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /A.a contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/contextReceivers/contextReceiversOnProperty.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/contextReceivers/contextReceiversOnProperty.txt index 4c07a5a8b1d..08eb281c768 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/contextReceivers/contextReceiversOnProperty.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/contextReceivers/contextReceiversOnProperty.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /y contextReceivers: [ KtContextReceiver: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/delegateField.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/delegateField.descriptors.txt index 1926fb6180f..55f5f35643f 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/delegateField.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/delegateField.descriptors.txt @@ -21,6 +21,7 @@ KtConstructorSymbol: contextReceivers: [] generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /MyColor.x contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -107,6 +108,7 @@ KtConstructorSymbol: contextReceivers: [] generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /MyColor.y contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -193,6 +195,7 @@ KtConstructorSymbol: contextReceivers: [] generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /MyColor.z contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -325,6 +328,7 @@ KtAnonymousFunctionSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Some.delegate contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -409,6 +413,7 @@ KtAnonymousFunctionSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Some.lambda contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -485,6 +490,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Some.nonLazy contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/delegateField.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/delegateField.txt index 4c1623bf27d..74daa175e78 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/delegateField.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/delegateField.txt @@ -21,6 +21,7 @@ KtConstructorSymbol: contextReceivers: [] generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /MyColor.x contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -107,6 +108,7 @@ KtConstructorSymbol: contextReceivers: [] generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /MyColor.y contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -193,6 +195,7 @@ KtConstructorSymbol: contextReceivers: [] generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /MyColor.z contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -325,6 +328,7 @@ KtAnonymousFunctionSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Some.delegate contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -405,6 +409,7 @@ KtAnonymousFunctionSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Some.lambda contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -481,6 +486,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Some.nonLazy contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/delegatedProp.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/delegatedProp.descriptors.txt index 26f79598414..2251bdf03f0 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/delegatedProp.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/delegatedProp.descriptors.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /delegatedProp contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/delegatedProp.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/delegatedProp.txt index ebc4c83e92b..20e65620b85 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/delegatedProp.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/delegatedProp.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /delegatedProp contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.descriptors.pretty.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.descriptors.pretty.txt deleted file mode 100644 index 4c3526245df..00000000000 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.descriptors.pretty.txt +++ /dev/null @@ -1,38 +0,0 @@ -@kotlin.Deprecated(message = "don't use i") -val i: kotlin.Int - -val i2: kotlin.Int - @kotlin.Deprecated(message = "don't use getter of i2") - get() - -var i3: kotlin.Int - @kotlin.Deprecated(message = "don't use getter of i3") - set(value: kotlin.Int) - -var i4: kotlin.Int - @kotlin.Deprecated(message = "don't use getter of i4") - get() - @kotlin.Deprecated(message = "don't use setter of i4") - set(value: kotlin.Int) - -@kotlin.Deprecated(message = "don't use f") -fun f(): kotlin.Int - -@kotlin.Deprecated(message = "don't use j", level = kotlin.DeprecationLevel.ERROR) -val j: kotlin.Int - -@kotlin.Deprecated(message = "don't use j2", level = kotlin.DeprecationLevel.HIDDEN) -val j2: kotlin.Int - -val j2: kotlin.Int - -@kotlin.Deprecated(message = "don't use MyClass") -class MyClass - -class Foo { - @kotlin.Deprecated(message = "don't use i2") - val i2: kotlin.Int - - @kotlin.Deprecated(message = "don't use f2") - fun f2(): kotlin.Int -} \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.descriptors.txt index c8a2e5b0c18..937701fbe49 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.descriptors.txt @@ -3,6 +3,7 @@ KtKotlinPropertySymbol: kotlin/Deprecated(message = "don't use i") psi: KtAnnotationEntry ] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /i contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -61,6 +62,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /i2 contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -122,6 +124,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /i3 contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -251,6 +254,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /i4 contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -449,6 +453,7 @@ KtKotlinPropertySymbol: kotlin/Deprecated(message = "don't use i2") psi: KtAnnotationEntry ] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Foo.i2 contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -582,6 +587,7 @@ KtKotlinPropertySymbol: kotlin/Deprecated(level = kotlin.DeprecationLevel.ERROR, message = "don't use j") psi: KtAnnotationEntry ] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /j contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -643,6 +649,7 @@ KtKotlinPropertySymbol: kotlin/Deprecated(level = kotlin.DeprecationLevel.HIDDEN, message = "don't use j2") psi: KtAnnotationEntry ] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /j2 contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -701,7 +708,12 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] - callableIdIfNonLocal: /j2 + backingFieldSymbol: KtBackingFieldSymbol(/field) + annotationsList: [ + java/lang/Deprecated() + psi: KtAnnotationEntry + ] + callableIdIfNonLocal: /j3 contextReceivers: [] getter: KtPropertyGetterSymbol: annotationsList: [] @@ -739,7 +751,7 @@ KtKotlinPropertySymbol: isStatic: false isVal: true modality: FINAL - name: j2 + name: j3 origin: SOURCE receiverParameter: null returnType: KtUsualClassType: @@ -753,6 +765,6 @@ KtKotlinPropertySymbol: getContainingModule: KtSourceModule "Sources of main" deprecationStatus: DeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=false, message=null) getterDeprecationStatus: DeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=false, message=null) - javaGetterName: getJ2 + javaGetterName: getJ3 javaSetterName: null setterDeprecationStatus: DeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=false, message=null) \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.kt b/analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.kt index a603aa899a8..61904ee022f 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.kt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.kt @@ -1,4 +1,4 @@ -// DO_NOT_CHECK_NON_PSI_SYMBOL_RESTORE +// DO_NOT_CHECK_NON_PSI_SYMBOL_RESTORE_K1 // WITH_STDLIB @Deprecated("don't use i") @@ -35,4 +35,4 @@ val j: Int = 2 val j2: Int = 2 @java.lang.Deprecated -val j2: Int = 2 +val j3: Int = 2 diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.pretty.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.pretty.txt index d1901f422b7..93c30bcfce3 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.pretty.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.pretty.txt @@ -25,7 +25,7 @@ val j: kotlin.Int val j2: kotlin.Int @java.lang.Deprecated -val j2: kotlin.Int +val j3: kotlin.Int @kotlin.Deprecated(message = "don't use MyClass") class MyClass diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.txt index 1445012a0cf..633bfd7bb23 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.txt @@ -3,6 +3,7 @@ KtKotlinPropertySymbol: kotlin/Deprecated(message = "don't use i") psi: KtAnnotationEntry ] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /i contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -61,6 +62,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /i2 contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -122,6 +124,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /i3 contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -250,6 +253,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /i4 contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -447,6 +451,7 @@ KtKotlinPropertySymbol: kotlin/Deprecated(message = "don't use i2") psi: KtAnnotationEntry ] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Foo.i2 contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -580,6 +585,7 @@ KtKotlinPropertySymbol: kotlin/Deprecated(level = kotlin.DeprecationLevel.ERROR, message = "don't use j") psi: KtAnnotationEntry ] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /j contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -641,6 +647,7 @@ KtKotlinPropertySymbol: kotlin/Deprecated(level = kotlin.DeprecationLevel.HIDDEN, message = "don't use j2") psi: KtAnnotationEntry ] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /j2 contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -698,11 +705,13 @@ KtKotlinPropertySymbol: setterDeprecationStatus: DeprecationInfo(deprecationLevel=HIDDEN, propagatesToOverrides=true, message=null) KtKotlinPropertySymbol: - annotationsList: [ - java/lang/Deprecated() - psi: KtAnnotationEntry - ] - callableIdIfNonLocal: /j2 + annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) + annotationsList: [ + java/lang/Deprecated() + psi: KtAnnotationEntry + ] + callableIdIfNonLocal: /j3 contextReceivers: [] getter: KtPropertyGetterSymbol: annotationsList: [] @@ -740,7 +749,7 @@ KtKotlinPropertySymbol: isStatic: false isVal: true modality: FINAL - name: j2 + name: j3 origin: SOURCE receiverParameter: null returnType: KtUsualClassType: @@ -752,8 +761,8 @@ KtKotlinPropertySymbol: typeParameters: [] visibility: Public getContainingModule: KtSourceModule "Sources of main" - deprecationStatus: DeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=false, message=null) - getterDeprecationStatus: DeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=false, message=null) - javaGetterName: getJ2 + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getJ3 javaSetterName: null - setterDeprecationStatus: DeprecationInfo(deprecationLevel=WARNING, propagatesToOverrides=false, message=null) \ No newline at end of file + setterDeprecationStatus: null \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/destructuringDeclaration.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/destructuringDeclaration.descriptors.txt index 331c4374dd4..01ca6f9861c 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/destructuringDeclaration.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/destructuringDeclaration.descriptors.txt @@ -21,6 +21,7 @@ KtConstructorSymbol: contextReceivers: [] generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /P.x contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -107,6 +108,7 @@ KtConstructorSymbol: contextReceivers: [] generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /P.y contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/destructuringDeclaration.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/destructuringDeclaration.txt index 74506991148..3499cf56e91 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/destructuringDeclaration.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/destructuringDeclaration.txt @@ -21,6 +21,7 @@ KtConstructorSymbol: contextReceivers: [] generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /P.x contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -107,6 +108,7 @@ KtConstructorSymbol: contextReceivers: [] generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /P.y contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/dynamic.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/dynamic.txt index 350688d0d21..d91ecdb67f6 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/dynamic.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/dynamic.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Foo.p contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/enumEntryOverride.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/enumEntryOverride.descriptors.txt index 110d9ee8307..0cc38501806 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/enumEntryOverride.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/enumEntryOverride.descriptors.txt @@ -120,6 +120,7 @@ KtFunctionSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: null contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -404,6 +405,7 @@ KtFunctionSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /MyEnumClass.i contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/enumEntryOverride.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/enumEntryOverride.txt index 40898af6dc2..e0b5add06f1 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/enumEntryOverride.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/enumEntryOverride.txt @@ -120,6 +120,7 @@ KtFunctionSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: null contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -400,6 +401,7 @@ KtFunctionSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /MyEnumClass.i contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/enumEntryProperties.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/enumEntryProperties.descriptors.txt index b865b8c659d..cebc4ea4fef 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/enumEntryProperties.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/enumEntryProperties.descriptors.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: null contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -102,6 +103,7 @@ KtEnumEntrySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: null contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -168,6 +170,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: null contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/enumEntryProperties.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/enumEntryProperties.txt index 3c54a1ee751..f9ac0fececf 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/enumEntryProperties.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/enumEntryProperties.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: null contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -102,6 +103,7 @@ KtEnumEntrySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: null contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -168,6 +170,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: null contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/enumValueMember.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/enumValueMember.descriptors.txt index 2e5d08cf07c..9d497c9684e 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/enumValueMember.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/enumValueMember.descriptors.txt @@ -21,6 +21,7 @@ KtConstructorSymbol: contextReceivers: [] generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Style.value contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -108,6 +109,7 @@ KtConstructorSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: null contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -192,6 +194,7 @@ KtEnumEntrySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Style.exitAnimation contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/enumValueMember.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/enumValueMember.txt index 95e604c6184..8a2682022ee 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/enumValueMember.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/enumValueMember.txt @@ -21,6 +21,7 @@ KtConstructorSymbol: contextReceivers: [] generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Style.value contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -108,6 +109,7 @@ KtConstructorSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: null contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -188,6 +190,7 @@ KtEnumEntrySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Style.exitAnimation contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/explicitBackingField.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/explicitBackingField.txt index 46273b41549..416869e2394 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/explicitBackingField.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/explicitBackingField.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /p contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/jvmField.descriptors.pretty.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/jvmField.descriptors.pretty.txt deleted file mode 100644 index 0d2498ad696..00000000000 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/jvmField.descriptors.pretty.txt +++ /dev/null @@ -1,3 +0,0 @@ -var jvmField: kotlin.Long - -var jvmFieldOnField: kotlin.Int \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/jvmField.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/jvmField.descriptors.txt index c3ba6091044..38ae1c17d7c 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/jvmField.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/jvmField.descriptors.txt @@ -1,5 +1,10 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) + annotationsList: [ + kotlin/jvm/JvmField() + psi: KtAnnotationEntry + ] callableIdIfNonLocal: /jvmField contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -126,6 +131,11 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) + annotationsList: [ + kotlin/jvm/JvmField() + psi: KtAnnotationEntry + ] callableIdIfNonLocal: /jvmFieldOnField contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/jvmField.pretty.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/jvmField.pretty.txt index aca1e5c8f0a..a9a1eaa75c6 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/jvmField.pretty.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/jvmField.pretty.txt @@ -1,5 +1,5 @@ @kotlin.jvm.JvmField var jvmField: kotlin.Long -@field:kotlin.jvm.JvmField +@kotlin.jvm.JvmField var jvmFieldOnField: kotlin.Int \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/jvmField.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/jvmField.txt index 173ccbcad91..1b7fa43c9eb 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/jvmField.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/jvmField.txt @@ -1,8 +1,10 @@ KtKotlinPropertySymbol: - annotationsList: [ - kotlin/jvm/JvmField() - psi: KtAnnotationEntry - ] + annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) + annotationsList: [ + kotlin/jvm/JvmField() + psi: KtAnnotationEntry + ] callableIdIfNonLocal: /jvmField contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -127,10 +129,12 @@ KtKotlinPropertySymbol: setterDeprecationStatus: null KtKotlinPropertySymbol: - annotationsList: [ - kotlin/jvm/JvmField() - psi: KtAnnotationEntry - ] + annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) + annotationsList: [ + kotlin/jvm/JvmField() + psi: KtAnnotationEntry + ] callableIdIfNonLocal: /jvmFieldOnField contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/jvmName.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/jvmName.descriptors.txt index 55ea6e8c21a..00a25410a2b 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/jvmName.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/jvmName.descriptors.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Foo.i contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -140,6 +141,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Foo.j contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/jvmName.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/jvmName.txt index bd6dfbc485d..f2f61412d34 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/jvmName.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/jvmName.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Foo.i contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -143,6 +144,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Foo.j contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/memberProperties.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/memberProperties.descriptors.txt index b7f727df1dc..f4f98b15b05 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/memberProperties.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/memberProperties.descriptors.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /A.x contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -66,6 +67,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /A.y contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/memberProperties.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/memberProperties.txt index 650f351bfd3..1075a9dee57 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/memberProperties.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/memberProperties.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /A.x contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -66,6 +67,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /A.y contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/propertiesFromCompanion.descriptors.pretty.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/propertiesFromCompanion.descriptors.pretty.txt deleted file mode 100644 index 57bdd13f94d..00000000000 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/propertiesFromCompanion.descriptors.pretty.txt +++ /dev/null @@ -1,19 +0,0 @@ -class MyClass { - companion object { - val property: kotlin.Int - - const val constProperty: kotlin.Int - - @kotlin.jvm.JvmStatic - val staticProperty: kotlin.Int - - val fieldProperty: kotlin.Int - - var variable: kotlin.Int - - @kotlin.jvm.JvmStatic - var staticVariable: kotlin.Int - - var fieldVariable: kotlin.Int - } -} \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/propertiesFromCompanion.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/propertiesFromCompanion.descriptors.txt index 3b2ae97dc0b..a93f0b9c765 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/propertiesFromCompanion.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/propertiesFromCompanion.descriptors.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /MyClass.Companion.property contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -66,6 +67,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /MyClass.Companion.constProperty contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -135,6 +137,7 @@ KtKotlinPropertySymbol: kotlin/jvm/JvmStatic() psi: KtAnnotationEntry ] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /MyClass.Companion.staticProperty contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -201,6 +204,11 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) + annotationsList: [ + kotlin/jvm/JvmField() + psi: KtAnnotationEntry + ] callableIdIfNonLocal: /MyClass.Companion.fieldProperty contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -267,6 +275,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /MyClass.Companion.variable contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -404,6 +413,7 @@ KtKotlinPropertySymbol: kotlin/jvm/JvmStatic() psi: KtAnnotationEntry ] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /MyClass.Companion.staticVariable contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -538,6 +548,11 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) + annotationsList: [ + kotlin/jvm/JvmField() + psi: KtAnnotationEntry + ] callableIdIfNonLocal: /MyClass.Companion.fieldVariable contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/propertiesFromCompanion.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/propertiesFromCompanion.txt index ea1284d7310..4acaa08e425 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/propertiesFromCompanion.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/propertiesFromCompanion.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /MyClass.Companion.property contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -66,6 +67,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /MyClass.Companion.constProperty contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -135,6 +137,7 @@ KtKotlinPropertySymbol: kotlin/jvm/JvmStatic() psi: KtAnnotationEntry ] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /MyClass.Companion.staticProperty contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -200,10 +203,12 @@ KtKotlinPropertySymbol: setterDeprecationStatus: null KtKotlinPropertySymbol: - annotationsList: [ - kotlin/jvm/JvmField() - psi: KtAnnotationEntry - ] + annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) + annotationsList: [ + kotlin/jvm/JvmField() + psi: KtAnnotationEntry + ] callableIdIfNonLocal: /MyClass.Companion.fieldProperty contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -270,6 +275,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /MyClass.Companion.variable contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -410,6 +416,7 @@ KtKotlinPropertySymbol: kotlin/jvm/JvmStatic() psi: KtAnnotationEntry ] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /MyClass.Companion.staticVariable contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -546,10 +553,12 @@ KtKotlinPropertySymbol: setterDeprecationStatus: null KtKotlinPropertySymbol: - annotationsList: [ - kotlin/jvm/JvmField() - psi: KtAnnotationEntry - ] + annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) + annotationsList: [ + kotlin/jvm/JvmField() + psi: KtAnnotationEntry + ] callableIdIfNonLocal: /MyClass.Companion.fieldVariable contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/topLevelProperties.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/topLevelProperties.txt index bbeab8f231a..95599487ee5 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/topLevelProperties.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/topLevelProperties.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /x contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -58,6 +59,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /y contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -134,6 +136,7 @@ KtKotlinPropertySymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /get contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/typeAnnotations.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/typeAnnotations.descriptors.txt index 44773cce4af..9adb280f143 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/typeAnnotations.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/typeAnnotations.descriptors.txt @@ -141,6 +141,7 @@ KtConstructorSymbol: contextReceivers: [] generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Anno5.s contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -348,6 +349,7 @@ KtFunctionSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /X.x contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/typeAnnotations.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/typeAnnotations.txt index 262825c9f2d..3f00d505e86 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/typeAnnotations.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/typeAnnotations.txt @@ -141,6 +141,7 @@ KtConstructorSymbol: contextReceivers: [] generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /Anno5.s contextReceivers: [] getter: KtPropertyGetterSymbol: @@ -348,6 +349,7 @@ KtFunctionSymbol: KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /X.x contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/accessorField.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByReference/accessorField.descriptors.txt new file mode 100644 index 00000000000..9813142addc --- /dev/null +++ b/analysis/analysis-api/testData/symbols/symbolByReference/accessorField.descriptors.txt @@ -0,0 +1,17 @@ +KtBackingFieldSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + isExtension: false + name: field + origin: PROPERTY_BACKING_FIELD + owningProperty: KtKotlinPropertySymbol(/x) + receiverParameter: null + returnType: KtUsualClassType: + annotationsList: [] + ownTypeArguments: [] + type: kotlin/Int + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/accessorField.txt b/analysis/analysis-api/testData/symbols/symbolByReference/accessorField.txt index 9813142addc..0db4f94f62d 100644 --- a/analysis/analysis-api/testData/symbols/symbolByReference/accessorField.txt +++ b/analysis/analysis-api/testData/symbols/symbolByReference/accessorField.txt @@ -1,5 +1,8 @@ KtBackingFieldSymbol: - annotationsList: [] + annotationsList: [ + FieldAnnotation() + psi: KtAnnotationEntry + ] callableIdIfNonLocal: null contextReceivers: [] isExtension: false diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.descriptors.txt index 2d9b90aadaa..824b0e38d9e 100644 --- a/analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.descriptors.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /MyKotlinEnum.entries contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.txt b/analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.txt index f4cfd724ebb..86818d6e9f6 100644 --- a/analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.txt +++ b/analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: null callableIdIfNonLocal: /MyKotlinEnum.entries contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/javaSyntheticAccessor.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByReference/javaSyntheticAccessor.descriptors.txt index 2e6423be434..334f83dafcc 100644 --- a/analysis/analysis-api/testData/symbols/symbolByReference/javaSyntheticAccessor.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByReference/javaSyntheticAccessor.descriptors.txt @@ -1,5 +1,6 @@ KtSyntheticJavaPropertySymbol: annotationsList: [] + backingFieldSymbol: null callableIdIfNonLocal: /JavaClass.foo contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/javaSyntheticAccessor.txt b/analysis/analysis-api/testData/symbols/symbolByReference/javaSyntheticAccessor.txt index 39ce1e3a262..205eb59c8b9 100644 --- a/analysis/analysis-api/testData/symbols/symbolByReference/javaSyntheticAccessor.txt +++ b/analysis/analysis-api/testData/symbols/symbolByReference/javaSyntheticAccessor.txt @@ -1,5 +1,6 @@ KtSyntheticJavaPropertySymbol: annotationsList: [] + backingFieldSymbol: null callableIdIfNonLocal: /JavaClass.foo contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/primaryConstructorValueParameterAsProperty.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByReference/primaryConstructorValueParameterAsProperty.descriptors.txt index 12ad865ce07..aa82b194a88 100644 --- a/analysis/analysis-api/testData/symbols/symbolByReference/primaryConstructorValueParameterAsProperty.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByReference/primaryConstructorValueParameterAsProperty.descriptors.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /A.abc contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/primaryConstructorValueParameterAsProperty.txt b/analysis/analysis-api/testData/symbols/symbolByReference/primaryConstructorValueParameterAsProperty.txt index 79297c119ff..86c9765ee86 100644 --- a/analysis/analysis-api/testData/symbols/symbolByReference/primaryConstructorValueParameterAsProperty.txt +++ b/analysis/analysis-api/testData/symbols/symbolByReference/primaryConstructorValueParameterAsProperty.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /A.abc contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/propertyReceiverParameter.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByReference/propertyReceiverParameter.descriptors.txt index f96762afbc4..2c3bc2cc6eb 100644 --- a/analysis/analysis-api/testData/symbols/symbolByReference/propertyReceiverParameter.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByReference/propertyReceiverParameter.descriptors.txt @@ -1,5 +1,6 @@ KtKotlinPropertySymbol: annotationsList: [] + backingFieldSymbol: KtBackingFieldSymbol(/field) callableIdIfNonLocal: /prop contextReceivers: [] getter: KtPropertyGetterSymbol: diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/errors/anonymousObjectInInvalidPosition.txt b/analysis/low-level-api-fir/testdata/lazyResolve/errors/anonymousObjectInInvalidPosition.txt index 216339753bf..196afdfab24 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/errors/anonymousObjectInInvalidPosition.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/errors/anonymousObjectInInvalidPosition.txt @@ -110,38 +110,38 @@ FILE: [ResolvedTo(IMPORTS)] anonymousObjectInInvalidPosition.kt IMPLICIT_TYPES_BODY_RESOLVE: FILE: [ResolvedTo(IMPORTS)] anonymousObjectInInvalidPosition.kt [ResolvedTo(RAW_FIR)] annotations container - private final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val resolveMe: = ERROR_EXPR(Should have initializer)Null(null) = object : A { + private final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val resolveMe: = ERROR_EXPR(Should have initializer)Null(null) = object : R|A| { private [ResolvedTo(RAW_FIR)] [ContainingClassKey=] constructor(): R|| { - super<>() + super() } - public? open? override [ResolvedTo(RAW_FIR)] fun x(): R|kotlin/Unit| { + public open override [ResolvedTo(RAW_FIR)] fun x(): R|kotlin/Unit| { } } private [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): - public? final? [ResolvedTo(RAW_FIR)] interface A<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| { - public? final? [ResolvedTo(RAW_FIR)] fun x(): R|kotlin/Unit| + public abstract [ResolvedTo(TYPES)] interface A<[ResolvedTo(TYPES)] T> : R|kotlin/Any| { + public abstract [ResolvedTo(TYPES)] fun x(): R|kotlin/Unit| } ANNOTATIONS_ARGUMENTS_MAPPING: FILE: [ResolvedTo(IMPORTS)] anonymousObjectInInvalidPosition.kt [ResolvedTo(RAW_FIR)] annotations container - private final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] val resolveMe: = ERROR_EXPR(Should have initializer)Null(null) = object : A { + private final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] val resolveMe: = ERROR_EXPR(Should have initializer)Null(null) = object : R|A| { private [ResolvedTo(RAW_FIR)] [ContainingClassKey=] constructor(): R|| { - super<>() + super() } - public? open? override [ResolvedTo(RAW_FIR)] fun x(): R|kotlin/Unit| { + public open override [ResolvedTo(RAW_FIR)] fun x(): R|kotlin/Unit| { } } private [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] get(): - public? final? [ResolvedTo(RAW_FIR)] interface A<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| { - public? final? [ResolvedTo(RAW_FIR)] fun x(): R|kotlin/Unit| + public abstract [ResolvedTo(TYPES)] interface A<[ResolvedTo(TYPES)] T> : R|kotlin/Any| { + public abstract [ResolvedTo(TYPES)] fun x(): R|kotlin/Unit| } diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/parameterOfNonLocalSetter.txt b/analysis/low-level-api-fir/testdata/lazyResolve/parameterOfNonLocalSetter.txt index 470fb41e723..02b30c1bd2a 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/parameterOfNonLocalSetter.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/parameterOfNonLocalSetter.txt @@ -148,7 +148,7 @@ FILE: [ResolvedTo(IMPORTS)] parameterOfNonLocalSetter.kt LAZY_super } - public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] var x: R|kotlin/Int| = IntegerLiteral(2) + public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] var x: R|kotlin/Int| = Int(2) public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [ContainingClassKey=X] get(): R|kotlin/Int| public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [ContainingClassKey=X] set([ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { ^ Unit# @@ -164,7 +164,7 @@ FILE: [ResolvedTo(IMPORTS)] parameterOfNonLocalSetter.kt LAZY_super } - public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] var x: R|kotlin/Int| = IntegerLiteral(2) + public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] var x: R|kotlin/Int| = Int(2) public [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] [ContainingClassKey=X] get(): R|kotlin/Int| public [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] [ContainingClassKey=X] set([ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { ^ Unit# diff --git a/analysis/low-level-api-fir/testdata/lazyResolve/parameterOfTopSetter.txt b/analysis/low-level-api-fir/testdata/lazyResolve/parameterOfTopSetter.txt index d8147f3c85a..993a8837753 100644 --- a/analysis/low-level-api-fir/testdata/lazyResolve/parameterOfTopSetter.txt +++ b/analysis/low-level-api-fir/testdata/lazyResolve/parameterOfTopSetter.txt @@ -73,7 +73,7 @@ FILE: [ResolvedTo(IMPORTS)] parameterOfTopSetter.kt IMPLICIT_TYPES_BODY_RESOLVE: FILE: [ResolvedTo(IMPORTS)] parameterOfTopSetter.kt [ResolvedTo(RAW_FIR)] annotations container - public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] var x: R|kotlin/Int| = IntegerLiteral(2) + public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] var x: R|kotlin/Int| = Int(2) public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/Int| public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] set([ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { ^ Unit# @@ -82,7 +82,7 @@ FILE: [ResolvedTo(IMPORTS)] parameterOfTopSetter.kt ANNOTATIONS_ARGUMENTS_MAPPING: FILE: [ResolvedTo(IMPORTS)] parameterOfTopSetter.kt [ResolvedTo(RAW_FIR)] annotations container - public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] var x: R|kotlin/Int| = IntegerLiteral(2) + public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] var x: R|kotlin/Int| = Int(2) public [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] get(): R|kotlin/Int| public [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] set([ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { ^ Unit# diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/symbolAnnotationsUtils.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/symbolAnnotationsUtils.kt index 77607150d93..42471c8dc3a 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/symbolAnnotationsUtils.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/symbolAnnotationsUtils.kt @@ -12,6 +12,7 @@ import org.jetbrains.kotlin.analysis.api.annotations.* import org.jetbrains.kotlin.analysis.api.annotations.KtKClassAnnotationValue.KtNonLocalKClassAnnotationValue import org.jetbrains.kotlin.analysis.api.components.buildClassType import org.jetbrains.kotlin.analysis.api.symbols.KtFunctionSymbol +import org.jetbrains.kotlin.analysis.api.symbols.KtPropertySymbol import org.jetbrains.kotlin.analysis.api.symbols.markers.KtAnnotatedSymbol import org.jetbrains.kotlin.analysis.api.types.KtNonErrorClassType import org.jetbrains.kotlin.analysis.api.types.KtType @@ -43,7 +44,10 @@ internal fun annotationUseSiteTargetFilterOf( internal fun KtAnnotatedSymbol.hasJvmSyntheticAnnotation( useSiteTargetFilter: AnnotationUseSiteTargetFilter = AnyAnnotationUseSiteTargetFilter, -): Boolean = hasAnnotation(JVM_SYNTHETIC_ANNOTATION_CLASS_ID, useSiteTargetFilter) +): Boolean { + if (this is KtPropertySymbol) return backingFieldSymbol?.hasJvmSyntheticAnnotation(useSiteTargetFilter) == true + return hasAnnotation(JVM_SYNTHETIC_ANNOTATION_CLASS_ID, useSiteTargetFilter) +} internal fun KtAnnotatedSymbol.getJvmNameFromAnnotation( useSiteTargetFilter: AnnotationUseSiteTargetFilter = AnyAnnotationUseSiteTargetFilter, diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForAnonymousObject.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForAnonymousObject.kt index 9c6b993bffc..086e8ba0f20 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForAnonymousObject.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForAnonymousObject.kt @@ -17,7 +17,6 @@ import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.asJava.elements.KtLightField import org.jetbrains.kotlin.asJava.elements.KtLightIdentifier import org.jetbrains.kotlin.asJava.elements.KtLightMethod -import org.jetbrains.kotlin.light.classes.symbol.annotations.hasJvmFieldAnnotation import org.jetbrains.kotlin.light.classes.symbol.cachedValue import org.jetbrains.kotlin.light.classes.symbol.fields.SymbolLightField import org.jetbrains.kotlin.psi.KtClassOrObject diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/symbolLightClassUtils.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/symbolLightClassUtils.kt index d7565b70be2..5c156ec2f3f 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/symbolLightClassUtils.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/symbolLightClassUtils.kt @@ -34,6 +34,7 @@ import org.jetbrains.kotlin.config.JvmDefaultMode import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget import org.jetbrains.kotlin.lexer.KtTokens.* +import org.jetbrains.kotlin.light.classes.symbol.* import org.jetbrains.kotlin.light.classes.symbol.annotations.* import org.jetbrains.kotlin.light.classes.symbol.copy import org.jetbrains.kotlin.light.classes.symbol.fields.SymbolLightField @@ -284,7 +285,7 @@ internal fun SymbolLightClassBase.createPropertyAccessors( if (declaration.getter?.hasBody != true && declaration.setter?.hasBody != true && declaration.visibility.isPrivateOrPrivateToThis()) return - if (declaration.hasJvmFieldAnnotation()) return + if (declaration.isJvmField) return val propertyTypeIsValueClass = declaration.hasTypeForValueClassInSignature() /* @@ -587,7 +588,7 @@ internal fun SymbolLightClassBase.addPropertyBackingFields( // All fields for companion object of classes are generated to the containing class // For interfaces, only @JvmField-annotated properties are generated to the containing class // Probably, the same should work for const vals but it doesn't at the moment (see KT-28294) - filter { containingClass?.isInterface == true && !it.hasJvmFieldAnnotation() } + filter { containingClass?.isInterface == true && !it.isJvmField } } val (ctorProperties, memberProperties) = propertySymbols.partition { it.isFromPrimaryConstructor } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForProperty.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForProperty.kt index 8cc50d56a99..29a39c4056f 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForProperty.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForProperty.kt @@ -11,6 +11,7 @@ import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.KtConstantInitializerValue import org.jetbrains.kotlin.analysis.api.annotations.* import org.jetbrains.kotlin.analysis.api.base.KtConstantValue +import org.jetbrains.kotlin.analysis.api.symbols.KtBackingFieldSymbol import org.jetbrains.kotlin.analysis.api.symbols.KtKotlinPropertySymbol import org.jetbrains.kotlin.analysis.api.symbols.KtPropertySymbol import org.jetbrains.kotlin.analysis.api.symbols.markers.isPrivateOrPrivateToThis @@ -38,6 +39,7 @@ internal class SymbolLightFieldForProperty private constructor( lightMemberOrigin: LightMemberOrigin?, private val isStatic: Boolean, override val kotlinOrigin: KtCallableDeclaration?, + private val backingFieldSymbolPointer: KtSymbolPointer?, ) : SymbolLightField(containingClass, lightMemberOrigin) { internal constructor( ktAnalysisSession: KtAnalysisSession, @@ -53,6 +55,7 @@ internal class SymbolLightFieldForProperty private constructor( lightMemberOrigin = lightMemberOrigin, isStatic = isStatic, kotlinOrigin = propertySymbol.sourcePsiSafe(), + backingFieldSymbolPointer = with(ktAnalysisSession) { propertySymbol.backingFieldSymbol?.createPointer() }, ) private inline fun withPropertySymbol(crossinline action: context (KtAnalysisSession) (KtPropertySymbol) -> T): T { @@ -123,19 +126,19 @@ internal class SymbolLightFieldForProperty private constructor( } PsiModifier.VOLATILE -> withPropertySymbol { propertySymbol -> - val hasAnnotation = propertySymbol.hasAnnotation( + val hasAnnotation = propertySymbol.backingFieldSymbol?.hasAnnotation( VOLATILE_ANNOTATION_CLASS_ID, AnnotationUseSiteTarget.FIELD.toOptionalFilter(), - ) + ) == true mapOf(modifier to hasAnnotation) } PsiModifier.TRANSIENT -> withPropertySymbol { propertySymbol -> - val hasAnnotation = propertySymbol.hasAnnotation( + val hasAnnotation = propertySymbol.backingFieldSymbol?.hasAnnotation( TRANSIENT_ANNOTATION_CLASS_ID, AnnotationUseSiteTarget.FIELD.toOptionalFilter(), - ) + ) == true mapOf(modifier to hasAnnotation) } @@ -153,7 +156,7 @@ internal class SymbolLightFieldForProperty private constructor( annotationsBox = GranularAnnotationsBox( annotationsProvider = SymbolAnnotationsProvider( ktModule = ktModule, - annotatedSymbolPointer = propertySymbolPointer, + annotatedSymbolPointer = backingFieldSymbolPointer ?: propertySymbolPointer, annotationUseSiteTargetFilter = AnnotationUseSiteTarget.FIELD.toOptionalFilter(), ), additionalAnnotationsProvider = NullabilityAnnotationsProvider { diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/symbolLightUtils.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/symbolLightUtils.kt index 729cbaa8da0..4f22c9e24f4 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/symbolLightUtils.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/symbolLightUtils.kt @@ -287,7 +287,8 @@ internal inline fun KtSymbolPointer.withSymbol( crossinline action: KtAnalysisSession.(T) -> R, ): R = analyzeForLightClasses(ktModule) { action(this, restoreSymbolOrThrowIfDisposed()) } -internal val KtPropertySymbol.isConstOrJvmField: Boolean get() = isConst || hasJvmFieldAnnotation() +internal val KtPropertySymbol.isConstOrJvmField: Boolean get() = isConst || isJvmField +internal val KtPropertySymbol.isJvmField: Boolean get() = backingFieldSymbol?.hasJvmFieldAnnotation() == true internal val KtPropertySymbol.isConst: Boolean get() = (this as? KtKotlinPropertySymbol)?.isConst == true internal val KtPropertySymbol.isLateInit: Boolean get() = (this as? KtKotlinPropertySymbol)?.isLateInit == true internal val KtPropertySymbol.canHaveNonPrivateField: Boolean get() = isConstOrJvmField || isLateInit diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/FirBasedSymbol.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/FirBasedSymbol.kt index 733d51aea2d..fc9a07e7dbe 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/FirBasedSymbol.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/FirBasedSymbol.kt @@ -14,6 +14,7 @@ import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.expressions.FirAnnotation import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.arguments +import org.jetbrains.kotlin.fir.symbols.impl.FirBackingFieldSymbol import org.jetbrains.kotlin.fir.types.ConeClassLikeType import org.jetbrains.kotlin.fir.types.coneType import org.jetbrains.kotlin.name.ClassId @@ -67,13 +68,15 @@ fun FirAnnotationContainer.resolvedCompilerRequiredAnnotations(anchorElement: Fi @SymbolInternals fun FirAnnotationContainer.resolvedAnnotationsWithArguments(anchorElement: FirBasedSymbol<*>): List { - return annotations.resolvedAnnotationsWithArguments(anchorElement) + if (isDefinitelyEmpty(anchorElement)) return emptyList() + + annotations.resolveAnnotationsWithArguments(anchorElement) + // Note: this.annotations reference may be changed by the previous call! + return annotations } @SymbolInternals -fun List.resolvedAnnotationsWithArguments(anchorElement: FirBasedSymbol<*>): List { - if (isEmpty()) return emptyList() - +fun List.resolveAnnotationsWithArguments(anchorElement: FirBasedSymbol<*>) { /** * This loop by index is required to avoid possible [ConcurrentModificationException], * because the annotations might be in a process of resolve from some other threads @@ -94,28 +97,38 @@ fun List.resolvedAnnotationsWithArguments(anchorElement: FirBased } anchorElement.lazyResolveToPhase(phase) - return this +} + +private fun FirAnnotationContainer.isDefinitelyEmpty(anchorElement: FirBasedSymbol<*>): Boolean { + if (annotations.isEmpty()) { + if (anchorElement !is FirBackingFieldSymbol) return true + if (anchorElement.propertySymbol.annotations.none { it.useSiteTarget == null }) return true + } + return false } @SymbolInternals fun FirAnnotationContainer.resolvedAnnotationsWithClassIds(anchorElement: FirBasedSymbol<*>): List { - return annotations.resolvedAnnotationsWithClassIds(anchorElement) + if (isDefinitelyEmpty(anchorElement)) return emptyList() + + when (anchorElement) { + is FirBackingFieldSymbol -> anchorElement.propertySymbol + else -> anchorElement + }.lazyResolveToPhase(FirResolvePhase.TYPES) + + return annotations } @SymbolInternals -fun List.resolvedAnnotationsWithClassIds(anchorElement: FirBasedSymbol<*>): List { - if (isEmpty()) return emptyList() - +fun resolveAnnotationsWithClassIds(anchorElement: FirBasedSymbol<*>) { anchorElement.lazyResolveToPhase(FirResolvePhase.TYPES) - return this } @SymbolInternals fun FirAnnotationContainer.resolvedAnnotationClassIds(anchorElement: FirBasedSymbol<*>): List { - if (annotations.isEmpty()) return emptyList() - - anchorElement.lazyResolveToPhase(FirResolvePhase.TYPES) - return annotations.mapNotNull { (it.annotationTypeRef.coneType as? ConeClassLikeType)?.lookupTag?.classId } + return resolvedAnnotationsWithClassIds(anchorElement).mapNotNull { + (it.annotationTypeRef.coneType as? ConeClassLikeType)?.lookupTag?.classId + } } @RequiresOptIn diff --git a/compiler/testData/asJava/lightClasses/lightClassByPsi/LateinitProperties.fir.java b/compiler/testData/asJava/lightClasses/lightClassByPsi/LateinitProperties.fir.java deleted file mode 100644 index ad803c04695..00000000000 --- a/compiler/testData/asJava/lightClasses/lightClassByPsi/LateinitProperties.fir.java +++ /dev/null @@ -1,92 +0,0 @@ -public abstract class AbstractKotlinClass /* AbstractKotlinClass*/ { - @kotlin.jvm.JvmStatic() - public static Custom companionLateinitStaticVariable; - - @org.jetbrains.annotations.NotNull() - public static final AbstractKotlinClass.Companion Companion; - - public Custom classLateinitVariable; - - public static Custom companionLateinitVariable; - - @org.jetbrains.annotations.NotNull() - public final Custom getClassLateinitVariable();// getClassLateinitVariable() - - @org.jetbrains.annotations.NotNull() - public static final Custom getCompanionLateinitStaticVariable();// getCompanionLateinitStaticVariable() - - public AbstractKotlinClass();// .ctor() - - public final void setClassLateinitVariable(@org.jetbrains.annotations.NotNull() Custom);// setClassLateinitVariable(Custom) - - public static final void setCompanionLateinitStaticVariable(@org.jetbrains.annotations.NotNull() Custom);// setCompanionLateinitStaticVariable(Custom) - - class Companion ... -} - -public static final class Companion /* KotlinClass.Companion*/ { - @org.jetbrains.annotations.NotNull() - public final Custom getCompanionLateinitStaticVariable();// getCompanionLateinitStaticVariable() - - @org.jetbrains.annotations.NotNull() - public final Custom getCompanionLateinitVariable();// getCompanionLateinitVariable() - - private Companion();// .ctor() - - public final void setCompanionLateinitStaticVariable(@org.jetbrains.annotations.NotNull() Custom);// setCompanionLateinitStaticVariable(Custom) - - public final void setCompanionLateinitVariable(@org.jetbrains.annotations.NotNull() Custom);// setCompanionLateinitVariable(Custom) -} - -public static final class Companion /* AbstractKotlinClass.Companion*/ { - @org.jetbrains.annotations.NotNull() - public final Custom getCompanionLateinitStaticVariable();// getCompanionLateinitStaticVariable() - - @org.jetbrains.annotations.NotNull() - public final Custom getCompanionLateinitVariable();// getCompanionLateinitVariable() - - private Companion();// .ctor() - - public final void setCompanionLateinitStaticVariable(@org.jetbrains.annotations.NotNull() Custom);// setCompanionLateinitStaticVariable(Custom) - - public final void setCompanionLateinitVariable(@org.jetbrains.annotations.NotNull() Custom);// setCompanionLateinitVariable(Custom) -} - -public final class Custom /* Custom*/ { - public Custom();// .ctor() -} - -public final class KotlinClass /* KotlinClass*/ { - @kotlin.jvm.JvmStatic() - public static Custom companionLateinitStaticVariable; - - @org.jetbrains.annotations.NotNull() - public static final KotlinClass.Companion Companion; - - public Custom classLateinitVariable; - - public static Custom companionLateinitVariable; - - @org.jetbrains.annotations.NotNull() - public final Custom getClassLateinitVariable();// getClassLateinitVariable() - - @org.jetbrains.annotations.NotNull() - public static final Custom getCompanionLateinitStaticVariable();// getCompanionLateinitStaticVariable() - - public KotlinClass();// .ctor() - - public final void setClassLateinitVariable(@org.jetbrains.annotations.NotNull() Custom);// setClassLateinitVariable(Custom) - - public static final void setCompanionLateinitStaticVariable(@org.jetbrains.annotations.NotNull() Custom);// setCompanionLateinitStaticVariable(Custom) - - class Companion ... -} - -public final class LateinitPropertiesKt /* LateinitPropertiesKt*/ { - public static Custom topLevelLateinit; - - @org.jetbrains.annotations.NotNull() - public static final Custom getTopLevelLateinit();// getTopLevelLateinit() - - public static final void setTopLevelLateinit(@org.jetbrains.annotations.NotNull() Custom);// setTopLevelLateinit(Custom) -} diff --git a/compiler/testData/asJava/lightClasses/lightClassByPsi/annotations.fir.java b/compiler/testData/asJava/lightClasses/lightClassByPsi/annotations.fir.java index 7b55c8d5f63..83dcaa34efe 100644 --- a/compiler/testData/asJava/lightClasses/lightClassByPsi/annotations.fir.java +++ b/compiler/testData/asJava/lightClasses/lightClassByPsi/annotations.fir.java @@ -120,7 +120,6 @@ public final class Example /* Example*/ { @Anno() public final class F /* F*/ implements java.lang.Runnable { - @Anno(p = "p") @org.jetbrains.annotations.NotNull() private java.lang.String prop = "x" /* initializer type: java.lang.String */; diff --git a/compiler/testData/asJava/lightClasses/lightClassByPsi/objects.java b/compiler/testData/asJava/lightClasses/lightClassByPsi/objects.java index 95ed4a064aa..a618c7b00c2 100644 --- a/compiler/testData/asJava/lightClasses/lightClassByPsi/objects.java +++ b/compiler/testData/asJava/lightClasses/lightClassByPsi/objects.java @@ -1,14 +1,13 @@ public final class C /* C*/ { - @kotlin.jvm.JvmStatic() - @org.jetbrains.annotations.NotNull() - private static java.lang.String x = "" /* initializer type: java.lang.String */; - @org.jetbrains.annotations.NotNull() private static java.lang.String c1; @org.jetbrains.annotations.NotNull() private static java.lang.String c; + @org.jetbrains.annotations.NotNull() + private static java.lang.String x = "" /* initializer type: java.lang.String */; + @org.jetbrains.annotations.NotNull() public static final C.Companion Companion; @@ -150,7 +149,6 @@ public abstract interface I /* I*/ { } public final class Obj /* Obj*/ implements java.lang.Runnable { - @kotlin.jvm.JvmStatic() @org.jetbrains.annotations.NotNull() private static java.lang.String x = "" /* initializer type: java.lang.String */;