From 0fe793943df169b451adeff53f16091882a609f0 Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Tue, 12 Mar 2024 10:37:58 +0100 Subject: [PATCH] K2, REPL: Display a warning that LV 1.9 is used for REPL in K2 #KT-64384 fixed --- compiler/tests/org/jetbrains/kotlin/cli/LauncherReplTest.kt | 1 + .../scripting/compiler/plugin/repl/ReplFromTerminal.kt | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/compiler/tests/org/jetbrains/kotlin/cli/LauncherReplTest.kt b/compiler/tests/org/jetbrains/kotlin/cli/LauncherReplTest.kt index a1cf26ebc47..adfa8a8080e 100644 --- a/compiler/tests/org/jetbrains/kotlin/cli/LauncherReplTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/cli/LauncherReplTest.kt @@ -160,6 +160,7 @@ class LauncherReplTest : TestCaseWithTmpdir() { val replOutHeader = arrayOf( null to "Welcome to Kotlin version .*", + null to "Warning: REPL is not yet compatible with the Kotlin version .*, using '-language-version 1.9'.", null to "Type :help for help, :quit for quit" ) diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/ReplFromTerminal.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/ReplFromTerminal.kt index f37e1cfa923..c8d9002713c 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/ReplFromTerminal.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/ReplFromTerminal.kt @@ -11,6 +11,7 @@ import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys import org.jetbrains.kotlin.cli.common.messages.GroupingMessageCollector import org.jetbrains.kotlin.cli.common.repl.ReplEvalResult import org.jetbrains.kotlin.cli.common.repl.replUnescapeLineBreaks +import org.jetbrains.kotlin.config.CommonConfigurationKeys import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.config.KotlinCompilerVersion import org.jetbrains.kotlin.descriptors.runtime.components.tryLoadClass @@ -26,7 +27,7 @@ import java.util.concurrent.Future class ReplFromTerminal( projectEnvironment: JavaCoreProjectEnvironment, - compilerConfiguration: CompilerConfiguration, + private val compilerConfiguration: CompilerConfiguration, private val replConfiguration: ReplConfiguration ) { private val replInitializer: Future = Executors.newSingleThreadExecutor().submit(Callable { @@ -47,6 +48,9 @@ class ReplFromTerminal( "Welcome to Kotlin version ${KotlinCompilerVersion.VERSION} " + "(JRE ${System.getProperty("java.runtime.version")})" ) + if (compilerConfiguration.getBoolean(CommonConfigurationKeys.USE_FIR)) { + printlnWelcomeMessage("Warning: REPL is not yet compatible with the Kotlin version ${KotlinCompilerVersion.VERSION}, using '-language-version 1.9'.") + } printlnWelcomeMessage("Type :help for help, :quit for quit") }