diff --git a/libraries/stdlib/js-ir/src/kotlin/coroutines_13/IntrinsicsJs.kt b/libraries/stdlib/js-ir/src/kotlin/coroutines_13/IntrinsicsJs.kt index b218d9f3f8f..814182687a3 100644 --- a/libraries/stdlib/js-ir/src/kotlin/coroutines_13/IntrinsicsJs.kt +++ b/libraries/stdlib/js-ir/src/kotlin/coroutines_13/IntrinsicsJs.kt @@ -27,9 +27,7 @@ import kotlin.internal.InlineOnly public actual inline fun (suspend () -> T).startCoroutineUninterceptedOrReturn( completion: Continuation ): Any? { - val a = this.asDynamic() - return if (jsTypeOf(a) == "function") a(completion, false) - else a.invoke(completion) + return this.asDynamic()(completion) } /** @@ -50,9 +48,7 @@ public actual inline fun (suspend R.() -> T).startCoroutineUninterceptedO receiver: R, completion: Continuation ): Any? { - val a = this.asDynamic() - return if(jsTypeOf(a) == "function") a(receiver, completion, false) - else a.invoke_P1(receiver, completion) + return this.asDynamic()(receiver, completion) } @@ -76,19 +72,8 @@ public actual inline fun (suspend R.() -> T).startCoroutineUninterceptedO public actual fun (suspend () -> T).createCoroutineUnintercepted( completion: Continuation ): Continuation = - // Kotlin/JS suspend lambdas have an extra parameter `suspended` - if (this.asDynamic().length == 2) { - // When `suspended` is true the continuation is created, but not executed - this.asDynamic()(completion, true) - } else { - createCoroutineFromSuspendFunction(completion) { - val a = this.asDynamic() - if (jsTypeOf(a) == "function") { - a(completion) - } else { - a.invoke(completion) - } - } + createCoroutineFromSuspendFunction(completion) { + this.asDynamic()(completion) } /** @@ -112,19 +97,8 @@ public actual fun (suspend R.() -> T).createCoroutineUnintercepted( receiver: R, completion: Continuation ): Continuation = - // Kotlin/JS suspend lambdas have an extra parameter `suspended` - if (this.asDynamic().length == 3) { - // When `suspended` is true the continuation is created, but not executed - this.asDynamic()(receiver, completion, true) - } else { - createCoroutineFromSuspendFunction(completion) { - val a = this.asDynamic() - if (jsTypeOf(a) == "function") { - a(receiver, completion) - } else { - a.invoke_P1(receiver, completion) - } - } + createCoroutineFromSuspendFunction(completion) { + this.asDynamic()(receiver, completion) } /**