34 lines
911 B
Kotlin
Vendored
34 lines
911 B
Kotlin
Vendored
// IGNORE_BACKEND: JS_IR
|
|
// IGNORE_BACKEND: JS_IR_ES6
|
|
// EXPECTED_REACHABLE_NODES: 1328
|
|
package foo
|
|
|
|
import kotlin.reflect.KClass
|
|
|
|
fun check(k: KClass<*>, j: JsClass<*>) {
|
|
assertNotEquals(null, k)
|
|
assertNotEquals(null, j)
|
|
|
|
assertSame(k.js, j)
|
|
assertSame(k, j.kotlin)
|
|
assertSame(j, j.kotlin.js)
|
|
assertSame(k, k.js.kotlin)
|
|
}
|
|
|
|
fun jsClassbyName(name: String) = js("JS_TESTS").foo[name]
|
|
|
|
fun box(): String {
|
|
check(A::class, jsClassbyName("A"))
|
|
check(B::class, jsClassbyName("B"))
|
|
check(O::class, jsClassbyName("O").constructor)
|
|
check(I::class, jsClassbyName("I"))
|
|
check(R::class, jsClassbyName("Q"))
|
|
check(E::class, jsClassbyName("E"))
|
|
check(E.X::class, jsClassbyName("E").X.constructor)
|
|
check(E.Y::class, jsClassbyName("E").Y.constructor)
|
|
// TODO uncomment after KT-13338 is fixed
|
|
// check(E.Z::class, jsClassbyName("E").Z.constructor)
|
|
|
|
return "OK"
|
|
}
|