From 2c7fb49a805f0ced1f4d03331f054335e0f9f742 Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Wed, 25 Jan 2023 14:47:46 +0100 Subject: [PATCH] [AA FIR] annotationClassIds should return fully-expanded classIds ^KT-56046 --- .../annotations/KtFirAnnotationListForDeclaration.kt | 2 +- .../KtFirAnnotationListForReceiverParameter.kt | 2 +- .../analysis/api/fir/annotations/firAnnotationUtils.kt | 10 ++++++++-- 3 files changed, 10 insertions(+), 4 deletions(-) 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 3827bc33d21..d0f9edec6f2 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 @@ -43,7 +43,7 @@ internal class KtFirAnnotationListForDeclaration private constructor( override val annotationClassIds: Collection get() = withValidityAssertion { - annotationClassIds(firSymbol) + annotationClassIds(firSymbol, useSiteSession) } companion object { diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/annotations/KtFirAnnotationListForReceiverParameter.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/annotations/KtFirAnnotationListForReceiverParameter.kt index 810dc388232..e1ba35fb63b 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/annotations/KtFirAnnotationListForReceiverParameter.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/annotations/KtFirAnnotationListForReceiverParameter.kt @@ -46,7 +46,7 @@ internal class KtFirAnnotationListForReceiverParameter private constructor( override val annotationClassIds: Collection get() = withValidityAssertion { - annotationClassIds(firCallableSymbol, receiverParameter) + annotationClassIds(firCallableSymbol, useSiteSession, receiverParameter) } companion object { diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/annotations/firAnnotationUtils.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/annotations/firAnnotationUtils.kt index 602c8794d7e..1d9afb7fa5b 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/annotations/firAnnotationUtils.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/annotations/firAnnotationUtils.kt @@ -19,7 +19,10 @@ import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.arguments import org.jetbrains.kotlin.fir.resolve.transformers.plugin.CompilerRequiredAnnotationsHelper -import org.jetbrains.kotlin.fir.symbols.* +import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol +import org.jetbrains.kotlin.fir.symbols.resolvedAnnotationsWithArguments +import org.jetbrains.kotlin.fir.symbols.resolvedAnnotationsWithClassIds +import org.jetbrains.kotlin.fir.symbols.resolvedCompilerRequiredAnnotations import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.Name @@ -63,8 +66,11 @@ internal fun annotations( internal fun annotationClassIds( firSymbol: FirBasedSymbol<*>, + useSiteSession: FirSession, annotationContainer: FirAnnotationContainer = firSymbol.fir, -): Collection = annotationContainer.resolvedAnnotationClassIds(firSymbol) +): Collection = annotationContainer.resolvedAnnotationsWithClassIds(firSymbol).mapNotNull { + it.toAnnotationClassId(useSiteSession) +} internal fun hasAnnotation( firSymbol: FirBasedSymbol<*>,