Add expression type string to the REPL API
PR-1131
This commit is contained in:
committed by
Ilya Chernikov
parent
8783f7a94e
commit
d165ea9ea7
+1
-1
@@ -110,7 +110,7 @@ open class GenericReplEvaluator(val baseClasspath: Iterable<File>,
|
||||
val resultField = scriptClass.getDeclaredField(SCRIPT_RESULT_FIELD_NAME).apply { isAccessible = true }
|
||||
val resultValue: Any? = resultField.get(scriptInstance)
|
||||
|
||||
return if (compileResult.hasResult) ReplEvalResult.ValueResult(resultValue)
|
||||
return if (compileResult.hasResult) ReplEvalResult.ValueResult(resultValue, compileResult.type)
|
||||
else ReplEvalResult.UnitResult()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,7 +83,8 @@ sealed class ReplCompileResult : Serializable {
|
||||
val mainClassName: String,
|
||||
val classes: List<CompiledClassData>,
|
||||
val hasResult: Boolean,
|
||||
val classpathAddendum: List<File>) : ReplCompileResult()
|
||||
val classpathAddendum: List<File>,
|
||||
val type: String?) : ReplCompileResult()
|
||||
|
||||
class Incomplete : ReplCompileResult()
|
||||
|
||||
@@ -110,8 +111,8 @@ interface ReplEvalAction {
|
||||
}
|
||||
|
||||
sealed class ReplEvalResult : Serializable {
|
||||
class ValueResult(val value: Any?) : ReplEvalResult() {
|
||||
override fun toString(): String = "Result: $value"
|
||||
class ValueResult(val value: Any?, val type: String?) : ReplEvalResult() {
|
||||
override fun toString(): String = "$value : $type"
|
||||
}
|
||||
|
||||
class UnitResult : ReplEvalResult()
|
||||
|
||||
Reference in New Issue
Block a user