Enable runtime string concatenation by default (for -Xjvm-target=9 or greater)

#KT-42522 Fixed
This commit is contained in:
Mikhael Bogdanov
2021-04-26 15:04:19 +02:00
parent dc2485ae71
commit dfc6d85aee
3 changed files with 6 additions and 6 deletions
@@ -377,7 +377,7 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
default: `indy-with-constants` for JVM target 9 or greater, `inline` otherwise""" default: `indy-with-constants` for JVM target 9 or greater, `inline` otherwise"""
) )
var stringConcat: String? by NullableStringFreezableVar(JvmStringConcat.INLINE.description) var stringConcat: String? by NullableStringFreezableVar(null)
@Argument( @Argument(
value = "-Xsam-conversions", value = "-Xsam-conversions",
@@ -54,19 +54,20 @@ fun CompilerConfiguration.setupJvmSpecificArguments(arguments: K2JVMCompilerArgu
} }
} }
if (arguments.stringConcat != null) { val stringConcat = arguments.stringConcat
val runtimeStringConcat = JvmStringConcat.fromString(arguments.stringConcat!!) if (stringConcat != null) {
val runtimeStringConcat = JvmStringConcat.fromString(stringConcat)
if (runtimeStringConcat != null) { if (runtimeStringConcat != null) {
put(JVMConfigurationKeys.STRING_CONCAT, runtimeStringConcat) put(JVMConfigurationKeys.STRING_CONCAT, runtimeStringConcat)
if (jvmTarget.majorVersion < JvmTarget.JVM_9.majorVersion && runtimeStringConcat != JvmStringConcat.INLINE) { if (jvmTarget.majorVersion < JvmTarget.JVM_9.majorVersion && runtimeStringConcat != JvmStringConcat.INLINE) {
messageCollector.report( messageCollector.report(
WARNING, WARNING,
"`-Xstring-concat=${arguments.stringConcat}` does nothing with JVM target `${jvmTarget.description}`." "`-Xstring-concat=$stringConcat` does nothing with JVM target `${jvmTarget.description}`."
) )
} }
} else { } else {
messageCollector.report( messageCollector.report(
ERROR, "Unknown `-Xstring-concat` mode: ${arguments.stringConcat}\n" + ERROR, "Unknown `-Xstring-concat` mode: $stringConcat\n" +
"Supported modes: ${JvmStringConcat.values().joinToString { it.description }}" "Supported modes: ${JvmStringConcat.values().joinToString { it.description }}"
) )
} }
@@ -1,4 +1,3 @@
// KOTLIN_CONFIGURATION_FLAGS: STRING_CONCAT=indy-with-constants
// JVM_TARGET: 9 // JVM_TARGET: 9
class A class A