Files
kotlin-fork/compiler/testData/codegen/box/reflection/properties/jvmField/interfaceCompanion.kt
T
2018-08-01 12:29:24 +02:00

27 lines
562 B
Kotlin
Vendored

// !LANGUAGE: +JvmFieldInInterface
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
// IGNORE_BACKEND: JS
// IGNORE_BACKEND: JS_IR
// WITH_REFLECT
import kotlin.reflect.KProperty1
import kotlin.reflect.full.memberProperties
import kotlin.reflect.full.companionObject
class Bar(val value: String)
interface Foo {
companion object {
@JvmField
val z = Bar("OK")
}
}
fun box(): String {
val field = Foo::class.companionObject!!.memberProperties.single() as KProperty1<Foo.Companion, Bar>
return field.get(Foo.Companion).value
}