Fix -Xuse-mixed-named-arguments compiler arg

This commit is contained in:
Dmitriy Novozhilov
2019-11-08 15:17:41 +03:00
parent 8561f08f06
commit 45523a5767
5 changed files with 28 additions and 1 deletions
@@ -311,7 +311,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
value = "-Xuse-mixed-named-arguments",
description = "Enable Support named arguments in their own position even if the result appears as mixed"
)
val useMixedNamedArguments: Boolean by FreezableVar(false)
var useMixedNamedArguments: Boolean by FreezableVar(false)
@Argument(value = "-Xdisable-default-scripting-plugin", description = "Do not enable scripting plugin by default")
var disableDefaultScriptingPlugin: Boolean by FreezableVar(false)
@@ -0,0 +1,5 @@
$TESTDATA_DIR$/useMixedNamedArgumentsFlag.kt
-Xuse-mixed-named-arguments
-Xnew-inference
-d
$TEMP_DIR$
@@ -0,0 +1,5 @@
fun foo(x: Int, y: Int, z: Int) {}
fun test() {
foo(1, y = 2, 3)
}
@@ -0,0 +1,12 @@
warning: some JAR files in the classpath have the Kotlin Runtime library bundled into them. This may cause difficult to debug problems if there's a different version of the Kotlin Runtime library in the classpath. Consider removing these libraries from the classpath
dist/kotlinc/lib/kotlin-reflect.jar: warning: library has Kotlin runtime bundled into it
compiler/testData/cli/jvm/useMixedNamedArgumentsFlag.kt:1:9: warning: parameter 'x' is never used
fun foo(x: Int, y: Int, z: Int) {}
^
compiler/testData/cli/jvm/useMixedNamedArgumentsFlag.kt:1:17: warning: parameter 'y' is never used
fun foo(x: Int, y: Int, z: Int) {}
^
compiler/testData/cli/jvm/useMixedNamedArgumentsFlag.kt:1:25: warning: parameter 'z' is never used
fun foo(x: Int, y: Int, z: Int) {}
^
OK
@@ -645,6 +645,11 @@ public class CliTestGenerated extends AbstractCliTest {
runTest("compiler/testData/cli/jvm/unsupportedTypeAlias.args");
}
@TestMetadata("useMixedNamedArgumentsFlag.args")
public void testUseMixedNamedArgumentsFlag() throws Exception {
runTest("compiler/testData/cli/jvm/useMixedNamedArgumentsFlag.args");
}
@TestMetadata("warningJdkWithNoJdk.args")
public void testWarningJdkWithNoJdk() throws Exception {
runTest("compiler/testData/cli/jvm/warningJdkWithNoJdk.args");