[FIR] Improve mapping arguments to parameters
This commit is contained in:
+2
-2
@@ -12,11 +12,11 @@ fun foo() {}
|
||||
fun test_fun(s: String, arr: Array<String>) {
|
||||
<!INAPPLICABLE_CANDIDATE!>withVararg<!>(arr) // Error
|
||||
withVararg(*arr) // OK
|
||||
<!INAPPLICABLE_CANDIDATE!>withVararg<!>(s = arr) // Error
|
||||
withVararg(s = arr) // Error
|
||||
withVararg(s = *arr) // OK
|
||||
|
||||
withVararg(s) // OK
|
||||
withVararg(s = s) // Error
|
||||
<!INAPPLICABLE_CANDIDATE!>withVararg<!>(s = s) // Error
|
||||
}
|
||||
|
||||
fun test_ann(s: String, arr: Array<String>) {
|
||||
|
||||
+2
-2
@@ -12,11 +12,11 @@ fun foo() {}
|
||||
fun test_fun(s: String, arr: Array<String>) {
|
||||
<!INAPPLICABLE_CANDIDATE!>withVararg<!>(arr) // Error
|
||||
withVararg(*arr) // OK
|
||||
<!INAPPLICABLE_CANDIDATE!>withVararg<!>(s = arr) // OK
|
||||
withVararg(s = arr) // OK
|
||||
withVararg(s = *arr) // Warning
|
||||
|
||||
withVararg(s) // OK
|
||||
withVararg(s = s) // Error
|
||||
<!INAPPLICABLE_CANDIDATE!>withVararg<!>(s = s) // Error
|
||||
}
|
||||
|
||||
fun test_ann(s: String, arr: Array<String>) {
|
||||
|
||||
+15
-15
@@ -7,27 +7,27 @@ fun foo(vararg s: Int) {}
|
||||
open class Cls(vararg p: Long)
|
||||
|
||||
fun test(i: IntArray) {
|
||||
foo(s = 1)
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(s = i)
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(s = 1)
|
||||
foo(s = i)
|
||||
foo(s = *i)
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(s = intArrayOf(1))
|
||||
foo(s = intArrayOf(1))
|
||||
foo(s = *intArrayOf(1))
|
||||
foo(1)
|
||||
|
||||
Cls(p = 1)
|
||||
<!INAPPLICABLE_CANDIDATE!>Cls<!>(p = 1)
|
||||
|
||||
class Sub : Cls(p = 1)
|
||||
class Sub : <!INAPPLICABLE_CANDIDATE!>Cls<!>(p = 1)
|
||||
|
||||
val c = object : Cls(p = 1) {}
|
||||
val c = object : <!INAPPLICABLE_CANDIDATE!>Cls<!>(p = 1) {}
|
||||
|
||||
foo(s = *intArrayOf(elements = 1))
|
||||
foo(s = *<!INAPPLICABLE_CANDIDATE!>intArrayOf<!>(elements = 1))
|
||||
}
|
||||
|
||||
|
||||
fun anyFoo(vararg a: Any) {}
|
||||
|
||||
fun testAny() {
|
||||
anyFoo(a = "")
|
||||
<!INAPPLICABLE_CANDIDATE!>anyFoo<!>(a = "")
|
||||
anyFoo(a = arrayOf(""))
|
||||
anyFoo(a = *arrayOf(""))
|
||||
}
|
||||
@@ -35,12 +35,12 @@ fun testAny() {
|
||||
fun <T> genFoo(vararg t: T) {}
|
||||
|
||||
fun testGen() {
|
||||
genFoo<Int>(t = 1)
|
||||
genFoo<Int?>(t = null)
|
||||
<!INAPPLICABLE_CANDIDATE!>genFoo<!><Int>(t = 1)
|
||||
<!INAPPLICABLE_CANDIDATE!>genFoo<!><Int?>(t = null)
|
||||
genFoo<Array<Int>>(t = arrayOf())
|
||||
genFoo<Array<Int>>(t = *arrayOf(arrayOf()))
|
||||
|
||||
genFoo(t = "")
|
||||
<!INAPPLICABLE_CANDIDATE!>genFoo<!>(t = "")
|
||||
genFoo(t = arrayOf(""))
|
||||
genFoo(t = *arrayOf(""))
|
||||
}
|
||||
@@ -49,12 +49,12 @@ fun manyFoo(vararg v: Int) {}
|
||||
fun manyFoo(vararg s: String) {}
|
||||
|
||||
fun testMany(a: Any) {
|
||||
manyFoo(v = 1)
|
||||
manyFoo(s = "")
|
||||
<!INAPPLICABLE_CANDIDATE!>manyFoo<!>(v = 1)
|
||||
<!INAPPLICABLE_CANDIDATE!>manyFoo<!>(s = "")
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>manyFoo<!>(a)
|
||||
<!INAPPLICABLE_CANDIDATE!>manyFoo<!>(v = a)
|
||||
<!INAPPLICABLE_CANDIDATE!>manyFoo<!>(s = a)
|
||||
manyFoo(v = a as Int)
|
||||
manyFoo(s = a as String)
|
||||
<!INAPPLICABLE_CANDIDATE!>manyFoo<!>(v = a as Int)
|
||||
<!INAPPLICABLE_CANDIDATE!>manyFoo<!>(s = a as String)
|
||||
}
|
||||
+15
-15
@@ -7,27 +7,27 @@ fun foo(vararg s: Int) {}
|
||||
open class Cls(vararg p: Long)
|
||||
|
||||
fun test(i: IntArray) {
|
||||
foo(s = 1)
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(s = i)
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(s = 1)
|
||||
foo(s = i)
|
||||
foo(s = *i)
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(s = intArrayOf(1))
|
||||
foo(s = intArrayOf(1))
|
||||
foo(s = *intArrayOf(1))
|
||||
foo(1)
|
||||
|
||||
Cls(p = 1)
|
||||
<!INAPPLICABLE_CANDIDATE!>Cls<!>(p = 1)
|
||||
|
||||
class Sub : Cls(p = 1)
|
||||
class Sub : <!INAPPLICABLE_CANDIDATE!>Cls<!>(p = 1)
|
||||
|
||||
val c = object : Cls(p = 1) {}
|
||||
val c = object : <!INAPPLICABLE_CANDIDATE!>Cls<!>(p = 1) {}
|
||||
|
||||
foo(s = *intArrayOf(elements = 1))
|
||||
foo(s = *<!INAPPLICABLE_CANDIDATE!>intArrayOf<!>(elements = 1))
|
||||
}
|
||||
|
||||
|
||||
fun anyFoo(vararg a: Any) {}
|
||||
|
||||
fun testAny() {
|
||||
anyFoo(a = "")
|
||||
<!INAPPLICABLE_CANDIDATE!>anyFoo<!>(a = "")
|
||||
anyFoo(a = arrayOf(""))
|
||||
anyFoo(a = *arrayOf(""))
|
||||
}
|
||||
@@ -35,12 +35,12 @@ fun testAny() {
|
||||
fun <T> genFoo(vararg t: T) {}
|
||||
|
||||
fun testGen() {
|
||||
genFoo<Int>(t = 1)
|
||||
genFoo<Int?>(t = null)
|
||||
<!INAPPLICABLE_CANDIDATE!>genFoo<!><Int>(t = 1)
|
||||
<!INAPPLICABLE_CANDIDATE!>genFoo<!><Int?>(t = null)
|
||||
genFoo<Array<Int>>(t = arrayOf())
|
||||
genFoo<Array<Int>>(t = *arrayOf(arrayOf()))
|
||||
|
||||
genFoo(t = "")
|
||||
<!INAPPLICABLE_CANDIDATE!>genFoo<!>(t = "")
|
||||
genFoo(t = arrayOf(""))
|
||||
genFoo(t = *arrayOf(""))
|
||||
}
|
||||
@@ -49,12 +49,12 @@ fun manyFoo(vararg v: Int) {}
|
||||
fun manyFoo(vararg s: String) {}
|
||||
|
||||
fun testMany(a: Any) {
|
||||
manyFoo(v = 1)
|
||||
manyFoo(s = "")
|
||||
<!INAPPLICABLE_CANDIDATE!>manyFoo<!>(v = 1)
|
||||
<!INAPPLICABLE_CANDIDATE!>manyFoo<!>(s = "")
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>manyFoo<!>(a)
|
||||
<!INAPPLICABLE_CANDIDATE!>manyFoo<!>(v = a)
|
||||
<!INAPPLICABLE_CANDIDATE!>manyFoo<!>(s = a)
|
||||
manyFoo(v = a as Int)
|
||||
manyFoo(s = a as String)
|
||||
<!INAPPLICABLE_CANDIDATE!>manyFoo<!>(v = a as Int)
|
||||
<!INAPPLICABLE_CANDIDATE!>manyFoo<!>(s = a as String)
|
||||
}
|
||||
+1
-1
@@ -45,5 +45,5 @@ fun foo(vararg i: Int) {}
|
||||
|
||||
@Ann(s = "value")
|
||||
fun dep1() {
|
||||
foo(i = 1)
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(i = 1)
|
||||
}
|
||||
Vendored
+1
-1
@@ -15,6 +15,6 @@ fun f2() {}
|
||||
fun foo(vararg ints: Int) {}
|
||||
|
||||
fun test() {
|
||||
foo(ints = 1)
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(ints = 1)
|
||||
foo(ints = *intArrayOf(1))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user