From 5298d79dec45b44e99e53299781842d2f643f465 Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Fri, 13 Oct 2023 20:22:57 +0200 Subject: [PATCH] [LL FIR] drop extra withContainingClass from annotation transformers This call is redundant for annotation transformers because they are override withRegularClass and add this call there, so, as result, we have a class duplication in containingClassDeclarations ^KT-62587 --- .../LLFirAnnotationArgumentMappingLazyResolver.kt | 8 ++++++++ .../transformers/LLFirAnnotationArgumentsLazyResolver.kt | 6 ++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirAnnotationArgumentMappingLazyResolver.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirAnnotationArgumentMappingLazyResolver.kt index ef07fc917ac..afeaa725455 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirAnnotationArgumentMappingLazyResolver.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirAnnotationArgumentMappingLazyResolver.kt @@ -65,6 +65,14 @@ private class LLFirAnnotationArgumentsMappingTargetResolver( transformAnnotations(target) } } + + @Deprecated("Should never be called directly, only for override purposes, please use withRegularClass", level = DeprecationLevel.ERROR) + override fun withRegularClassImpl(firClass: FirRegularClass, action: () -> Unit) { + transformer.declarationsTransformer.withRegularClass(firClass) { + action() + firClass + } + } } internal object AnnotationArgumentMappingStateKeepers { diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirAnnotationArgumentsLazyResolver.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirAnnotationArgumentsLazyResolver.kt index bb493a29abd..fa323eccc1a 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirAnnotationArgumentsLazyResolver.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirAnnotationArgumentsLazyResolver.kt @@ -87,8 +87,10 @@ private class LLFirAnnotationArgumentsTargetResolver( collector.addDeclarationContext(firClass, context) } - @Suppress("DEPRECATION_ERROR") - super.withRegularClassImpl(firClass, actionWithCollector) + transformer.declarationsTransformer.withRegularClass(firClass) { + actionWithCollector() + firClass + } } override fun doLazyResolveUnderLock(target: FirElementWithResolveState) {