From 487a441efcc4f6fbb9feda96f7503043daf9f51a Mon Sep 17 00:00:00 2001 From: Pavel Punegov Date: Mon, 24 Apr 2023 18:41:09 +0200 Subject: [PATCH] [K/N][test] Fix annotation model generator for use with arrays Generator should write arrays as java array with values, not its class --- .../jetbrains/kotlin/generators/model/AnnotationModel.kt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/generators/test-generator/tests/org/jetbrains/kotlin/generators/model/AnnotationModel.kt b/generators/test-generator/tests/org/jetbrains/kotlin/generators/model/AnnotationModel.kt index f4682e7b6a3..69315ff3bc8 100644 --- a/generators/test-generator/tests/org/jetbrains/kotlin/generators/model/AnnotationModel.kt +++ b/generators/test-generator/tests/org/jetbrains/kotlin/generators/model/AnnotationModel.kt @@ -17,6 +17,7 @@ class AnnotationModel( val argumentsString = arguments.joinToString(separator = ", ") { argument -> val valueString = when (val value = argument.value) { is Enum<*> -> "${value.javaClass.simpleName}.${value.name}" + is Array<*> -> value.toJavaString() is Class<*> -> "${value.simpleName}.class" else -> "\"$value\"" } @@ -25,6 +26,13 @@ class AnnotationModel( p.print("@${annotation.simpleName}($argumentsString)") } + private fun Array<*>.toJavaString(): String = + buildString { + append("{ ") + append(this@toJavaString.joinToString(separator = ", ") { "\"$it\"" }) + append(" }") + } + @OptIn(ExperimentalStdlibApi::class) fun imports(): List> { return buildList {