Fix arguments processing with scriting with old backend by default
This commit is contained in:
@@ -202,11 +202,13 @@ fun CompilerConfiguration.configureAdvancedJvmOptions(arguments: K2JVMCompilerAr
|
|||||||
|
|
||||||
put(JVMConfigurationKeys.PARAMETERS_METADATA, arguments.javaParameters)
|
put(JVMConfigurationKeys.PARAMETERS_METADATA, arguments.javaParameters)
|
||||||
|
|
||||||
|
// TODO: ignore previous configuration value when we do not need old backend in scripting by default
|
||||||
|
val useOldBackend = arguments.useOldBackend || get(JVMConfigurationKeys.IR) == false
|
||||||
val useIR = arguments.useFir ||
|
val useIR = arguments.useFir ||
|
||||||
if (languageVersionSettings.supportsFeature(LanguageFeature.JvmIrEnabledByDefault)) {
|
if (languageVersionSettings.supportsFeature(LanguageFeature.JvmIrEnabledByDefault)) {
|
||||||
!arguments.useOldBackend
|
!useOldBackend
|
||||||
} else {
|
} else {
|
||||||
arguments.useIR && !arguments.useOldBackend
|
arguments.useIR && !useOldBackend
|
||||||
}
|
}
|
||||||
|
|
||||||
if (arguments.useIR && arguments.useOldBackend) {
|
if (arguments.useIR && arguments.useOldBackend) {
|
||||||
|
|||||||
+9
@@ -25,6 +25,7 @@ import org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar
|
|||||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||||
import org.jetbrains.kotlin.config.JVMConfigurationKeys
|
import org.jetbrains.kotlin.config.JVMConfigurationKeys
|
||||||
import org.jetbrains.kotlin.scripting.compiler.plugin.impl.reporter
|
import org.jetbrains.kotlin.scripting.compiler.plugin.impl.reporter
|
||||||
|
import org.jetbrains.kotlin.scripting.compiler.plugin.impl.updateWithCompilerOptions
|
||||||
import org.jetbrains.kotlin.scripting.configuration.ScriptingConfigurationKeys
|
import org.jetbrains.kotlin.scripting.configuration.ScriptingConfigurationKeys
|
||||||
import org.jetbrains.kotlin.scripting.definitions.SCRIPT_DEFINITION_MARKERS_PATH
|
import org.jetbrains.kotlin.scripting.definitions.SCRIPT_DEFINITION_MARKERS_PATH
|
||||||
import org.jetbrains.kotlin.scripting.definitions.discoverScriptTemplatesInClasspath
|
import org.jetbrains.kotlin.scripting.definitions.discoverScriptTemplatesInClasspath
|
||||||
@@ -76,6 +77,14 @@ class ScriptingCompilerPluginTest : TestCase() {
|
|||||||
return KotlinCoreEnvironment.createForTests(disposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES)
|
return KotlinCoreEnvironment.createForTests(disposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun testUseOldBackendPreservedOnOptionsUpdate() {
|
||||||
|
val configuration = KotlinTestUtils.newConfiguration(ConfigurationKind.NO_KOTLIN_REFLECT, TestJdkKind.FULL_JDK).apply {
|
||||||
|
put(JVMConfigurationKeys.IR, false)
|
||||||
|
updateWithCompilerOptions(emptyList())
|
||||||
|
}
|
||||||
|
Assert.assertEquals(configuration[JVMConfigurationKeys.IR], false)
|
||||||
|
}
|
||||||
|
|
||||||
fun testScriptResolverEnvironmentArgsParsing() {
|
fun testScriptResolverEnvironmentArgsParsing() {
|
||||||
|
|
||||||
val longStr = (1..100).joinToString("\\,") { """\" $it aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa \\""" }
|
val longStr = (1..100).joinToString("\\,") { """\" $it aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa \\""" }
|
||||||
|
|||||||
Reference in New Issue
Block a user