JS: don't throw AssertionError from RedundantCallElimination
Also mark JS `call` function to avoid removing a custom `call`
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
// IGNORE_BACKEND: JS_IR
|
||||
// EXPECTED_REACHABLE_NODES: 1189
|
||||
|
||||
// MODULE: lib
|
||||
// FILE: lib.kt
|
||||
|
||||
fun String.call() = this + "O"
|
||||
|
||||
inline fun O() = "".call()
|
||||
|
||||
object A {
|
||||
val foo = Foo
|
||||
}
|
||||
|
||||
object Foo {
|
||||
@JsName("call")
|
||||
fun call(a: A, k: String) = k
|
||||
}
|
||||
|
||||
inline fun K(a: A) = a.foo.call(a, "K")
|
||||
|
||||
// MODULE: main(lib)
|
||||
// FILE: main.kt
|
||||
|
||||
val a = A
|
||||
|
||||
fun box() = O() + K(a)
|
||||
Reference in New Issue
Block a user