Files
kotlin/compiler/testData/codegen/box/reflection/properties/privateJvmStaticVarInObject.kt
Ilya Matveev a5e4e0284e Mute some box tests for native backend
This patch mutes the following test categories:
   * Tests with java dependencies (System class,
     java stdlib, jvm-oriented annotations etc).
   * Coroutines tests.
   * Reflection tests.
   * Tests with an inheritance from the standard
     collections.
2017-03-10 19:59:37 +03:00

31 lines
726 B
Kotlin
Vendored

// TODO: muted automatically, investigate should it be ran for JS or not
// IGNORE_BACKEND: JS, NATIVE
// WITH_REFLECT
import kotlin.reflect.*
import kotlin.reflect.jvm.*
object Obj {
@JvmStatic
private var result: String = "Fail"
}
fun box(): String {
val p = Obj::class.members.single { it.name == "result" } as KMutableProperty1<Any?, String>
p.isAccessible = true
try {
p.set(null, "OK")
return "Fail: set should check that first argument is Obj"
} catch (e: IllegalArgumentException) {}
try {
p.get(null)
return "Fail: get should check that first argument is Obj"
} catch (e: IllegalArgumentException) {}
p.set(Obj, "OK")
return p.get(Obj)
}