Files
kotlin/compiler/testData/codegen/box/reflection/properties/javaStaticField.kt
2018-06-28 12:26:41 +02:00

39 lines
734 B
Kotlin
Vendored

// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
// TODO: muted automatically, investigate should it be ran for JS or not
// IGNORE_BACKEND: JS, NATIVE
// WITH_REFLECT
// FILE: J.java
public class J {
public static String x;
static String packageLocalField;
}
// FILE: K.kt
import kotlin.test.assertEquals
fun box(): String {
val f = J::x
assertEquals("x", f.name)
assertEquals(f, J::class.members.single { it.name == "x" })
f.set("OK")
assertEquals("OK", J.x)
assertEquals("OK", f.getter())
val pl = J::packageLocalField.getter
try {
pl()
return "Fail: package local field must be inaccessible"
} catch (e: Exception) {
// OK
}
return f.get()
}