Add argument unwrapping for case when argument is named

This commit is contained in:
Ivan Kylchik
2020-07-31 19:47:26 +03:00
committed by Mikhail Glukhikh
parent 2e2099afae
commit 0a28e5e031
13 changed files with 42 additions and 43 deletions
@@ -31,6 +31,6 @@ fun test_ann(s: String, arr: Array<String>) {
@Ann("", x = 1)
foo()
<!INAPPLICABLE_CANDIDATE!>@Ann(s = "", x = 1)<!>
@Ann(s = "", x = 1)
foo()
}
@@ -31,6 +31,6 @@ fun test_ann(s: String, arr: Array<String>) {
@Ann("", x = 1)
foo()
<!INAPPLICABLE_CANDIDATE!>@Ann(s = "", x = 1)<!>
@Ann(s = "", x = 1)
foo()
}
@@ -11,7 +11,7 @@
annotation class Ann(vararg val s: String)
<!INAPPLICABLE_CANDIDATE!>@Ann(s = "value")<!>
@Ann(s = "value")
fun test1() {}
@Ann(s = *arrayOf("value"))
@@ -20,7 +20,7 @@ fun test2() {}
@Ann(s = *["value"])
fun test3() {}
<!INAPPLICABLE_CANDIDATE!>@JavaAnn(value = "value")<!>
@JavaAnn(value = "value")
fun test4() {}
@JavaAnn("value", path = arrayOf("path"))
@@ -11,7 +11,7 @@
annotation class Ann(vararg val s: String)
<!INAPPLICABLE_CANDIDATE!>@Ann(s = "value")<!>
@Ann(s = "value")
fun test1() {}
@Ann(s = *arrayOf("value"))
@@ -20,7 +20,7 @@ fun test2() {}
@Ann(s = *["value"])
fun test3() {}
<!INAPPLICABLE_CANDIDATE!>@JavaAnn(value = "value")<!>
@JavaAnn(value = "value")
fun test4() {}
@JavaAnn("value", path = arrayOf("path"))
@@ -7,27 +7,27 @@ fun foo(vararg s: Int) {}
open class Cls(vararg p: Long)
fun test(i: IntArray) {
<!INAPPLICABLE_CANDIDATE!>foo<!>(s = 1)
foo(s = 1)
foo(s = i)
foo(s = *i)
foo(s = intArrayOf(1))
foo(s = *intArrayOf(1))
foo(1)
<!INAPPLICABLE_CANDIDATE!>Cls<!>(p = 1)
Cls(p = 1)
class Sub : <!INAPPLICABLE_CANDIDATE!>Cls<!>(p = 1)
class Sub : Cls(p = 1)
val c = object : <!INAPPLICABLE_CANDIDATE!>Cls<!>(p = 1) {}
val c = object : Cls(p = 1) {}
foo(s = *<!INAPPLICABLE_CANDIDATE!>intArrayOf<!>(elements = 1))
foo(s = *intArrayOf(elements = 1))
}
fun anyFoo(vararg a: Any) {}
fun testAny() {
<!INAPPLICABLE_CANDIDATE!>anyFoo<!>(a = "")
anyFoo(a = "")
anyFoo(a = arrayOf(""))
anyFoo(a = *arrayOf(""))
}
@@ -35,12 +35,12 @@ fun testAny() {
fun <T> genFoo(vararg t: T) {}
fun testGen() {
<!INAPPLICABLE_CANDIDATE!>genFoo<!><Int>(t = 1)
<!INAPPLICABLE_CANDIDATE!>genFoo<!><Int?>(t = null)
genFoo<Int>(t = 1)
genFoo<Int?>(t = null)
genFoo<Array<Int>>(t = arrayOf())
genFoo<Array<Int>>(t = *arrayOf(arrayOf()))
<!INAPPLICABLE_CANDIDATE!>genFoo<!>(t = "")
genFoo(t = "")
genFoo(t = arrayOf(""))
genFoo(t = *arrayOf(""))
}
@@ -49,8 +49,8 @@ fun manyFoo(vararg v: Int) {}
fun manyFoo(vararg s: String) {}
fun testMany(a: Any) {
<!NONE_APPLICABLE!>manyFoo<!>(v = 1)
<!NONE_APPLICABLE!>manyFoo<!>(s = "")
manyFoo(v = 1)
manyFoo(s = "")
<!NONE_APPLICABLE!>manyFoo<!>(a)
<!NONE_APPLICABLE!>manyFoo<!>(v = a)
@@ -7,27 +7,27 @@ fun foo(vararg s: Int) {}
open class Cls(vararg p: Long)
fun test(i: IntArray) {
<!INAPPLICABLE_CANDIDATE!>foo<!>(s = 1)
foo(s = 1)
foo(s = i)
foo(s = *i)
foo(s = intArrayOf(1))
foo(s = *intArrayOf(1))
foo(1)
<!INAPPLICABLE_CANDIDATE!>Cls<!>(p = 1)
Cls(p = 1)
class Sub : <!INAPPLICABLE_CANDIDATE!>Cls<!>(p = 1)
class Sub : Cls(p = 1)
val c = object : <!INAPPLICABLE_CANDIDATE!>Cls<!>(p = 1) {}
val c = object : Cls(p = 1) {}
foo(s = *<!INAPPLICABLE_CANDIDATE!>intArrayOf<!>(elements = 1))
foo(s = *intArrayOf(elements = 1))
}
fun anyFoo(vararg a: Any) {}
fun testAny() {
<!INAPPLICABLE_CANDIDATE!>anyFoo<!>(a = "")
anyFoo(a = "")
anyFoo(a = arrayOf(""))
anyFoo(a = *arrayOf(""))
}
@@ -35,12 +35,12 @@ fun testAny() {
fun <T> genFoo(vararg t: T) {}
fun testGen() {
<!INAPPLICABLE_CANDIDATE!>genFoo<!><Int>(t = 1)
<!INAPPLICABLE_CANDIDATE!>genFoo<!><Int?>(t = null)
genFoo<Int>(t = 1)
genFoo<Int?>(t = null)
genFoo<Array<Int>>(t = arrayOf())
genFoo<Array<Int>>(t = *arrayOf(arrayOf()))
<!INAPPLICABLE_CANDIDATE!>genFoo<!>(t = "")
genFoo(t = "")
genFoo(t = arrayOf(""))
genFoo(t = *arrayOf(""))
}
@@ -49,8 +49,8 @@ fun manyFoo(vararg v: Int) {}
fun manyFoo(vararg s: String) {}
fun testMany(a: Any) {
<!NONE_APPLICABLE!>manyFoo<!>(v = 1)
<!NONE_APPLICABLE!>manyFoo<!>(s = "")
manyFoo(v = 1)
manyFoo(s = "")
<!NONE_APPLICABLE!>manyFoo<!>(a)
<!NONE_APPLICABLE!>manyFoo<!>(v = a)
@@ -43,7 +43,7 @@ fun foo2() {}
fun foo(vararg i: Int) {}
<!INAPPLICABLE_CANDIDATE!>@Ann(s = "value")<!>
@Ann(s = "value")
fun dep1() {
<!INAPPLICABLE_CANDIDATE!>foo<!>(i = 1)
foo(i = 1)
}
@@ -4,7 +4,7 @@
annotation class Anno1(vararg val s: String)
annotation class Anno2(vararg val i: Int)
<!INAPPLICABLE_CANDIDATE!>@Anno1(s = "foo")<!>
@Anno1(s = "foo")
@Anno2(i = *intArrayOf(1))
fun f1() {}
@@ -15,6 +15,6 @@ fun f2() {}
fun foo(vararg ints: Int) {}
fun test() {
<!INAPPLICABLE_CANDIDATE!>foo<!>(ints = 1)
foo(ints = 1)
foo(ints = *intArrayOf(1))
}