diff --git a/modules/rhino/src/main/java/com/script/rhino/RhinoCompiledScript.kt b/modules/rhino/src/main/java/com/script/rhino/RhinoCompiledScript.kt index 32a8ae393..4758639f6 100644 --- a/modules/rhino/src/main/java/com/script/rhino/RhinoCompiledScript.kt +++ b/modules/rhino/src/main/java/com/script/rhino/RhinoCompiledScript.kt @@ -37,9 +37,7 @@ import org.mozilla.javascript.RhinoException import org.mozilla.javascript.Script import org.mozilla.javascript.Scriptable import java.io.IOException -import kotlin.coroutines.Continuation import kotlin.coroutines.CoroutineContext -import kotlin.coroutines.intrinsics.suspendCoroutineUninterceptedOrReturn /** * Represents compiled JavaScript code. @@ -102,11 +100,8 @@ internal class RhinoCompiledScript( while (true) { try { @Suppress("UNCHECKED_CAST") - val suspendFunction = - pending.applicationState as Function1, Any?> - val functionResult = suspendCoroutineUninterceptedOrReturn { cout -> - suspendFunction.invoke(cout) - } + val suspendFunction = pending.applicationState as suspend () -> Any? + val functionResult = suspendFunction() val continuation = pending.continuation ret = cx.resumeContinuation(continuation, scope, functionResult) break diff --git a/modules/rhino/src/main/java/com/script/rhino/RhinoScriptEngine.kt b/modules/rhino/src/main/java/com/script/rhino/RhinoScriptEngine.kt index bb0ab9f7d..b38cf723b 100644 --- a/modules/rhino/src/main/java/com/script/rhino/RhinoScriptEngine.kt +++ b/modules/rhino/src/main/java/com/script/rhino/RhinoScriptEngine.kt @@ -57,9 +57,7 @@ import java.security.AccessControlException import java.security.AccessController import java.security.AllPermission import java.security.PrivilegedAction -import kotlin.coroutines.Continuation import kotlin.coroutines.CoroutineContext -import kotlin.coroutines.intrinsics.suspendCoroutineUninterceptedOrReturn /** * Implementation of `ScriptEngine` using the Mozilla Rhino @@ -145,11 +143,8 @@ object RhinoScriptEngine : AbstractScriptEngine(), Invocable, Compilable { while (true) { try { @Suppress("UNCHECKED_CAST") - val suspendFunction = - pending.applicationState as Function1, Any?> - val functionResult = suspendCoroutineUninterceptedOrReturn { cout -> - suspendFunction.invoke(cout) - } + val suspendFunction = pending.applicationState as suspend () -> Any? + val functionResult = suspendFunction() val continuation = pending.continuation ret = cx.resumeContinuation(continuation, scope, functionResult) break