Convert evaluator interface to function

This commit is contained in:
Ilya Chernikov
2018-07-16 10:10:33 +02:00
parent 9b7eeebaaa
commit 5ca4a21edf
3 changed files with 3 additions and 5 deletions
@@ -26,9 +26,7 @@ data class EvaluationResult(val returnValue: Any?, val environment: ScriptEvalua
interface ScriptEvaluator {
// constructor(properties: ScriptDefinitionPropertiesBag) // the constructor is expected from implementations
suspend fun eval(
suspend operator fun invoke(
compiledScript: CompiledScript<*>,
scriptEvaluationEnvironment: ScriptEvaluationEnvironment
): ResultWithDiagnostics<EvaluationResult>
@@ -40,7 +40,7 @@ abstract class BasicScriptingHost(
when (compiled) {
is ResultWithDiagnostics.Failure -> compiled
is ResultWithDiagnostics.Success -> {
evaluator.eval(compiled.value, environment)
evaluator(compiled.value, environment)
}
}
}
@@ -9,7 +9,7 @@ import kotlin.script.experimental.api.*
open class BasicJvmScriptEvaluator() : ScriptEvaluator {
override suspend fun eval(
override suspend operator fun invoke(
compiledScript: CompiledScript<*>,
scriptEvaluationEnvironment: ScriptEvaluationEnvironment
): ResultWithDiagnostics<EvaluationResult> =