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,4 +8,4 @@ class ValueWrapper()
fun setValue(v: Int) { backingValue = v }
}
val foo by <!INAPPLICABLE_CANDIDATE!>ValueWrapper<!>()
val foo by <!TOO_MANY_ARGUMENTS, TOO_MANY_ARGUMENTS!>ValueWrapper()<!>
@@ -3,10 +3,10 @@
import kotlin.reflect.KProperty
class A {
val a: Int by <!INAPPLICABLE_CANDIDATE!>Delegate<!>()
val a: Int by Delegate(<!NO_VALUE_FOR_PARAMETER!>)<!>
}
val aTopLevel: Int by <!INAPPLICABLE_CANDIDATE!>Delegate<!>()
val aTopLevel: Int by Delegate(<!NO_VALUE_FOR_PARAMETER!>)<!>
class Delegate {
fun getValue(t: Any?, p: KProperty<*>, a: Int): Int {