Support named arguments in their own position
^KT-7745 In Proggress
This commit is contained in:
+28
@@ -0,0 +1,28 @@
|
||||
// !LANGUAGE: +NewInference +MixedNamedArgumentsInTheirOwnPosition
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
// SKIP_TXT
|
||||
|
||||
fun foo(
|
||||
p1: Int = 1,
|
||||
p2: String = "",
|
||||
p3: Double = 3.0,
|
||||
p4: Char = '4'
|
||||
) {}
|
||||
|
||||
fun main() {
|
||||
foo(p1 = 1, "2", 3.0)
|
||||
foo(1, p2 = "2", 3.0)
|
||||
foo(1, "2", p3 = 3.0)
|
||||
|
||||
foo(p1 = 1)
|
||||
foo(1, p2 = "2")
|
||||
|
||||
foo(p1 = 1, p2 = "2", 3.0)
|
||||
|
||||
foo()
|
||||
foo(1, p2 = "")
|
||||
foo(p3 = 4.0, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>'4'<!>)
|
||||
|
||||
foo(1, p3 = 2.0, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>""<!>)
|
||||
foo(1, p3 = 2.0, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>3.0<!>)
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
// !LANGUAGE: +NewInference -MixedNamedArgumentsInTheirOwnPosition
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
// SKIP_TXT
|
||||
|
||||
fun foo(
|
||||
p1: Int,
|
||||
p2: String,
|
||||
p3: Double
|
||||
) {}
|
||||
|
||||
fun main() {
|
||||
foo(p1 = 1, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>"2"<!>, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>3.0<!><!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
foo(1, p2 = "2", <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>3.0<!><!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
foo(1, "2", p3 = 3.0)
|
||||
|
||||
foo(p1 = 1, p2 = "2", <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>3.0<!><!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
|
||||
foo(1, p3 = 2.0, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>""<!><!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
foo(1, p3 = 2.0, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>3.0<!><!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
// !LANGUAGE: -NewInference +MixedNamedArgumentsInTheirOwnPosition
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
// SKIP_TXT
|
||||
|
||||
fun foo(
|
||||
p1: Int,
|
||||
p2: String,
|
||||
p3: Double
|
||||
) {}
|
||||
|
||||
fun main() {
|
||||
foo(p1 = 1, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>"2"<!>, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>3.0<!><!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
foo(1, p2 = "2", <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>3.0<!><!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
foo(1, "2", p3 = 3.0)
|
||||
|
||||
foo(p1 = 1, p2 = "2", <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>3.0<!><!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
|
||||
foo(1, p3 = 2.0, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>""<!><!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
foo(1, p3 = 2.0, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>3.0<!><!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
// !LANGUAGE: +NewInference +MixedNamedArgumentsInTheirOwnPosition
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
// SKIP_TXT
|
||||
|
||||
fun foo(
|
||||
p1: Int,
|
||||
p2: String,
|
||||
p3: Double
|
||||
) {}
|
||||
|
||||
fun main() {
|
||||
foo(p1 = 1, "2", 3.0)
|
||||
foo(1, p2 = "2", 3.0)
|
||||
foo(1, "2", p3 = 3.0)
|
||||
|
||||
foo(p1 = 1, p2 = "2", 3.0)
|
||||
|
||||
foo(1, p3 = 2.0, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>""<!><!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
foo(1, p3 = 2.0, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>3.0<!><!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
// !LANGUAGE: +NewInference +MixedNamedArgumentsInTheirOwnPosition
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
// SKIP_TXT
|
||||
|
||||
fun foo1(
|
||||
vararg p1: Int,
|
||||
p2: String,
|
||||
p3: Double
|
||||
) {}
|
||||
|
||||
fun foo2(
|
||||
p1: Int,
|
||||
vararg p2: String,
|
||||
p3: Double
|
||||
) {}
|
||||
|
||||
fun foo3(
|
||||
p1: Int,
|
||||
p2: String,
|
||||
vararg p3: Double
|
||||
) {}
|
||||
|
||||
fun foo4(
|
||||
p1: Int,
|
||||
vararg p2: String,
|
||||
p3: Double,
|
||||
p4: Int
|
||||
) {}
|
||||
|
||||
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(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, p3 = 3.0)
|
||||
|
||||
foo3(p1 = 1, "2", 3.0, 4.0)
|
||||
foo3(p1 = 1, "2", p3 = *doubleArrayOf(3.0, 4.0))
|
||||
|
||||
foo4(p1 = 1, "2", "3", p3 = 4.0, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>5<!><!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
foo4(1, "2", "3", p3 = 4.0, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>5<!><!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
foo4(1, p3 = 4.0, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>5<!><!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
|
||||
foo1(1, 2, p3 = 3.0, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>"4"<!><!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
foo1(1, 2, p3 = 3.0, p2 = "4")
|
||||
foo1(*intArrayOf(1, 2), p3 = 3.0, p2 = "4")
|
||||
|
||||
foo2(1, p3 = 2.0, <!MIXING_NAMED_AND_POSITIONED_ARGUMENTS!>"4"<!>)
|
||||
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")
|
||||
}
|
||||
Reference in New Issue
Block a user