Introduce warning for the changing arguments execution order for named varargs (KT-17691)

This commit is contained in:
Victor Petukhov
2020-09-29 15:34:49 +03:00
parent d62c665e99
commit d02432cf93
43 changed files with 1187 additions and 75 deletions
@@ -29,12 +29,12 @@ fun foo4(
fun main() {
foo1(1, 2, p2 = "3", <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>4.0<!><!NO_VALUE_FOR_PARAMETER!>)<!>
foo1(p1 = intArrayOf(1, 2), "3", p3 = 4.0)
foo1(<!CHANGING_ARGUMENTS_EXECUTION_ORDER_FOR_NAMED_VARARGS!>p1 = intArrayOf(1, 2)<!>, "3", p3 = 4.0)
foo1(p2 = "3", <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>4.0<!><!NO_VALUE_FOR_PARAMETER!>)<!>
foo2(p1 = 1, "2", "3", p3 = 4.0)
foo2(1, p2 = arrayOf("2", "3"), 4.0)
foo2(1, <!CHANGING_ARGUMENTS_EXECUTION_ORDER_FOR_NAMED_VARARGS!>p2 = arrayOf("2", "3")<!>, 4.0)
foo2(1, p3 = 3.0)
foo3(p1 = 1, "2", 3.0, 4.0)
@@ -52,6 +52,6 @@ fun main() {
foo2(1, p3 = 2.0, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>*arrayOf("3", "4")<!>)
foo2(1, p3 = 2.0, p2 = arrayOf("3", "4"))
foo3(1, p3 = doubleArrayOf(2.0, 3.0), <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>"4"<!><!NO_VALUE_FOR_PARAMETER!>)<!>
foo3(1, p3 = doubleArrayOf(2.0, 3.0), p2 = "4")
foo3(1, <!CHANGING_ARGUMENTS_EXECUTION_ORDER_FOR_NAMED_VARARGS!>p3 = doubleArrayOf(2.0, 3.0)<!>, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>"4"<!><!NO_VALUE_FOR_PARAMETER!>)<!>
foo3(1, <!CHANGING_ARGUMENTS_EXECUTION_ORDER_FOR_NAMED_VARARGS!>p3 = doubleArrayOf(2.0, 3.0)<!>, p2 = "4")
}