diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/repl/GenericReplEvaluator.kt b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/repl/GenericReplEvaluator.kt index 162799db033..7f8f79de8b1 100644 --- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/repl/GenericReplEvaluator.kt +++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/repl/GenericReplEvaluator.kt @@ -110,7 +110,7 @@ open class GenericReplEvaluator( val resultFieldName = scriptResultFieldName(compileResult.lineId.no) val resultField = scriptClass.getDeclaredField(resultFieldName).apply { isAccessible = true } - val resultValue: Any? = resultField.get(scriptInstance) + val resultValue: Any? = if (!compileResult.isFunctionType) resultField.get(scriptInstance) else "" return if (compileResult.hasResult) ReplEvalResult.ValueResult(resultFieldName, resultValue, compileResult.type) else ReplEvalResult.UnitResult() diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/repl/ReplApi.kt b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/repl/ReplApi.kt index 569035fda60..ecc02606308 100644 --- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/repl/ReplApi.kt +++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/repl/ReplApi.kt @@ -89,7 +89,8 @@ sealed class ReplCompileResult : Serializable { val classes: List, val hasResult: Boolean, val classpathAddendum: List, - val type: String?) : ReplCompileResult() { + val type: String?, + val isFunctionType: Boolean) : ReplCompileResult() { companion object { private val serialVersionUID: Long = 2L } } diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/GenericReplCompiler.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/GenericReplCompiler.kt index ae98c44a53a..d56fb5972ec 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/GenericReplCompiler.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/GenericReplCompiler.kt @@ -18,6 +18,7 @@ package org.jetbrains.kotlin.cli.jvm.repl import com.intellij.openapi.Disposable import com.intellij.openapi.util.Disposer +import org.jetbrains.kotlin.builtins.isFunctionType import org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.cli.common.repl.* @@ -124,7 +125,8 @@ open class GenericReplCompiler( classpathAddendum ?: emptyList(), generationState.replSpecific.resultType?.let { DescriptorRenderer.FQ_NAMES_IN_TYPES.renderType(it) - } + }, + type?.isFunctionType ?: false ) } }