Files
QieKan-3.0/modules/rhino/src/main/java/com/script/CompiledScript.kt
T
2024-05-02 11:11:47 +08:00

46 lines
1.4 KiB
Kotlin

/*
* Decompiled with CFR 0.152.
*/
package com.script
import com.script.ScriptContext.Companion.ENGINE_SCOPE
import com.script.ScriptContext.Companion.GLOBAL_SCOPE
import org.mozilla.javascript.Scriptable
import kotlin.coroutines.CoroutineContext
abstract class CompiledScript {
abstract fun getEngine(): ScriptEngine
@Throws(ScriptException::class)
abstract fun eval(context: ScriptContext): Any?
@Throws(ScriptException::class)
abstract fun eval(scope: Scriptable): Any?
@Throws(ScriptException::class)
abstract fun eval(scope: Scriptable, coroutineContext: CoroutineContext?): Any?
@Throws(ScriptException::class)
abstract suspend fun evalSuspend(scope: Scriptable): Any?
@Throws(ScriptException::class)
fun eval(bindings: Bindings?): Any? {
var ctxt = getEngine().context
if (bindings != null) {
val tempContext = SimpleScriptContext()
tempContext.setBindings(bindings, ENGINE_SCOPE)
tempContext.setBindings(ctxt.getBindings(GLOBAL_SCOPE), GLOBAL_SCOPE)
tempContext.writer = ctxt.writer
tempContext.reader = ctxt.reader
tempContext.errorWriter = ctxt.errorWriter
ctxt = tempContext
}
return this.eval(ctxt)
}
@Throws(ScriptException::class)
fun eval(): Any? {
return this.eval(getEngine().context)
}
}