Enable runtime string concatenation by default (for -Xjvm-target=9 or greater)
#KT-42522 Fixed
This commit is contained in:
+1
-1
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user