Rename ScriptEvaluationEnvironment into ScriptEvaluationConfiguration

This commit is contained in:
Ilya Chernikov
2018-08-21 13:01:45 +03:00
parent bb22dadc1e
commit 2fe5f78921
6 changed files with 23 additions and 23 deletions
@@ -129,5 +129,5 @@ interface CompiledScript<out ScriptBase : Any> {
val compilationConfiguration: ScriptCompilationConfiguration
suspend fun instantiate(scriptEvaluationEnvironment: ScriptEvaluationEnvironment?): ResultWithDiagnostics<ScriptBase>
suspend fun instantiate(scriptEvaluationConfiguration: ScriptEvaluationConfiguration?): ResultWithDiagnostics<ScriptBase>
}
@@ -9,30 +9,30 @@ package kotlin.script.experimental.api
import kotlin.script.experimental.util.PropertiesCollection
interface ScriptEvaluationEnvironmentKeys
interface ScriptEvaluationConfigurationKeys
class ScriptEvaluationEnvironment(baseEvaluationEnvironments: Iterable<ScriptEvaluationEnvironment>, body: Builder.() -> Unit) :
class ScriptEvaluationConfiguration(baseEvaluationEnvironments: Iterable<ScriptEvaluationConfiguration>, body: Builder.() -> Unit) :
PropertiesCollection(Builder(baseEvaluationEnvironments).apply(body).data) {
constructor(body: Builder.() -> Unit = {}) : this(emptyList(), body)
constructor(
vararg baseEvaluationEnvironments: ScriptEvaluationEnvironment, body: Builder.() -> Unit = {}
) : this(baseEvaluationEnvironments.asIterable(), body)
vararg baseConfigurations: ScriptEvaluationConfiguration, body: Builder.() -> Unit = {}
) : this(baseConfigurations.asIterable(), body)
class Builder internal constructor(baseEvaluationEnvironments: Iterable<ScriptEvaluationEnvironment>) :
class Builder internal constructor(baseEvaluationEnvironments: Iterable<ScriptEvaluationConfiguration>) :
ScriptCompilationConfigurationKeys,
PropertiesCollection.Builder(baseEvaluationEnvironments)
companion object : ScriptEvaluationEnvironmentKeys
companion object : ScriptEvaluationConfigurationKeys
}
val ScriptEvaluationEnvironmentKeys.implicitReceivers by PropertiesCollection.key<List<Any>>()
val ScriptEvaluationConfigurationKeys.implicitReceivers by PropertiesCollection.key<List<Any>>()
val ScriptEvaluationEnvironmentKeys.contextVariables by PropertiesCollection.key<Map<String, Any?>>() // external variables
val ScriptEvaluationConfigurationKeys.contextVariables by PropertiesCollection.key<Map<String, Any?>>() // external variables
val ScriptEvaluationEnvironmentKeys.constructorArgs by PropertiesCollection.key<List<Any?>>()
val ScriptEvaluationConfigurationKeys.constructorArgs by PropertiesCollection.key<List<Any?>>()
val ScriptEvaluationEnvironmentKeys.runArgs by PropertiesCollection.key<List<Any?>>()
val ScriptEvaluationConfigurationKeys.runArgs by PropertiesCollection.key<List<Any?>>()
sealed class ResultValue {
class Value(val name: String, val value: Any?, val type: String) : ResultValue() {
@@ -42,12 +42,12 @@ sealed class ResultValue {
object Unit : ResultValue()
}
data class EvaluationResult(val returnValue: ResultValue, val environment: ScriptEvaluationEnvironment?)
data class EvaluationResult(val returnValue: ResultValue, val configuration: ScriptEvaluationConfiguration?)
interface ScriptEvaluator {
suspend operator fun invoke(
compiledScript: CompiledScript<*>,
scriptEvaluationEnvironment: ScriptEvaluationEnvironment?
scriptEvaluationConfiguration: ScriptEvaluationConfiguration?
): ResultWithDiagnostics<EvaluationResult>
}
@@ -31,11 +31,11 @@ abstract class BasicScriptingHost(
open fun eval(
script: ScriptSource,
scriptCompilationConfiguration: ScriptCompilationConfiguration,
environment: ScriptEvaluationEnvironment?
configuration: ScriptEvaluationConfiguration?
): ResultWithDiagnostics<EvaluationResult> =
runInCoroutineContext {
compiler(script, scriptCompilationConfiguration).onSuccess {
evaluator(it, environment)
evaluator(it, configuration)
}
}
}