Files
kotlin-fork/js/js.translator/testData/box/coercion/unitAsExtensionReceiver.kt
T

22 lines
434 B
Kotlin
Vendored

// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// EXPECTED_REACHABLE_NODES: 1284
// TODO: Design Unit materialization and Unit.asDynamic() in JS IR BE
var log = ""
fun foo() {
log += "foo"
}
fun Unit.bar() = jsTypeOf(this.asDynamic()) == "undefined"
fun Any.baz() = jsTypeOf(this.asDynamic()) == "object"
fun box(): String {
if (!foo().bar()) return "fail1"
if (!foo().baz()) return "fail2"
return "OK"
}