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
@@ -8,5 +8,5 @@ fun <T> foo(a : T, b : Collection<T>, c : Int) {
fun <T> arrayListOf(vararg values: T): ArrayList<T> = throw Exception("$values")
val bar = <!INAPPLICABLE_CANDIDATE!>foo<!>("", arrayListOf(), )
val bar2 = <!INAPPLICABLE_CANDIDATE!>foo<!><String>("", arrayListOf(), )
val bar = foo("", arrayListOf(), <!NO_VALUE_FOR_PARAMETER!>)<!>
val bar2 = foo<String>("", arrayListOf(), <!NO_VALUE_FOR_PARAMETER!>)<!>