Files
kotlin-fork/compiler/testData/codegen/box/reflection/mapping/companionObjectProperty.kt
T
Alexander Udalov c58314fddf Reflection: improve and optimize kotlinFunction/kotlinProperty
- Make the implementations very similar, to fix KT-54833 where the
  companion object case was forgotten for kotlinProperty.
- Optimize both functions to look up the function/property by name
  first, to cover the most probable case when the JVM name of a
  declaration is equal to its Kotlin name. This fixes KT-55937.

 #KT-54833 Fixed
 #KT-55937 Fixed
2023-01-23 20:43:00 +01:00

17 lines
328 B
Kotlin
Vendored

// WITH_REFLECT
// TARGET_BACKEND: JVM
import kotlin.reflect.KProperty1
import kotlin.reflect.jvm.kotlinProperty
class C {
companion object {
val x = "OK"
}
}
fun box(): String {
val f = C::class.java.getDeclaredField("x").kotlinProperty as KProperty1<C.Companion, String>
return f.get(C.Companion)
}