[Test] Fix using classes as annotation parameters in generated classes

This commit is contained in:
Dmitriy Dolovov
2021-11-09 11:35:13 +03:00
parent f3397dfeca
commit e7caaa464e
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.generators.model
import org.jetbrains.kotlin.generators.util.isDefaultImportedClass
import org.jetbrains.kotlin.utils.Printer
import kotlin.reflect.KClass
class AnnotationModel(
val annotation: Class<out Annotation>,
@@ -17,7 +16,7 @@ class AnnotationModel(
val argumentsString = arguments.joinToString(separator = ",") {
when (it) {
is Enum<*> -> "${it.javaClass.simpleName}.${it.name}"
is Class<*> -> "${it.simpleName::class.java}.class"
is Class<*> -> "${it.simpleName}.class"
else -> "\"$it\""
}
}
@@ -28,7 +27,13 @@ class AnnotationModel(
fun imports(): List<Class<*>> {
return buildList {
add(annotation)
arguments.mapTo(this) { it.javaClass }
arguments.mapNotNullTo(this) {
when (it) {
is Enum<*> -> it.javaClass
is Class<*> -> it
else -> null
}
}
}.filterNot { it.isDefaultImportedClass() }
}
}