Files
kotlin-fork/js/js.translator/testData/box/propertyAccess/accessorsWithJsName.kt
T
2019-08-30 13:15:37 +03:00

39 lines
726 B
Kotlin
Vendored

// DONT_TARGET_EXACT_BACKEND: JS_IR
// EXPECTED_REACHABLE_NODES: 1291
class A {
val x: Int
@JsName("getX_") get() = 23
var y: Int = 0
@JsName("getY_") get() = field + 10
@JsName("setY_") set(value) {
field = value
}
}
@JsExport
val A.z: Int
@JsName("getZ_") get() = 42
fun getPackage() = js("return JS_TESTS")
fun box(): String {
val a = A()
assertEquals(23, a.x)
assertEquals(10, a.y)
a.y = 13
assertEquals(23, a.y)
assertEquals(42, a.z)
val d: dynamic = A()
assertEquals(23, d.getX_())
assertEquals(10, d.getY_())
d.setY_(13)
assertEquals(23, d.getY_())
assertEquals(42, getPackage().getZ_(d))
return "OK"
}