[Test] Fix using classes as annotation parameters in generated classes
This commit is contained in:
+8
-3
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.generators.model
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.generators.util.isDefaultImportedClass
|
import org.jetbrains.kotlin.generators.util.isDefaultImportedClass
|
||||||
import org.jetbrains.kotlin.utils.Printer
|
import org.jetbrains.kotlin.utils.Printer
|
||||||
import kotlin.reflect.KClass
|
|
||||||
|
|
||||||
class AnnotationModel(
|
class AnnotationModel(
|
||||||
val annotation: Class<out Annotation>,
|
val annotation: Class<out Annotation>,
|
||||||
@@ -17,7 +16,7 @@ class AnnotationModel(
|
|||||||
val argumentsString = arguments.joinToString(separator = ",") {
|
val argumentsString = arguments.joinToString(separator = ",") {
|
||||||
when (it) {
|
when (it) {
|
||||||
is Enum<*> -> "${it.javaClass.simpleName}.${it.name}"
|
is Enum<*> -> "${it.javaClass.simpleName}.${it.name}"
|
||||||
is Class<*> -> "${it.simpleName::class.java}.class"
|
is Class<*> -> "${it.simpleName}.class"
|
||||||
else -> "\"$it\""
|
else -> "\"$it\""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -28,7 +27,13 @@ class AnnotationModel(
|
|||||||
fun imports(): List<Class<*>> {
|
fun imports(): List<Class<*>> {
|
||||||
return buildList {
|
return buildList {
|
||||||
add(annotation)
|
add(annotation)
|
||||||
arguments.mapTo(this) { it.javaClass }
|
arguments.mapNotNullTo(this) {
|
||||||
|
when (it) {
|
||||||
|
is Enum<*> -> it.javaClass
|
||||||
|
is Class<*> -> it
|
||||||
|
else -> null
|
||||||
|
}
|
||||||
|
}
|
||||||
}.filterNot { it.isDefaultImportedClass() }
|
}.filterNot { it.isDefaultImportedClass() }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user