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
@@ -32,7 +32,7 @@ fun getArr(): Array<String>? = null
fun f() {
A().foo(1, *args)
<!INAPPLICABLE_CANDIDATE!>bar<!>(2, *args)
<!INAPPLICABLE_CANDIDATE!>baz<!>(*args)
baz(<!NON_VARARG_SPREAD!>*<!>args)
}
fun g(args: Array<String>?) {
@@ -56,7 +56,7 @@ fun h(b: B) {
fun k() {
A().foo(1, *getArr())
<!INAPPLICABLE_CANDIDATE!>bar<!>(2, *getArr())
<!INAPPLICABLE_CANDIDATE!>baz<!>(*getArr())
baz(<!NON_VARARG_SPREAD!>*<!>getArr())
}
fun invokeTest(goodArgs: Array<String>) {