FIR checkers: report specific errors instead of INAPPLICABLE_CANDIDATE
Specifically, the report the following 4 errors. * NON_VARARG_SPREAD * ARGUMENT_PASSED_TWICE * TOO_MANY_ARGUMENTS * NO_VALUE_FOR_PARAMETER Also added/updated the following position strategies. * NAME_OF_NAMED_ARGUMENT * VALUE_ARGUMENTS
This commit is contained in:
committed by
Mikhail Glukhikh
parent
fc8d0e3ee0
commit
761a0a7d0d
@@ -10,7 +10,7 @@ fun main() {
|
||||
join(1)
|
||||
join(1, "2")
|
||||
join(1, "2", "3")
|
||||
<!INAPPLICABLE_CANDIDATE!>join<!>(*1, "2")
|
||||
join(<!NON_VARARG_SPREAD!>*<!>1, "2")
|
||||
<!INAPPLICABLE_CANDIDATE!>join<!>(1, *"2")
|
||||
join(x = 1, a = "2")
|
||||
join(x = *1, a = *"2")
|
||||
@@ -30,7 +30,7 @@ fun main() {
|
||||
join(a = a, x = 1)
|
||||
|
||||
joinG<String>(1, "2")
|
||||
<!INAPPLICABLE_CANDIDATE!>joinG<!><String>(*1, "2")
|
||||
joinG<String>(<!NON_VARARG_SPREAD!>*<!>1, "2")
|
||||
<!INAPPLICABLE_CANDIDATE!>joinG<!><String>(1, *"2")
|
||||
joinG<String>(x = 1, a = a)
|
||||
joinG<String>(x = 1, a = "2")
|
||||
@@ -43,7 +43,7 @@ fun main() {
|
||||
joinG<String>(a = a, x = 1)
|
||||
|
||||
joinG(1, "2")
|
||||
<!INAPPLICABLE_CANDIDATE!>joinG<!>(*1, "2")
|
||||
joinG(<!NON_VARARG_SPREAD!>*<!>1, "2")
|
||||
<!INAPPLICABLE_CANDIDATE!>joinG<!>(1, *"2")
|
||||
joinG(x = 1, a = a)
|
||||
joinG(x = 1, a = "2")
|
||||
@@ -57,7 +57,7 @@ fun main() {
|
||||
|
||||
val x1 = joinT(1, "2")
|
||||
checkSubtype<String?>(x1)
|
||||
val x2 = <!INAPPLICABLE_CANDIDATE!>joinT<!>(*1, "2")
|
||||
val x2 = joinT(<!NON_VARARG_SPREAD!>*<!>1, "2")
|
||||
checkSubtype<String?>(x2)
|
||||
val x6 = joinT(1, *a)
|
||||
checkSubtype<String?>(x6)
|
||||
|
||||
@@ -31,5 +31,5 @@ fun test() {
|
||||
D[0] = ""
|
||||
D[0] = 2.72
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>Z[0]<!> = ""
|
||||
Z[<!TOO_MANY_ARGUMENTS!>0<!>] = <!TOO_MANY_ARGUMENTS!>""<!>
|
||||
}
|
||||
|
||||
+1
-1
@@ -6,6 +6,6 @@ class A {
|
||||
operator fun set(x: String, value: Int) {}
|
||||
|
||||
fun d(x: Int) {
|
||||
<!INAPPLICABLE_CANDIDATE!>this["", 1]<!> = 1
|
||||
this["", 1] = <!TOO_MANY_ARGUMENTS!>1<!>
|
||||
}
|
||||
}
|
||||
|
||||
+7
-7
@@ -9,21 +9,21 @@ fun foo(i: Int, s: String) {}
|
||||
|
||||
fun test() {
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>bar<!>(<!UNRESOLVED_REFERENCE!>xx<!>)
|
||||
bar(<!TOO_MANY_ARGUMENTS, UNRESOLVED_REFERENCE!>xx<!>)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>bar<!> { }
|
||||
bar <!TOO_MANY_ARGUMENTS!>{ }<!>
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>("", 1, <!UNRESOLVED_REFERENCE!>xx<!>)
|
||||
foo("", 1, <!TOO_MANY_ARGUMENTS, UNRESOLVED_REFERENCE!>xx<!>)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(r = <!UNRESOLVED_REFERENCE!>xx<!>, i = "", s = "")
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(i = 1, i = 1, s = 11)
|
||||
foo(i = 1, <!ARGUMENT_PASSED_TWICE!>i<!> = 1, s = 11)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>("", s = 2)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(i = "", s = 2, 33)
|
||||
foo(i = "", s = 2, <!TOO_MANY_ARGUMENTS!>33<!>)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>("", 1) {}
|
||||
foo("", 1) <!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>("", 1) {} {}
|
||||
foo("", 1) <!TOO_MANY_ARGUMENTS!>{}<!> <!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
}
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
//KT-1940 Exception while repeating named parameters
|
||||
package kt1940
|
||||
|
||||
fun foo(i: Int) {}
|
||||
|
||||
fun test() {
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(1, i = 2) //exception
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(i = 1, i = 2) //exception
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
//KT-1940 Exception while repeating named parameters
|
||||
package kt1940
|
||||
|
||||
|
||||
Reference in New Issue
Block a user