| // TARGET_BACKEND: JS_IR, JS_IR_ES6 |
| suspend fun testB(x: Int) {} |
| |
| suspend fun testA() { |
| testB(123) |
| testB(456) |
| } |
| |
| class A { |
| suspend fun testC() { |
| testA() |
| } |
| } |
| |
| fun getSimpleName0(x: suspend () -> Unit) = x::class.simpleName |
| fun getSimpleName1(x: suspend (x: Int) -> Unit) = x::class.simpleName |
| inline fun <reified T> getSimpleNameReified(x: T) = T::class.simpleName |
| |
| fun box(): String { |
| assertEquals("Function1", getSimpleName0(::testA)) |
| assertEquals("Function2", getSimpleName1(::testB)) |
| assertEquals("Function1", getSimpleName0(A()::testC)) |
| |
| assertEquals("KSuspendFunction0", getSimpleNameReified(::testA)) |
| assertEquals("KSuspendFunction1", getSimpleNameReified(::testB)) |
| assertEquals("KSuspendFunction0", getSimpleNameReified(A()::testC)) |
| |
| assertEquals("Function1", (::testA)::class.simpleName) |
| assertEquals("Function2", (::testB)::class.simpleName) |
| assertEquals("Function1", (A()::testC)::class.simpleName) |
| return "OK" |
| } |