Files
kotlin-fork/compiler/testData/diagnostics/tests/namedArguments/mixedNamedPosition/varargs.fir.kt
T
2020-02-14 17:53:28 +03:00

58 lines
1.4 KiB
Kotlin
Vendored

// !LANGUAGE: +NewInference +MixedNamedArgumentsInTheirOwnPosition +AllowAssigningArrayElementsToVarargsInNamedFormForFunctions
// !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() {
<!INAPPLICABLE_CANDIDATE!>foo1<!>(1, 2, p2 = "3", 4.0)
foo1(p1 = intArrayOf(1, 2), "3", p3 = 4.0)
<!INAPPLICABLE_CANDIDATE!>foo1<!>(p2 = "3", 4.0)
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))
<!INAPPLICABLE_CANDIDATE!>foo4<!>(p1 = 1, "2", "3", p3 = 4.0, 5)
<!INAPPLICABLE_CANDIDATE!>foo4<!>(1, "2", "3", p3 = 4.0, 5)
<!INAPPLICABLE_CANDIDATE!>foo4<!>(1, p3 = 4.0, 5)
<!INAPPLICABLE_CANDIDATE!>foo1<!>(1, 2, p3 = 3.0, "4")
foo1(1, 2, p3 = 3.0, p2 = "4")
foo1(*intArrayOf(1, 2), p3 = 3.0, p2 = "4")
<!INAPPLICABLE_CANDIDATE!>foo2<!>(1, p3 = 2.0, "4")
<!INAPPLICABLE_CANDIDATE!>foo2<!>(1, p3 = 2.0, *arrayOf("3", "4"))
foo2(1, p3 = 2.0, p2 = arrayOf("3", "4"))
<!INAPPLICABLE_CANDIDATE!>foo3<!>(1, p3 = doubleArrayOf(2.0, 3.0), "4")
foo3(1, p3 = doubleArrayOf(2.0, 3.0), p2 = "4")
}