From e011ca183d4b833c93a933713b744bc2f389082c Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Tue, 21 Sep 2021 12:04:41 +0300 Subject: [PATCH] [FIR] Fix FirPluginAnnotationsResolveTransformer after recent compiler changes --- .../plugin/FirPluginAnnotationsResolveTransformer.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/FirPluginAnnotationsResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/FirPluginAnnotationsResolveTransformer.kt index 23f6e8c463e..8f9623c8513 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/FirPluginAnnotationsResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/FirPluginAnnotationsResolveTransformer.kt @@ -17,6 +17,7 @@ import org.jetbrains.kotlin.fir.declarations.FirFile import org.jetbrains.kotlin.fir.declarations.FirRegularClass 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.FirStatement import org.jetbrains.kotlin.fir.extensions.* import org.jetbrains.kotlin.fir.resolve.ScopeSession @@ -102,6 +103,10 @@ private class FirAnnotationResolveTransformer( owners = state } + override fun transformAnnotationCall(annotationCall: FirAnnotationCall, data: Multimap): FirStatement { + return transformAnnotation(annotationCall, data) + } + override fun transformAnnotation( annotation: FirAnnotation, data: Multimap @@ -116,7 +121,7 @@ private class FirAnnotationResolveTransformer( regularClass: FirRegularClass, data: Multimap ): FirStatement { - withClassDeclarationCleanup(classDeclarationsStack, classDeclarationsStack.last()) { + withClassDeclarationCleanup(classDeclarationsStack, regularClass) { return super.transformRegularClass(regularClass, data).also { if (regularClass.classKind == ClassKind.ANNOTATION_CLASS && metaAnnotations.isNotEmpty()) { val annotations = regularClass.annotations.mapNotNull { it.fqName(session) }