From a0d5dcebbd67fe6ce164abb45d90240e5a275475 Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Thu, 26 Jan 2023 20:57:38 +0100 Subject: [PATCH] [SLC] SymbolAnnotationValues: reuse empty array ^KT-56046 --- .../classes/symbol/annotations/SymbolAnnotationValues.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolAnnotationValues.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolAnnotationValues.kt index ae798b1f645..4560666e778 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolAnnotationValues.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolAnnotationValues.kt @@ -14,8 +14,10 @@ internal class SymbolPsiArrayInitializerMemberValue( private val lightParent: PsiElement, private val arguments: (SymbolPsiArrayInitializerMemberValue) -> List ) : KtLightElementBase(lightParent), PsiArrayInitializerMemberValue { - - override fun getInitializers(): Array = arguments(this).toTypedArray() + override fun getInitializers(): Array { + val memberValues = arguments(this) + return if (memberValues.isEmpty()) PsiAnnotationMemberValue.EMPTY_ARRAY else memberValues.toTypedArray() + } override fun getParent(): PsiElement = lightParent override fun isPhysical(): Boolean = false @@ -27,7 +29,6 @@ internal abstract class SymbolPsiAnnotationMemberValue( override val kotlinOrigin: KtElement?, private val lightParent: PsiElement, ) : KtLightElementBase(lightParent), PsiAnnotationMemberValue { - override fun getParent(): PsiElement = lightParent override fun isPhysical(): Boolean = false }