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
|
package kotlin.script.experimental.jsr223
|
||||||
|
|
||||||
import org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineFactoryBase
|
import org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineFactoryBase
|
||||||
|
import org.jetbrains.kotlin.cli.common.repl.ScriptArgsWithTypes
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
import javax.script.Bindings
|
||||||
|
import javax.script.ScriptContext
|
||||||
import javax.script.ScriptEngine
|
import javax.script.ScriptEngine
|
||||||
import kotlin.script.experimental.api.ScriptCompilationConfiguration
|
import kotlin.script.experimental.api.ScriptCompilationConfiguration
|
||||||
import kotlin.script.experimental.jvm.JvmScriptCompilationConfigurationBuilder
|
import kotlin.script.experimental.jvm.JvmScriptCompilationConfigurationBuilder
|
||||||
@@ -50,6 +53,6 @@ class KotlinJsr223DefaultScriptEngineFactory : KotlinJsr223JvmScriptEngineFactor
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
evaluationConfiguration
|
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(
|
class KotlinJsr223ScriptEngineImpl(
|
||||||
factory: ScriptEngineFactory,
|
factory: ScriptEngineFactory,
|
||||||
baseCompilationConfiguration: ScriptCompilationConfiguration,
|
baseCompilationConfiguration: ScriptCompilationConfiguration,
|
||||||
baseEvaluationConfiguration: ScriptEvaluationConfiguration
|
baseEvaluationConfiguration: ScriptEvaluationConfiguration,
|
||||||
|
val getScriptArgs: (context: ScriptContext) -> ScriptArgsWithTypes?
|
||||||
) : KotlinJsr223JvmScriptEngineBase(factory), KotlinJsr223InvocableScriptEngine {
|
) : KotlinJsr223JvmScriptEngineBase(factory), KotlinJsr223InvocableScriptEngine {
|
||||||
|
|
||||||
@Volatile
|
@Volatile
|
||||||
@@ -64,8 +65,7 @@ class KotlinJsr223ScriptEngineImpl(
|
|||||||
|
|
||||||
override fun createState(lock: ReentrantReadWriteLock): IReplStageState<*> = replEvaluator.createState(lock)
|
override fun createState(lock: ReentrantReadWriteLock): IReplStageState<*> = replEvaluator.createState(lock)
|
||||||
|
|
||||||
override fun overrideScriptArgs(context: ScriptContext): ScriptArgsWithTypes? =
|
override fun overrideScriptArgs(context: ScriptContext): ScriptArgsWithTypes? = getScriptArgs(context)
|
||||||
ScriptArgsWithTypes(arrayOf(context.getBindings(ScriptContext.ENGINE_SCOPE).orEmpty()), arrayOf(Bindings::class))
|
|
||||||
|
|
||||||
override val invokeWrapper: InvokeWrapper?
|
override val invokeWrapper: InvokeWrapper?
|
||||||
get() = null
|
get() = null
|
||||||
|
|||||||
Reference in New Issue
Block a user