Add REPL interfaces to scripting API

This commit is contained in:
Ilya Chernikov
2018-07-16 10:31:58 +02:00
parent 5ca4a21edf
commit d0ed86c11c
8 changed files with 180 additions and 3 deletions
@@ -22,7 +22,15 @@ object ScriptEvaluationEnvironmentParams {
typealias ScriptEvaluationEnvironment = ChainedPropertyBag
data class EvaluationResult(val returnValue: Any?, val environment: ScriptEvaluationEnvironment)
sealed class ResultValue {
class Value(val name: String, val value: Any?, val type: String) : ResultValue() {
override fun toString(): String = "$name: $type = $value"
}
object Unit : ResultValue()
}
data class EvaluationResult(val returnValue: ResultValue, val environment: ScriptEvaluationEnvironment)
interface ScriptEvaluator {