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:
Tianyu Geng
2021-03-04 14:01:32 -08:00
committed by Mikhail Glukhikh
parent fc8d0e3ee0
commit 761a0a7d0d
143 changed files with 526 additions and 470 deletions
@@ -11,17 +11,17 @@ fun test() {
foo(b = "")
foo(1, "")
foo(a = 2)
<!INAPPLICABLE_CANDIDATE!>foo<!>(1, "", "")
foo(1, "", <!TOO_MANY_ARGUMENTS!>""<!>)
bar(z = "")
<!INAPPLICABLE_CANDIDATE!>bar<!>()
<!INAPPLICABLE_CANDIDATE!>bar<!>("")
bar(<!NO_VALUE_FOR_PARAMETER!>)<!>
bar(""<!NO_VALUE_FOR_PARAMETER!>)<!>
bar(1, 1, "")
bar(1, 1, "")
bar(1, z = "")
bar(1, z = "", y = 2)
<!INAPPLICABLE_CANDIDATE!>bar<!>(z = "", 1)
<!INAPPLICABLE_CANDIDATE!>bar<!>(1, zz = "",
bar(1, zz = "",
<!UNRESOLVED_REFERENCE!>zz<!>.foo
)
<!NO_VALUE_FOR_PARAMETER!>)<!>
}