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
@@ -5,7 +5,7 @@ annotation class Ann2(val x: Int)
class A {
@Ann1
constructor()
<!INAPPLICABLE_CANDIDATE!>@Ann2<!>
<!NO_VALUE_FOR_PARAMETER!>@Ann2<!>
constructor(x1: Int)
@Ann2(2)
constructor(x1: Int, x2: Int)
@@ -3,7 +3,7 @@ open class B0(x: Int)
class A0 : B0 {
constructor()
constructor(x: Int) : <!INAPPLICABLE_CANDIDATE!>super<!>()
constructor(x: Int) : <!NO_VALUE_FOR_PARAMETER!>super<!>()
}
// --------------------------
@@ -1,6 +0,0 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
class A {
constructor(x: Int)
}
val x = <!INAPPLICABLE_CANDIDATE!>A<!>()
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_PARAMETER
class A {
constructor(x: Int)
@@ -1,4 +0,0 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
class A {
constructor(): <!INAPPLICABLE_CANDIDATE!>super<!>(1)
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_PARAMETER
class A {
constructor(): super(<!TOO_MANY_ARGUMENTS!>1<!>)