Files
kotlin-fork/compiler/testData/codegen/box/annotations/annotatedObjectLiteral.kt
T
Ivan Kylchik c7435ba760 Replace all occurrences of WITH_RUNTIME with WITH_STDLIB
We are going to deprecate `WITH_RUNTIME` directive. The main reason
behind this change is that `WITH_STDLIB` directive better describes
its meaning, specifically it will add kotlin stdlib to test's classpath.
2021-11-17 15:26:38 +03:00

19 lines
525 B
Kotlin
Vendored

// TARGET_BACKEND: JVM
// WITH_STDLIB
annotation class Ann(val v: String = "???")
@Ann open class My
fun box(): String {
val v = @Ann("OK") object: My() {}
val klass = v.javaClass
val annotations = klass.annotations.toList()
// Ann, kotlin.Metadata
if (annotations.size != 2) return "Fail annotations size is ${annotations.size}: $annotations"
val annotation = annotations.filterIsInstance<Ann>().firstOrNull()
?: return "Fail no @Ann: $annotations"
return annotation.v
}