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:
committed by
Mikhail Glukhikh
parent
fc8d0e3ee0
commit
761a0a7d0d
+1
-1
@@ -16,7 +16,7 @@ class A
|
||||
infix operator fun A.plus(a : Any) {
|
||||
|
||||
1.foo()
|
||||
true.<error descr="[INAPPLICABLE_CANDIDATE] Inapplicable candidate(s): /foo">foo</error>()
|
||||
true.foo(<error descr="[NO_VALUE_FOR_PARAMETER] No value passed for parameter 'x'"><error descr="[NO_VALUE_FOR_PARAMETER] No value passed for parameter 'y'">)</error></error>
|
||||
|
||||
1
|
||||
}
|
||||
|
||||
Vendored
+4
-4
@@ -3,15 +3,15 @@ package toplevelObjectDeclarations
|
||||
open fun foo() : Int = 1
|
||||
}
|
||||
|
||||
<error descr="[INAPPLICABLE_CANDIDATE] Inapplicable candidate(s): toplevelObjectDeclarations/Foo.Foo">class T : <error descr="[SUPERTYPE_NOT_INITIALIZED] This type has a constructor, and thus must be initialized here">Foo</error> {}</error>
|
||||
<error descr="[NO_VALUE_FOR_PARAMETER] No value passed for parameter 'y'">class T : <error descr="[SUPERTYPE_NOT_INITIALIZED] This type has a constructor, and thus must be initialized here">Foo</error> {}</error>
|
||||
|
||||
<error descr="[INAPPLICABLE_CANDIDATE] Inapplicable candidate(s): toplevelObjectDeclarations/Foo.Foo">object A : <error descr="[SUPERTYPE_NOT_INITIALIZED] This type has a constructor, and thus must be initialized here">Foo</error> {
|
||||
object A : <error descr="[SUPERTYPE_NOT_INITIALIZED] This type has a constructor, and thus must be initialized here">Foo</error> {
|
||||
val x : Int = 2
|
||||
|
||||
fun test() : Int {
|
||||
return x + foo()
|
||||
return x + foo(<error descr="[NO_VALUE_FOR_PARAMETER] No value passed for parameter 'y'">)</error>
|
||||
}
|
||||
}</error>
|
||||
}
|
||||
|
||||
object B : A {}
|
||||
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
data class XY(val x: Int, val y: Int)
|
||||
|
||||
fun convert(xy: XY, f: (XY) -> Int) = f(xy)
|
||||
|
||||
fun foo() = <error descr="[NO_VALUE_FOR_PARAMETER] No value passed for parameter 'xy'">convert { (<error descr="[UNRESOLVED_REFERENCE] Unresolved reference: x">x</error><error descr="Unexpected tokens (use ';' to separate expressions on the same line)"><error descr="Expecting ')'">,</error> y)</error> }</error>
|
||||
@@ -1,5 +1,3 @@
|
||||
// FIR_IDENTICAL
|
||||
|
||||
data class XY(val x: Int, val y: Int)
|
||||
|
||||
fun convert(xy: XY, f: (XY) -> Int) = f(xy)
|
||||
|
||||
@@ -4,7 +4,7 @@ fun <K, V> testMutableMapEntry(map: MutableMap<K, V>, k1: K, v: V) {
|
||||
}
|
||||
|
||||
fun foo() {
|
||||
<error descr="[INAPPLICABLE_CANDIDATE] Inapplicable candidate(s): /testMutableMapEntry">testMutableMapEntry</error>(hashMap(1 to 'a'), 'b')
|
||||
testMutableMapEntry(hashMap(1 to 'a'), 'b'<error descr="[NO_VALUE_FOR_PARAMETER] No value passed for parameter 'v'">)</error>
|
||||
}
|
||||
|
||||
//extract from library
|
||||
|
||||
Reference in New Issue
Block a user