From c6fee8bfc9b2e3af1b768504ebe902217b7a5ab3 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Tue, 30 Jul 2024 21:58:35 +0200 Subject: [PATCH] [kotlin] k2: fix annotation with arguments presentation KTIJ-30695 GitOrigin-RevId: 681e7f73c1d1c6a2713599fd26915960e11b145c --- .../refactoring/extractFunction/ExtractableCodeDescriptor.kt | 2 +- .../introduce/extractionEngine/ExtractionDataAnalyzer.kt | 1 + ...tractK2IntroduceFunctionWithExtractFunctionModifierTest.kt | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/extractFunction/ExtractableCodeDescriptor.kt b/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/extractFunction/ExtractableCodeDescriptor.kt index be6dd3d4a86d..7fdcdb5a03da 100644 --- a/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/extractFunction/ExtractableCodeDescriptor.kt +++ b/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/extractFunction/ExtractableCodeDescriptor.kt @@ -39,7 +39,7 @@ data class ExtractableCodeDescriptor( get() = if (renderedAnnotations.isEmpty()) { "" } else { - renderedAnnotations.joinToString(separator = "\n", postfix = "\n") + renderedAnnotations.joinToString(separator = "\n") } } diff --git a/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/introduce/extractionEngine/ExtractionDataAnalyzer.kt b/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/introduce/extractionEngine/ExtractionDataAnalyzer.kt index 974d452ad173..c10239647f23 100644 --- a/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/introduce/extractionEngine/ExtractionDataAnalyzer.kt +++ b/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/introduce/extractionEngine/ExtractionDataAnalyzer.kt @@ -228,6 +228,7 @@ internal class ExtractionDataAnalyzer(private val extractionData: ExtractionData printer.append('@') renderer.annotationUseSiteTargetRenderer.renderUseSiteTarget(useSiteSession, annotation, owner, renderer, printer) renderer.annotationsQualifiedNameRenderer.renderQualifier(useSiteSession, annotation, owner, renderer, printer) + renderer.annotationArgumentsRenderer.renderAnnotationArguments(useSiteSession, annotation, owner, renderer, printer) printer.append('\n') printer.toString() } diff --git a/plugins/kotlin/refactorings/kotlin.refactorings.tests.k2/test/org/jetbrains/kotlin/idea/k2/refactoring/introduce/AbstractK2IntroduceFunctionWithExtractFunctionModifierTest.kt b/plugins/kotlin/refactorings/kotlin.refactorings.tests.k2/test/org/jetbrains/kotlin/idea/k2/refactoring/introduce/AbstractK2IntroduceFunctionWithExtractFunctionModifierTest.kt index e0fe52f48748..23ab5cc22eb0 100644 --- a/plugins/kotlin/refactorings/kotlin.refactorings.tests.k2/test/org/jetbrains/kotlin/idea/k2/refactoring/introduce/AbstractK2IntroduceFunctionWithExtractFunctionModifierTest.kt +++ b/plugins/kotlin/refactorings/kotlin.refactorings.tests.k2/test/org/jetbrains/kotlin/idea/k2/refactoring/introduce/AbstractK2IntroduceFunctionWithExtractFunctionModifierTest.kt @@ -40,13 +40,13 @@ private class MyComposeExtractFunctionDescriptorModifier : ExtractFunctionDescri if (sourceFunction is KtAnnotated) { sourceFunction.findAnnotation(MY_COMPOSABLE_CLASS_ID)?.let { return descriptor.copy( - renderedAnnotations = descriptor.renderedAnnotations + "@${MY_COMPOSABLE_CLASS_ID.asFqNameString()}" + renderedAnnotations = descriptor.renderedAnnotations + "@${MY_COMPOSABLE_CLASS_ID.asFqNameString()}\n" ) } } val outsideLambda = descriptor.extractionData.commonParent.parentOfType(true) ?: return descriptor return if (outsideLambda.isComposable()) { - descriptor.copy(renderedAnnotations = descriptor.renderedAnnotations + "@${MY_COMPOSABLE_CLASS_ID.asFqNameString()}") + descriptor.copy(renderedAnnotations = descriptor.renderedAnnotations + "@${MY_COMPOSABLE_CLASS_ID.asFqNameString()}\n") } else { descriptor }