mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-17 15:54:03 +00:00
53 lines
1.0 KiB
Kotlin
Vendored
53 lines
1.0 KiB
Kotlin
Vendored
// IGNORE_BACKEND: JS_IR
|
|
// TODO: investigate should it be ran for JS or not
|
|
// IGNORE_BACKEND: JS, NATIVE
|
|
|
|
// WITH_REFLECT
|
|
|
|
import kotlin.reflect.*
|
|
import kotlin.test.assertEquals
|
|
|
|
object Host {
|
|
val x = 1
|
|
var y = 2
|
|
|
|
val xx: Int
|
|
get() = x
|
|
|
|
var yy: Int
|
|
get() = y
|
|
set(value) { y = value }
|
|
}
|
|
|
|
val c_x = Host::x
|
|
val c_xx = Host::xx
|
|
val c_y = Host::y
|
|
val c_yy = Host::yy
|
|
|
|
fun box(): String {
|
|
assertEquals(1, c_x.getter())
|
|
assertEquals(1, c_x.getter.call())
|
|
assertEquals(1, c_xx.getter())
|
|
assertEquals(1, c_xx.getter.call())
|
|
assertEquals(2, c_y.getter())
|
|
assertEquals(2, c_y.getter.call())
|
|
assertEquals(2, c_yy.getter())
|
|
assertEquals(2, c_yy.getter.call())
|
|
|
|
c_y.setter(10)
|
|
assertEquals(10, c_y.getter())
|
|
assertEquals(10, c_yy.getter())
|
|
|
|
c_yy.setter(20)
|
|
assertEquals(20, c_y.getter())
|
|
assertEquals(20, c_yy.getter())
|
|
|
|
c_y.setter.call(100)
|
|
assertEquals(100, c_yy.getter.call())
|
|
|
|
c_yy.setter.call(200)
|
|
assertEquals(200, c_y.getter.call())
|
|
|
|
return "OK"
|
|
}
|