Extract arguments calculation for base JSR223 engine into an argument
This commit is contained in:
+4
-1
@@ -6,7 +6,10 @@
|
||||
package kotlin.script.experimental.jsr223
|
||||
|
||||
import org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineFactoryBase
|
||||
import org.jetbrains.kotlin.cli.common.repl.ScriptArgsWithTypes
|
||||
import java.io.File
|
||||
import javax.script.Bindings
|
||||
import javax.script.ScriptContext
|
||||
import javax.script.ScriptEngine
|
||||
import kotlin.script.experimental.api.ScriptCompilationConfiguration
|
||||
import kotlin.script.experimental.jvm.JvmScriptCompilationConfigurationBuilder
|
||||
@@ -50,6 +53,6 @@ class KotlinJsr223DefaultScriptEngineFactory : KotlinJsr223JvmScriptEngineFactor
|
||||
}
|
||||
},
|
||||
evaluationConfiguration
|
||||
)
|
||||
) { ScriptArgsWithTypes(arrayOf(it.getBindings(ScriptContext.ENGINE_SCOPE).orEmpty()), arrayOf(Bindings::class)) }
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -26,7 +26,8 @@ import kotlin.script.experimental.jvmhost.repl.JvmReplEvaluatorState
|
||||
class KotlinJsr223ScriptEngineImpl(
|
||||
factory: ScriptEngineFactory,
|
||||
baseCompilationConfiguration: ScriptCompilationConfiguration,
|
||||
baseEvaluationConfiguration: ScriptEvaluationConfiguration
|
||||
baseEvaluationConfiguration: ScriptEvaluationConfiguration,
|
||||
val getScriptArgs: (context: ScriptContext) -> ScriptArgsWithTypes?
|
||||
) : KotlinJsr223JvmScriptEngineBase(factory), KotlinJsr223InvocableScriptEngine {
|
||||
|
||||
@Volatile
|
||||
@@ -64,8 +65,7 @@ class KotlinJsr223ScriptEngineImpl(
|
||||
|
||||
override fun createState(lock: ReentrantReadWriteLock): IReplStageState<*> = replEvaluator.createState(lock)
|
||||
|
||||
override fun overrideScriptArgs(context: ScriptContext): ScriptArgsWithTypes? =
|
||||
ScriptArgsWithTypes(arrayOf(context.getBindings(ScriptContext.ENGINE_SCOPE).orEmpty()), arrayOf(Bindings::class))
|
||||
override fun overrideScriptArgs(context: ScriptContext): ScriptArgsWithTypes? = getScriptArgs(context)
|
||||
|
||||
override val invokeWrapper: InvokeWrapper?
|
||||
get() = null
|
||||
|
||||
Reference in New Issue
Block a user