Files
kotlin-fork/compiler/testData/codegen/box/jvmName/annotationProperties.kt
T

30 lines
650 B
Kotlin
Vendored

// TARGET_BACKEND: JVM
// WITH_REFLECT
package test
import kotlin.test.assertEquals
import kotlin.test.assertTrue
annotation class Anno(@get:JvmName("uglyJvmName") val value: String)
@Anno(value = "OK")
class Foo
annotation class Meta(val anno: Anno)
@Meta(Anno(value = "OK"))
fun bar() {}
fun box(): String {
val f = Foo::class.annotations.single()
assertTrue("@test.Anno\\(uglyJvmName=\"?OK\"?\\)".toRegex().matches(f.toString()))
assertEquals("OK", (f as Anno).value)
val b = ::bar.annotations.single()
assertEquals("@test.Meta(anno=$f)", b.toString())
assertEquals("OK", (b as Meta).anno.value)
return "OK"
}