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
@@ -20,7 +20,7 @@ class Outer {
}
fun foo() {
Outer.<!INAPPLICABLE_CANDIDATE!>Inner<!>()
Outer.Inner(<!NO_VALUE_FOR_PARAMETER!>)<!>
Outer.<!INAPPLICABLE_CANDIDATE!>Inner<!>(1)
Outer.Inner("")
}
-11
View File
@@ -1,11 +0,0 @@
//KT-5854 Incorrect 'Nested class should be qualified'
class A {
class Nested {
}
fun foo() {
<!INAPPLICABLE_CANDIDATE!>Nested<!>(1) //two errors here, the first one is wrong
}
}
+1
View File
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
//KT-5854 Incorrect 'Nested class should be qualified'
class A {
+1 -1
View File
@@ -4,5 +4,5 @@ val oo = object {
// Forbidden in KT-13510
class Nested
fun f1() = <!INAPPLICABLE_CANDIDATE!>Nested<!>(11)
fun f1() = Nested(<!TOO_MANY_ARGUMENTS!>11<!>)
}