FIR: Introduce NAMED_PARAMETER_NOT_FOUND diagnostic
This commit is contained in:
committed by
TeamCityServer
parent
2d42e64c17
commit
0637748f10
+1
-1
@@ -15,7 +15,7 @@ fun test() {
|
||||
|
||||
foo("", 1, <!TOO_MANY_ARGUMENTS, UNRESOLVED_REFERENCE!>xx<!>)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(r = <!UNRESOLVED_REFERENCE!>xx<!>, i = "", s = "")
|
||||
foo(<!NAMED_PARAMETER_NOT_FOUND!>r<!> = <!UNRESOLVED_REFERENCE!>xx<!>, i = "", s = "")
|
||||
|
||||
foo(i = 1, <!ARGUMENT_PASSED_TWICE!>i<!> = 1, s = 11)
|
||||
|
||||
|
||||
+4
-4
@@ -11,8 +11,8 @@ interface D : B, A
|
||||
|
||||
fun foo(x : C, y : D){
|
||||
x.foo(x = 0)
|
||||
x.foo(y = 0<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
y.foo(x = 0<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
x.foo(<!NAMED_PARAMETER_NOT_FOUND!>y<!> = 0<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
y.foo(<!NAMED_PARAMETER_NOT_FOUND!>x<!> = 0<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
y.foo(y = 0)
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ abstract class D1 : A, B
|
||||
|
||||
fun bar(x : C1, y : D1){
|
||||
x.foo(x = 0)
|
||||
x.foo(y = 0<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
x.foo(<!NAMED_PARAMETER_NOT_FOUND!>y<!> = 0<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
y.foo(x = 0)
|
||||
y.foo(y = 0<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
y.foo(<!NAMED_PARAMETER_NOT_FOUND!>y<!> = 0<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
+5
-5
@@ -14,11 +14,11 @@ interface C : A, B { // Warning here, this is correct
|
||||
}
|
||||
|
||||
fun test(c: C) {
|
||||
c.foo(b1 = 1, b2 = 1.0<!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
c.foo(a1 = 1, b2 = 1.0<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
c.foo(<!NAMED_PARAMETER_NOT_FOUND!>b1<!> = 1, <!NAMED_PARAMETER_NOT_FOUND!>b2<!> = 1.0<!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
c.foo(a1 = 1, <!NAMED_PARAMETER_NOT_FOUND!>b2<!> = 1.0<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
c.foo(a1 = 1, a2 = 1.0)
|
||||
c.foo(a1 = 1, a2 = 1.0)
|
||||
c.bar(a1 = 1, a2 = 1.0, b3= ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
c.baz(a1 = 1, b2 = 1.0, a3 = "", b4 = 2, a5 = ""<!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
c.baz(a1 = 1, a2 = 1.0, a3 = "", b4 = 2, a5 = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
c.bar(a1 = 1, a2 = 1.0, <!NAMED_PARAMETER_NOT_FOUND!>b3<!>= ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
c.baz(a1 = 1, <!NAMED_PARAMETER_NOT_FOUND!>b2<!> = 1.0, a3 = "", <!NAMED_PARAMETER_NOT_FOUND!>b4<!> = 2, a5 = ""<!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
c.baz(a1 = 1, a2 = 1.0, a3 = "", <!NAMED_PARAMETER_NOT_FOUND!>b4<!> = 2, a5 = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -11,5 +11,5 @@ interface C : A<Int>, B { // Warning here, this is correct
|
||||
|
||||
fun test(c: C) {
|
||||
c.foo(a = 1)
|
||||
c.foo(b = 1<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
c.foo(<!NAMED_PARAMETER_NOT_FOUND!>b<!> = 1<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -11,5 +11,5 @@ interface C : A, B { // Warning here, this is correct
|
||||
|
||||
fun test(c: C) {
|
||||
c.foo(a = 1)
|
||||
c.foo(b = 1<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
c.foo(<!NAMED_PARAMETER_NOT_FOUND!>b<!> = 1<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -11,5 +11,5 @@ interface C<U> : A<U>, B<U> { // Warning here, this is correct
|
||||
|
||||
fun test(c: C<Int>) {
|
||||
c.foo(a = 1)
|
||||
c.foo(b = 1<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
c.foo(<!NAMED_PARAMETER_NOT_FOUND!>b<!> = 1<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ class KotlinSubSubClass : KotlinSubClass() {
|
||||
fun viaRealOverride() = KotlinSubSubClass().foo(kotlinName = 3)
|
||||
|
||||
|
||||
fun unresolvedParameter() = JavaSuperClass(<!NO_VALUE_FOR_PARAMETER!>)<!>.foo(nonexistentName = 4)
|
||||
fun unresolvedParameter() = JavaSuperClass(<!NO_VALUE_FOR_PARAMETER!>)<!>.foo(<!NAMED_PARAMETER_NOT_FOUND!>nonexistentName<!> = 4)
|
||||
|
||||
|
||||
fun multipleParameters() = JavaSuperClass().multipleParameters(<!NAMED_ARGUMENTS_NOT_ALLOWED!>first<!> = 1, <!NAMED_ARGUMENTS_NOT_ALLOWED!>second<!> = 2L, <!NAMED_ARGUMENTS_NOT_ALLOWED!>third<!> = "3")
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ fun test() {
|
||||
bar(1, z = "")
|
||||
bar(1, z = "", y = 2)
|
||||
<!INAPPLICABLE_CANDIDATE!>bar<!>(z = "", 1)
|
||||
bar(1, zz = "",
|
||||
bar(1, <!NAMED_PARAMETER_NOT_FOUND!>zz<!> = "",
|
||||
<!UNRESOLVED_REFERENCE!>zz<!>.foo
|
||||
<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
+1
-1
@@ -18,5 +18,5 @@ fun test1(d: D) {
|
||||
}
|
||||
|
||||
fun test2(c: C) {
|
||||
c.foo(b1 = 1, b2 = 1.0<!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
c.foo(<!NAMED_PARAMETER_NOT_FOUND!>b1<!> = 1, <!NAMED_PARAMETER_NOT_FOUND!>b2<!> = 1.0<!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
+8
-8
@@ -4,24 +4,24 @@ class Function1Impl : (String) -> Unit {
|
||||
|
||||
fun test1(f: Function1Impl) {
|
||||
f("")
|
||||
f(p0 = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
f(<!NAMED_PARAMETER_NOT_FOUND!>p0<!> = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
f(myParamName = "")
|
||||
f.invoke("")
|
||||
f.invoke(p0 = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
f.invoke(<!NAMED_PARAMETER_NOT_FOUND!>p0<!> = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
f.invoke(myParamName = "")
|
||||
}
|
||||
|
||||
fun test2(f: (String) -> Unit) {
|
||||
f("")
|
||||
f(p0 = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
f(myParamName = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
f(<!NAMED_PARAMETER_NOT_FOUND!>p0<!> = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
f(<!NAMED_PARAMETER_NOT_FOUND!>myParamName<!> = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
f.invoke("")
|
||||
f.invoke(p0 = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
f.invoke(myParamName = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
f.invoke(<!NAMED_PARAMETER_NOT_FOUND!>p0<!> = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
f.invoke(<!NAMED_PARAMETER_NOT_FOUND!>myParamName<!> = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun test3(f: String.(String) -> Unit) {
|
||||
"".f("")
|
||||
"".f(p0 = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
"".f(zzz = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
"".f(<!NAMED_PARAMETER_NOT_FOUND!>p0<!> = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
"".f(<!NAMED_PARAMETER_NOT_FOUND!>zzz<!> = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
-9
@@ -1,9 +0,0 @@
|
||||
package c
|
||||
|
||||
fun test() {
|
||||
with (1) l@ {
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(1, zz = { this@l } )
|
||||
}
|
||||
}
|
||||
|
||||
fun foo(x: Int) = x
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
package c
|
||||
|
||||
fun test() {
|
||||
|
||||
-14
@@ -1,14 +0,0 @@
|
||||
package c
|
||||
|
||||
fun zzz(i: Int, f: (Int) -> Int) { throw Exception("$i $f")}
|
||||
|
||||
fun test() {
|
||||
fun foo(): Int = 42
|
||||
|
||||
fun bar(i: Int) = i
|
||||
|
||||
bar(<!INAPPLICABLE_CANDIDATE!>foo<!>(xx = zzz(11) { j: Int -> j + 7 }))
|
||||
|
||||
bar(zz = <!INAPPLICABLE_CANDIDATE!>foo<!>(
|
||||
xx = zzz(12) { i: Int -> i + i })<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
package c
|
||||
|
||||
fun zzz(i: Int, f: (Int) -> Int) { throw Exception("$i $f")}
|
||||
|
||||
+4
-4
@@ -53,8 +53,8 @@ fun testMany(a: Any) {
|
||||
manyFoo(s = "")
|
||||
|
||||
<!NONE_APPLICABLE!>manyFoo<!>(a)
|
||||
<!NONE_APPLICABLE!>manyFoo<!>(v = a)
|
||||
<!NONE_APPLICABLE!>manyFoo<!>(s = a)
|
||||
<!NONE_APPLICABLE!>manyFoo<!>(v = a as Int)
|
||||
<!NONE_APPLICABLE!>manyFoo<!>(s = a as String)
|
||||
<!INAPPLICABLE_CANDIDATE!>manyFoo<!>(v = a)
|
||||
<!INAPPLICABLE_CANDIDATE!>manyFoo<!>(s = a)
|
||||
<!INAPPLICABLE_CANDIDATE!>manyFoo<!>(v = a as Int)
|
||||
<!INAPPLICABLE_CANDIDATE!>manyFoo<!>(s = a as String)
|
||||
}
|
||||
|
||||
+4
-4
@@ -53,8 +53,8 @@ fun testMany(a: Any) {
|
||||
manyFoo(s = "")
|
||||
|
||||
<!NONE_APPLICABLE!>manyFoo<!>(a)
|
||||
<!NONE_APPLICABLE!>manyFoo<!>(v = a)
|
||||
<!NONE_APPLICABLE!>manyFoo<!>(s = a)
|
||||
<!NONE_APPLICABLE!>manyFoo<!>(v = a as Int)
|
||||
<!NONE_APPLICABLE!>manyFoo<!>(s = a as String)
|
||||
<!INAPPLICABLE_CANDIDATE!>manyFoo<!>(v = a)
|
||||
<!INAPPLICABLE_CANDIDATE!>manyFoo<!>(s = a)
|
||||
<!INAPPLICABLE_CANDIDATE!>manyFoo<!>(v = a as Int)
|
||||
<!INAPPLICABLE_CANDIDATE!>manyFoo<!>(s = a as String)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user