Rename ScriptEvaluationEnvironment into ScriptEvaluationConfiguration
This commit is contained in:
@@ -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>
|
||||
}
|
||||
|
||||
+2
-2
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user