From e053bfd327e751d7e0e6f33a151161f9aa081c46 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Mon, 7 Apr 2025 18:17:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/script/rhino/RhinoCompiledScript.kt | 9 ++------- .../src/main/java/com/script/rhino/RhinoScriptEngine.kt | 9 ++------- 2 files changed, 4 insertions(+), 14 deletions(-) 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