Refactor repl and JSR 223 support code, add separate example jars for each type of JSR 223 repl (with tests)

This commit is contained in:
Ilya Chernikov
2016-09-26 17:56:26 +02:00
parent 079fece9b4
commit 10d259771c
22 changed files with 925 additions and 152 deletions
@@ -181,10 +181,12 @@ open class GenericRepl(
scriptDefinition: KotlinScriptDefinition,
compilerConfiguration: CompilerConfiguration,
messageCollector: MessageCollector,
baseClassloader: ClassLoader?
baseClassloader: ClassLoader?,
scriptArgs: Array<Any?>? = null,
scriptArgsTypes: Array<Class<*>>? = null
) : ReplEvaluator, GenericReplCompiler(disposable, scriptDefinition, compilerConfiguration, messageCollector) {
private val compiledEvaluator = GenericReplCompiledEvaluator(compilerConfiguration.jvmClasspathRoots, baseClassloader)
private val compiledEvaluator = GenericReplCompiledEvaluator(compilerConfiguration.jvmClasspathRoots, baseClassloader, scriptArgs, scriptArgsTypes)
override fun eval(codeLine: ReplCodeLine, history: Iterable<ReplCodeLine>): ReplEvalResult = synchronized(this) {
return compileAndEval(this, compiledEvaluator, codeLine, history)