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
@@ -10,7 +10,7 @@ fun test() : Int {
|
||||
}
|
||||
|
||||
class A() {
|
||||
val x : Int = <!INAPPLICABLE_CANDIDATE!>foo1<!>(<!UNRESOLVED_REFERENCE!>xx<!>)
|
||||
val x : Int = foo1(<!TOO_MANY_ARGUMENTS, UNRESOLVED_REFERENCE!>xx<!>)
|
||||
}
|
||||
|
||||
fun foo1() {}
|
||||
|
||||
@@ -2,12 +2,12 @@ fun test(c : Char) {
|
||||
test(<!ILLEGAL_CONST_EXPRESSION!>''<!>)
|
||||
test('a')
|
||||
test(<!ILLEGAL_CONST_EXPRESSION!>'aa'<!>)
|
||||
<!INAPPLICABLE_CANDIDATE!>test<!>(<!ILLEGAL_CONST_EXPRESSION!>'a)<!>
|
||||
test(<!ILLEGAL_CONST_EXPRESSION!>'a)<!>
|
||||
<!UNRESOLVED_REFERENCE!>test<!>(<!ILLEGAL_CONST_EXPRESSION!>'<!>
|
||||
<!UNRESOLVED_REFERENCE!>test<!>(0<!ILLEGAL_CONST_EXPRESSION!><!SYNTAX!><!>'<!>
|
||||
<!UNRESOLVED_REFERENCE!>test<!>('\n')
|
||||
test('\\')
|
||||
test(<!ILLEGAL_CONST_EXPRESSION!>''<!><!ILLEGAL_CONST_EXPRESSION!><!SYNTAX!><!>''<!>)
|
||||
test(<!ILLEGAL_CONST_EXPRESSION!>''<!><!ILLEGAL_CONST_EXPRESSION, TOO_MANY_ARGUMENTS!><!SYNTAX!><!>''<!>)
|
||||
test('\'')
|
||||
test('\"')
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
fun test() {
|
||||
<!INAPPLICABLE_CANDIDATE!>Double<!>()
|
||||
<!INAPPLICABLE_CANDIDATE!>Float<!>()
|
||||
<!INAPPLICABLE_CANDIDATE!>Long<!>()
|
||||
<!INAPPLICABLE_CANDIDATE!>Int<!>()
|
||||
<!INAPPLICABLE_CANDIDATE!>Short<!>()
|
||||
<!INAPPLICABLE_CANDIDATE!>Byte<!>()
|
||||
Double(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
Float(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
Long(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
Int(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
Short(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
Byte(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
<!HIDDEN!>Char<!>()
|
||||
<!INAPPLICABLE_CANDIDATE!>Boolean<!>()
|
||||
Boolean(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
@@ -28,8 +28,8 @@ fun <T> fooT2() : (t : T) -> T {
|
||||
|
||||
fun main(args : Array<String>) {
|
||||
args.foo()()
|
||||
<!INAPPLICABLE_CANDIDATE!>args.foo1()<!>()
|
||||
<!INAPPLICABLE_CANDIDATE!><!UNRESOLVED_REFERENCE!>a<!>.foo1()<!>()
|
||||
args.foo1(<!NO_VALUE_FOR_PARAMETER!>)<!>()
|
||||
<!UNRESOLVED_REFERENCE!>a<!>.foo1(<!NO_VALUE_FOR_PARAMETER!>)<!>()
|
||||
<!UNRESOLVED_REFERENCE!>a<!>.foo1()(<!UNRESOLVED_REFERENCE!>a<!>)
|
||||
|
||||
args.foo1()(1)
|
||||
@@ -38,7 +38,7 @@ fun main(args : Array<String>) {
|
||||
<!UNRESOLVED_REFERENCE!>a<!>.foo1()(<!UNRESOLVED_REFERENCE!>a<!>)
|
||||
|
||||
foo2()({})
|
||||
<!INAPPLICABLE_CANDIDATE!>foo2<!>(){}
|
||||
foo2()<!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
(foo2()){}
|
||||
<!INAPPLICABLE_CANDIDATE!>(foo2())<!>{x -> }
|
||||
<!INAPPLICABLE_CANDIDATE!>foo2()<!>({x -> })
|
||||
@@ -76,8 +76,8 @@ fun main1() {
|
||||
}
|
||||
|
||||
fun test() {
|
||||
<!INAPPLICABLE_CANDIDATE!>{x : Int -> 1}<!>();
|
||||
<!INAPPLICABLE_CANDIDATE!>(fun Int.() = 1)<!>()
|
||||
{x : Int -> 1}(<!NO_VALUE_FOR_PARAMETER!>)<!>;
|
||||
(fun Int.() = 1)(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
"sd".(<!UNRESOLVED_REFERENCE!>fun Int.() = 1<!>)()
|
||||
val i : Int? = null
|
||||
i.(<!UNRESOLVED_REFERENCE!>fun Int.() = 1<!>)();
|
||||
|
||||
+6
-6
@@ -44,7 +44,7 @@ fun test() {
|
||||
|
||||
if (out == null || out.println(0) == Unit) {
|
||||
out?.println(1)
|
||||
out.<!INAPPLICABLE_CANDIDATE!>println<!>(1)
|
||||
out.println(<!TOO_MANY_ARGUMENTS!>1<!>)
|
||||
}
|
||||
else {
|
||||
out.println(2)
|
||||
@@ -66,11 +66,11 @@ fun test() {
|
||||
|
||||
if (1 == 2 || out != null && out.println(1) == Unit) {
|
||||
out?.println(2);
|
||||
out.<!INAPPLICABLE_CANDIDATE!>println<!>(2);
|
||||
out.println(<!TOO_MANY_ARGUMENTS!>2<!>);
|
||||
}
|
||||
else {
|
||||
out?.println(3)
|
||||
out.<!INAPPLICABLE_CANDIDATE!>println<!>(3)
|
||||
out.println(<!TOO_MANY_ARGUMENTS!>3<!>)
|
||||
}
|
||||
|
||||
out?.println()
|
||||
@@ -103,7 +103,7 @@ fun test() {
|
||||
|
||||
if (out == null || out.println(0) == Unit) {
|
||||
out?.println(1)
|
||||
out.<!INAPPLICABLE_CANDIDATE!>println<!>(1)
|
||||
out.println(<!TOO_MANY_ARGUMENTS!>1<!>)
|
||||
}
|
||||
else {
|
||||
out.println(2)
|
||||
@@ -127,11 +127,11 @@ fun test() {
|
||||
|
||||
if (1 == 2 || out != null && out.println(1) == Unit) {
|
||||
out?.println(2);
|
||||
out.<!INAPPLICABLE_CANDIDATE!>println<!>(2);
|
||||
out.println(<!TOO_MANY_ARGUMENTS!>2<!>);
|
||||
}
|
||||
else {
|
||||
out?.println(3)
|
||||
out.<!INAPPLICABLE_CANDIDATE!>println<!>(3)
|
||||
out.println(<!TOO_MANY_ARGUMENTS!>3<!>)
|
||||
}
|
||||
|
||||
if (1 > 2) {
|
||||
|
||||
+1
-1
@@ -3,4 +3,4 @@ import java.util.ArrayList
|
||||
|
||||
<!NOT_AN_ANNOTATION_CLASS!>@ArrayList<Int>(1, 1)<!> fun b() {}
|
||||
@<!UNRESOLVED_REFERENCE!>Xoo<!>(<!UNRESOLVED_REFERENCE!>x<!>) fun c() {}
|
||||
<!INAPPLICABLE_CANDIDATE!>@java.lang.Deprecated(<!UNRESOLVED_REFERENCE!>x<!>)<!> fun a() {}
|
||||
@java.lang.Deprecated(<!TOO_MANY_ARGUMENTS, UNRESOLVED_REFERENCE!>x<!>) fun a() {}
|
||||
|
||||
+3
-3
@@ -1,10 +1,10 @@
|
||||
annotation class A1
|
||||
annotation class A2(val some: Int = 12)
|
||||
|
||||
class TopLevelClass<@A1 @A2(3) @A2 <!INAPPLICABLE_CANDIDATE!>@A1(12)<!> <!INAPPLICABLE_CANDIDATE!>@A2("Test")<!> T> {
|
||||
class InnerClass<@A1 @A2(3) @A2 <!INAPPLICABLE_CANDIDATE!>@A1(12)<!> <!INAPPLICABLE_CANDIDATE!>@A2("Test")<!> T> {
|
||||
class TopLevelClass<@A1 @A2(3) @A2 @A1(<!TOO_MANY_ARGUMENTS!>12<!>) <!INAPPLICABLE_CANDIDATE!>@A2("Test")<!> T> {
|
||||
class InnerClass<@A1 @A2(3) @A2 @A1(<!TOO_MANY_ARGUMENTS!>12<!>) <!INAPPLICABLE_CANDIDATE!>@A2("Test")<!> T> {
|
||||
fun test() {
|
||||
class InFun<@A1 @A2(3) @A2 <!INAPPLICABLE_CANDIDATE!>@A1(12)<!> <!INAPPLICABLE_CANDIDATE!>@A2("Test")<!> T>
|
||||
class InFun<@A1 @A2(3) @A2 @A1(<!TOO_MANY_ARGUMENTS!>12<!>) <!INAPPLICABLE_CANDIDATE!>@A2("Test")<!> T>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -1,12 +1,12 @@
|
||||
annotation class A1
|
||||
annotation class A2(val some: Int = 12)
|
||||
|
||||
fun <@A1 @A2(3) @A2 <!INAPPLICABLE_CANDIDATE!>@A1(12)<!> <!INAPPLICABLE_CANDIDATE!>@A2("Test")<!> T> topFun() = 12
|
||||
fun <@A1 @A2(3) @A2 @A1(<!TOO_MANY_ARGUMENTS!>12<!>) <!INAPPLICABLE_CANDIDATE!>@A2("Test")<!> T> topFun() = 12
|
||||
|
||||
class SomeClass {
|
||||
fun <@A1 @A2(3) @A2 <!INAPPLICABLE_CANDIDATE!>@A1(12)<!> <!INAPPLICABLE_CANDIDATE!>@A2("Test")<!> T> method() = 12
|
||||
fun <@A1 @A2(3) @A2 @A1(<!TOO_MANY_ARGUMENTS!>12<!>) <!INAPPLICABLE_CANDIDATE!>@A2("Test")<!> T> method() = 12
|
||||
|
||||
fun foo() {
|
||||
fun <@A1 @A2(3) @A2 <!INAPPLICABLE_CANDIDATE!>@A1(12)<!> <!INAPPLICABLE_CANDIDATE!>@A2("Test")<!> T> innerFun() = 12
|
||||
fun <@A1 @A2(3) @A2 @A1(<!TOO_MANY_ARGUMENTS!>12<!>) <!INAPPLICABLE_CANDIDATE!>@A2("Test")<!> T> innerFun() = 12
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -3,10 +3,10 @@
|
||||
annotation class A1
|
||||
annotation class A2(val some: Int = 12)
|
||||
|
||||
val <@A1 @A2(3) @A2 <!INAPPLICABLE_CANDIDATE!>@A1(12)<!> <!INAPPLICABLE_CANDIDATE!>@A2("Test")<!> T> T.topProp: Int get() = 12
|
||||
val <@A1 @A2(3) @A2 @A1(<!TOO_MANY_ARGUMENTS!>12<!>) <!INAPPLICABLE_CANDIDATE!>@A2("Test")<!> T> T.topProp: Int get() = 12
|
||||
|
||||
class SomeClass {
|
||||
val <@A1 @A2(3) @A2 <!INAPPLICABLE_CANDIDATE!>@A1(12)<!> <!INAPPLICABLE_CANDIDATE!>@A2("Test")<!> T> T.field: Int get() = 12
|
||||
val <@A1 @A2(3) @A2 @A1(<!TOO_MANY_ARGUMENTS!>12<!>) <!INAPPLICABLE_CANDIDATE!>@A2("Test")<!> T> T.field: Int get() = 12
|
||||
|
||||
fun foo() {
|
||||
val <@A1 @A2(3) @A2 @A1(12) @A2("Test") T> localVal = 12
|
||||
|
||||
@@ -3,7 +3,7 @@ annotation class my1(val i : Int)
|
||||
annotation class my2(val i : Int = 0)
|
||||
|
||||
@my fun foo() {}
|
||||
<!INAPPLICABLE_CANDIDATE!>@my1<!> fun foo2() {}
|
||||
<!NO_VALUE_FOR_PARAMETER!>@my1<!> fun foo2() {}
|
||||
@my1(2) fun foo3() {}
|
||||
@my2() fun foo4() {}
|
||||
@my2 fun foo41() {}
|
||||
|
||||
@@ -16,7 +16,7 @@ fun foo() {
|
||||
Ann()
|
||||
val a = Ann()
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>Ann1<!>()
|
||||
Ann1(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
Ann1(1)
|
||||
bar(Ann())
|
||||
bar(a = Ann())
|
||||
|
||||
+3
-3
@@ -6,6 +6,6 @@ annotation class Ann(val s: String = "")
|
||||
@Ann("s")
|
||||
fun foo() {}
|
||||
|
||||
val bar = <!INAPPLICABLE_CANDIDATE!>foo<!>(
|
||||
15
|
||||
)
|
||||
val bar = foo(
|
||||
<!TOO_MANY_ARGUMENTS!>15<!>
|
||||
)
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ fun test() {
|
||||
checkSubtype<KProperty1<A, Int>>(p)
|
||||
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><KMutableProperty1<A, Int>>(p)
|
||||
checkSubtype<Int>(p.get(A()))
|
||||
p.<!INAPPLICABLE_CANDIDATE!>get<!>()
|
||||
p.get(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
p.<!UNRESOLVED_REFERENCE!>set<!>(A(), 239)
|
||||
|
||||
val q = A::bar
|
||||
|
||||
@@ -10,7 +10,7 @@ fun main() {
|
||||
join(1)
|
||||
join(1, "2")
|
||||
join(1, "2", "3")
|
||||
<!INAPPLICABLE_CANDIDATE!>join<!>(*1, "2")
|
||||
join(<!NON_VARARG_SPREAD!>*<!>1, "2")
|
||||
<!INAPPLICABLE_CANDIDATE!>join<!>(1, *"2")
|
||||
join(x = 1, a = "2")
|
||||
join(x = *1, a = *"2")
|
||||
@@ -30,7 +30,7 @@ fun main() {
|
||||
join(a = a, x = 1)
|
||||
|
||||
joinG<String>(1, "2")
|
||||
<!INAPPLICABLE_CANDIDATE!>joinG<!><String>(*1, "2")
|
||||
joinG<String>(<!NON_VARARG_SPREAD!>*<!>1, "2")
|
||||
<!INAPPLICABLE_CANDIDATE!>joinG<!><String>(1, *"2")
|
||||
joinG<String>(x = 1, a = a)
|
||||
joinG<String>(x = 1, a = "2")
|
||||
@@ -43,7 +43,7 @@ fun main() {
|
||||
joinG<String>(a = a, x = 1)
|
||||
|
||||
joinG(1, "2")
|
||||
<!INAPPLICABLE_CANDIDATE!>joinG<!>(*1, "2")
|
||||
joinG(<!NON_VARARG_SPREAD!>*<!>1, "2")
|
||||
<!INAPPLICABLE_CANDIDATE!>joinG<!>(1, *"2")
|
||||
joinG(x = 1, a = a)
|
||||
joinG(x = 1, a = "2")
|
||||
@@ -57,7 +57,7 @@ fun main() {
|
||||
|
||||
val x1 = joinT(1, "2")
|
||||
checkSubtype<String?>(x1)
|
||||
val x2 = <!INAPPLICABLE_CANDIDATE!>joinT<!>(*1, "2")
|
||||
val x2 = joinT(<!NON_VARARG_SPREAD!>*<!>1, "2")
|
||||
checkSubtype<String?>(x2)
|
||||
val x6 = joinT(1, *a)
|
||||
checkSubtype<String?>(x6)
|
||||
|
||||
@@ -31,5 +31,5 @@ fun test() {
|
||||
D[0] = ""
|
||||
D[0] = 2.72
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>Z[0]<!> = ""
|
||||
Z[<!TOO_MANY_ARGUMENTS!>0<!>] = <!TOO_MANY_ARGUMENTS!>""<!>
|
||||
}
|
||||
|
||||
+1
-1
@@ -6,6 +6,6 @@ class A {
|
||||
operator fun set(x: String, value: Int) {}
|
||||
|
||||
fun d(x: Int) {
|
||||
<!INAPPLICABLE_CANDIDATE!>this["", 1]<!> = 1
|
||||
this["", 1] = <!TOO_MANY_ARGUMENTS!>1<!>
|
||||
}
|
||||
}
|
||||
|
||||
+7
-7
@@ -9,21 +9,21 @@ fun foo(i: Int, s: String) {}
|
||||
|
||||
fun test() {
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>bar<!>(<!UNRESOLVED_REFERENCE!>xx<!>)
|
||||
bar(<!TOO_MANY_ARGUMENTS, UNRESOLVED_REFERENCE!>xx<!>)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>bar<!> { }
|
||||
bar <!TOO_MANY_ARGUMENTS!>{ }<!>
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>("", 1, <!UNRESOLVED_REFERENCE!>xx<!>)
|
||||
foo("", 1, <!TOO_MANY_ARGUMENTS, UNRESOLVED_REFERENCE!>xx<!>)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(r = <!UNRESOLVED_REFERENCE!>xx<!>, i = "", s = "")
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(i = 1, i = 1, s = 11)
|
||||
foo(i = 1, <!ARGUMENT_PASSED_TWICE!>i<!> = 1, s = 11)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>("", s = 2)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(i = "", s = 2, 33)
|
||||
foo(i = "", s = 2, <!TOO_MANY_ARGUMENTS!>33<!>)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>("", 1) {}
|
||||
foo("", 1) <!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>("", 1) {} {}
|
||||
foo("", 1) <!TOO_MANY_ARGUMENTS!>{}<!> <!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
}
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
//KT-1940 Exception while repeating named parameters
|
||||
package kt1940
|
||||
|
||||
fun foo(i: Int) {}
|
||||
|
||||
fun test() {
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(1, i = 2) //exception
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(i = 1, i = 2) //exception
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
//KT-1940 Exception while repeating named parameters
|
||||
package kt1940
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -34,7 +34,7 @@ fun test6() {}
|
||||
|
||||
annotation class AnnArray(val a: Array<String>)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>@AnnArray(*["/"])<!>
|
||||
@AnnArray(<!NON_VARARG_SPREAD!>*<!>["/"])
|
||||
fun testArray() {}
|
||||
|
||||
@Ann1([""])
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
fun foo(a: Int, b: Int) = a + b
|
||||
|
||||
fun bar(i: Int) {
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(1, 1, i)
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
fun foo(a: Int, b: Int) = a + b
|
||||
|
||||
fun bar(i: Int) {
|
||||
|
||||
@@ -9,7 +9,7 @@ fun test() {
|
||||
|
||||
doSmth(if (true) 3 else return)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>doSmth<!>(if (true) 3 else return, 1)
|
||||
doSmth(if (true) 3 else return, <!TOO_MANY_ARGUMENTS!>1<!>)
|
||||
}
|
||||
|
||||
val a : Nothing = return 1
|
||||
|
||||
@@ -5,9 +5,9 @@ package kt1193
|
||||
|
||||
enum class MyEnum(val i: Int) {
|
||||
A(12),
|
||||
<!INAPPLICABLE_CANDIDATE!>B<!> //no error
|
||||
<!NO_VALUE_FOR_PARAMETER!>B<!> //no error
|
||||
}
|
||||
|
||||
open class A(x: Int = 1)
|
||||
|
||||
val x: MyEnum = MyEnum.A
|
||||
val x: MyEnum = MyEnum.A
|
||||
|
||||
@@ -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()<!>
|
||||
|
||||
+2
-2
@@ -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 {
|
||||
|
||||
@@ -11,6 +11,6 @@ public class A {
|
||||
|
||||
// FILE: B.kt
|
||||
|
||||
class B(private <!INAPPLICABLE_CANDIDATE, INAPPLICABLE_CANDIDATE!>@property:Deprecated<!> val foo: String) : A() {
|
||||
class B(private @property:Deprecated val foo: String) : A() {
|
||||
override fun getFoo(text: String): String = super.getFoo(text + foo)
|
||||
}
|
||||
|
||||
+2
-2
@@ -5,8 +5,8 @@ enum class TestOk(val x: String = "OK") {
|
||||
}
|
||||
|
||||
enum class TestErrors(val x: String) {
|
||||
<!INAPPLICABLE_CANDIDATE!>TEST1,<!>
|
||||
TEST2<!INAPPLICABLE_CANDIDATE!><!>(),
|
||||
<!NO_VALUE_FOR_PARAMETER!>TEST1,<!>
|
||||
TEST2<!NO_VALUE_FOR_PARAMETER!><!>(),
|
||||
TEST3("Hello")
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ class A
|
||||
infix operator fun A.plus(a : Any) {
|
||||
|
||||
1.foo()
|
||||
true.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
true.foo(<!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
|
||||
1
|
||||
}
|
||||
|
||||
+2
-2
@@ -16,7 +16,7 @@ class C : T {
|
||||
super.foo() // OK
|
||||
super.<!UNRESOLVED_REFERENCE!>bar<!>() // Error
|
||||
super.buzz() // OK, resolved to a member
|
||||
super.<!INAPPLICABLE_CANDIDATE!>buzz1<!>() // Resolved to an extension
|
||||
super.buzz1(<!NO_VALUE_FOR_PARAMETER!>)<!> // Resolved to an extension
|
||||
super.<!INAPPLICABLE_CANDIDATE!>buzz1<!>("") // Resolved to a member
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -20,8 +20,8 @@ fun Int.foo() {}
|
||||
fun test3(s: String?) {
|
||||
"".<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
s<!UNSAFE_CALL!>.<!>foo()
|
||||
"".<!INAPPLICABLE_CANDIDATE!>foo<!>(1)
|
||||
s.<!INAPPLICABLE_CANDIDATE!>foo<!>("a")
|
||||
"".foo(<!TOO_MANY_ARGUMENTS!>1<!>)
|
||||
s.foo(<!TOO_MANY_ARGUMENTS!>"a"<!>)
|
||||
}
|
||||
|
||||
interface A
|
||||
|
||||
@@ -6,6 +6,6 @@ class A(foo: Int.() -> Unit) {
|
||||
|
||||
fun test(foo: Int.(String) -> Unit) {
|
||||
4.foo("")
|
||||
4.<!INAPPLICABLE_CANDIDATE!>foo<!>(p1 = "")
|
||||
4.foo(<!NAMED_ARGUMENTS_NOT_ALLOWED!>p2 = ""<!>)
|
||||
4.foo(p1 = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
4.foo(<!NAMED_ARGUMENTS_NOT_ALLOWED!>p2<!> = "")
|
||||
}
|
||||
|
||||
Vendored
+6
-6
@@ -2,15 +2,15 @@
|
||||
|
||||
fun foo(p: (Int, () -> Int) -> Unit) {
|
||||
// Errors except last call
|
||||
<!INAPPLICABLE_CANDIDATE!>p<!> { 1 }
|
||||
<!INAPPLICABLE_CANDIDATE!>p<!>() { 2 }
|
||||
<!NO_VALUE_FOR_PARAMETER!>p { 1 }<!>
|
||||
p(<!NO_VALUE_FOR_PARAMETER!>)<!> { 2 }
|
||||
p(3) { 4 }
|
||||
}
|
||||
|
||||
fun bar(p: (String, Any, () -> String) -> Unit) {
|
||||
// Errors except last call
|
||||
<!INAPPLICABLE_CANDIDATE!>p<!> { "" }
|
||||
<!INAPPLICABLE_CANDIDATE!>p<!>() { "x" }
|
||||
<!INAPPLICABLE_CANDIDATE!>p<!>("y") { "z" }
|
||||
<!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>p { "" }<!>
|
||||
p(<!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>)<!> { "x" }
|
||||
p("y"<!NO_VALUE_FOR_PARAMETER!>)<!> { "z" }
|
||||
p("v", Any()) { "w" }
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -7,4 +7,4 @@ object Z {
|
||||
infix fun add(b : Foo.() -> Unit) : Z = Z
|
||||
}
|
||||
|
||||
val t2 = Z <!INAPPLICABLE_CANDIDATE!>add<!> <!INAPPLICABLE_CANDIDATE!>{ }<!> { }
|
||||
val t2 = Z <!INAPPLICABLE_CANDIDATE!>add<!> { } <!TOO_MANY_ARGUMENTS!>{ }<!>
|
||||
|
||||
@@ -50,5 +50,5 @@ fun testInOut() {
|
||||
(null as Inv<out Int>).outf()
|
||||
(null as Inv<*>).outf()
|
||||
|
||||
Inv<Int>().<!INAPPLICABLE_CANDIDATE!>outf<!>(1) // Wrong Arg
|
||||
Inv<Int>().outf(<!TOO_MANY_ARGUMENTS!>1<!>) // Wrong Arg
|
||||
}
|
||||
|
||||
@@ -32,8 +32,8 @@ fun test() {
|
||||
<!NONE_APPLICABLE!>zero<!>("")
|
||||
|
||||
one()
|
||||
<!INAPPLICABLE_CANDIDATE!>one<!>(1)
|
||||
<!INAPPLICABLE_CANDIDATE!>one<!>("")
|
||||
one(<!TOO_MANY_ARGUMENTS!>1<!>)
|
||||
one(<!TOO_MANY_ARGUMENTS!>""<!>)
|
||||
|
||||
two()
|
||||
two(1)
|
||||
|
||||
+1
-1
@@ -6,5 +6,5 @@ fun <T, R> foo(map: Map<T, R>) : R = throw Exception()
|
||||
fun <F, G> getMap() : Map<F, G> = throw Exception()
|
||||
|
||||
fun bar123() {
|
||||
foo(<!INAPPLICABLE_CANDIDATE!>getMap<!>(
|
||||
foo(<!TOO_MANY_ARGUMENTS!>getMap<!>(
|
||||
<!SYNTAX!><!>}
|
||||
|
||||
+9
-9
@@ -39,7 +39,7 @@ fun <R> select(vararg x: R) = x[0]
|
||||
fun poll0(): Flow<String> {
|
||||
return flow {
|
||||
val inv = select(::bar, ::foo)
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -123,7 +123,7 @@ fun poll14(flag: Boolean): Flow<String> {
|
||||
fun poll15(flag: Boolean): Flow<String> {
|
||||
return flow {
|
||||
val inv = if (flag) { ::bar5 } else { ::foo5 }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,7 +144,7 @@ fun poll17(flag: Boolean): Flow<String> {
|
||||
fun poll2(flag: Boolean): Flow<String> {
|
||||
return flow {
|
||||
val inv = when (flag) { true -> ::bar else -> ::foo }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -193,7 +193,7 @@ fun poll26(flag: Boolean): Flow<String> {
|
||||
fun poll3(flag: Boolean): Flow<String> {
|
||||
return flow {
|
||||
val inv = when (flag) { true -> ::bar false -> ::foo }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -242,7 +242,7 @@ fun poll36(flag: Boolean): Flow<String> {
|
||||
fun poll4(): Flow<String> {
|
||||
return flow {
|
||||
val inv = try { ::bar } finally { ::foo }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -270,7 +270,7 @@ fun poll43(): Flow<String> {
|
||||
fun poll44(): Flow<String> {
|
||||
return flow {
|
||||
val inv = try { ::bar5 } finally { ::foo5 }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -291,7 +291,7 @@ fun poll46(): Flow<String> {
|
||||
fun poll5(): Flow<String> {
|
||||
return flow {
|
||||
val inv = try { ::bar } catch (e: Exception) { ::foo } finally { ::foo }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -319,7 +319,7 @@ fun poll53(): Flow<String> {
|
||||
fun poll54(): Flow<String> {
|
||||
return flow {
|
||||
val inv = try { ::bar5 } catch (e: Exception) { ::foo5 } finally { ::foo5 }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -389,7 +389,7 @@ fun poll66(): Flow<String> {
|
||||
fun poll7(): Flow<String> {
|
||||
return flow {
|
||||
val inv = ::bar!!
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+5
-5
@@ -72,7 +72,7 @@ fun poll14(flag: Boolean): Flow<String> {
|
||||
fun poll15(flag: Boolean): Flow<String> {
|
||||
return flow {
|
||||
val inv = if (flag) { ::bar5 } else { ::foo5 }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,7 +93,7 @@ fun poll17(flag: Boolean): Flow<String> {
|
||||
fun poll4(): Flow<String> {
|
||||
return flow {
|
||||
val inv = try { ::bar } finally { ::foo }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@ fun poll43(): Flow<String> {
|
||||
fun poll44(): Flow<String> {
|
||||
return flow {
|
||||
val inv = try { ::bar5 } finally { ::foo5 }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,7 +142,7 @@ fun poll46(): Flow<String> {
|
||||
fun poll5(): Flow<String> {
|
||||
return flow {
|
||||
val inv = try { ::bar } catch (e: Exception) { ::foo } finally { ::foo }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -170,7 +170,7 @@ fun poll53(): Flow<String> {
|
||||
fun poll54(): Flow<String> {
|
||||
return flow {
|
||||
val inv = try { ::bar5 } catch (e: Exception) { ::foo5 } finally { ::foo5 }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@ class Flow<out R>(private val block: suspend FlowCollector<R>.() -> Unit)
|
||||
fun poll7(): Flow<String> {
|
||||
return flow {
|
||||
val inv = ::bar!!
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Vendored
+3
-3
@@ -119,8 +119,8 @@ fun main() {
|
||||
* K <: (A) -> Unit -> TypeVariable(_RP1) >: A
|
||||
* K >: (C) -> TypeVariable(_R) -> TypeVariable(_RP1) <: C
|
||||
*/
|
||||
val x12 = <!INAPPLICABLE_CANDIDATE!>selectC<!>(id { <!DEBUG_INFO_EXPRESSION_TYPE("C")!>it<!> }, id { x: B -> })
|
||||
val x13 = <!INAPPLICABLE_CANDIDATE!>selectA<!>(id { <!DEBUG_INFO_EXPRESSION_TYPE("A")!>it<!> }, id { x: C -> })
|
||||
val x12 = selectC(id { <!DEBUG_INFO_EXPRESSION_TYPE("C")!>it<!> }, id { x: B -> }<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
val x13 = selectA(id { <!DEBUG_INFO_EXPRESSION_TYPE("A")!>it<!> }, id { x: C -> }<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
val x14 = selectC(id { <!DEBUG_INFO_EXPRESSION_TYPE("C")!>it<!> }, id { x: A -> }, { x -> x })
|
||||
val x15 = selectC(id { <!DEBUG_INFO_EXPRESSION_TYPE("C")!>it<!> }, { x: A -> }, id { x -> x })
|
||||
/*
|
||||
@@ -152,7 +152,7 @@ fun main() {
|
||||
select(id(fun String.(x: String) {}), id(fun(x: String, y: String) { }), { x: String, y: String -> x })
|
||||
// Convert to extension lambda is impossible because the lambda parameter types aren't specified explicitly
|
||||
select(id(fun String.(x: String) {}), id(fun(x: String, y: String) { }), { x, y -> x })
|
||||
select(<!INAPPLICABLE_CANDIDATE!>id<!>(id(fun(x: String, y: String) { }), fun String.(x: String) {}), { x, y -> x })
|
||||
select(id(id(fun(x: String, y: String) { }), <!TOO_MANY_ARGUMENTS!>fun String.(x: String) {}<!>), { x, y -> x })
|
||||
val x26: Int.(String) -> Int = fun (x: String) = 10 // it must be error, see KT-38439
|
||||
// Receiver must be specified in anonymous function declaration
|
||||
val x27: Int.(String) -> Int = id(fun (x: String) = 10)
|
||||
|
||||
+2
-2
@@ -2,6 +2,6 @@ fun test1(i: Int) = { i ->
|
||||
i
|
||||
}(i)
|
||||
|
||||
fun test2() = <!INAPPLICABLE_CANDIDATE!>{ i -> i }<!>()
|
||||
fun test2() = { i -> i }(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
|
||||
fun test3() = { i -> i }(1)
|
||||
fun test3() = { i -> i }(1)
|
||||
|
||||
@@ -8,5 +8,5 @@ fun <T> foo(a : T, b : Collection<T>, c : Int) {
|
||||
|
||||
fun <T> arrayListOf(vararg values: T): ArrayList<T> = throw Exception("$values")
|
||||
|
||||
val bar = <!INAPPLICABLE_CANDIDATE!>foo<!>("", arrayListOf(), )
|
||||
val bar2 = <!INAPPLICABLE_CANDIDATE!>foo<!><String>("", arrayListOf(), )
|
||||
val bar = foo("", arrayListOf(), <!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
val bar2 = foo<String>("", arrayListOf(), <!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
|
||||
+22
-22
@@ -30,22 +30,22 @@ fun poll11(flag: Boolean) {
|
||||
|
||||
fun poll12(flag: Boolean) {
|
||||
val inv = if (flag) { ::bar3 } else { ::foo3 }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun poll13(flag: Boolean) {
|
||||
val inv = if (flag) { ::bar2 } else { ::foo3 }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun poll14(flag: Boolean) {
|
||||
val inv = if (flag) { ::bar4 } else { ::foo4 }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun poll15(flag: Boolean) {
|
||||
val inv = if (flag) { ::bar5 } else { ::foo5 }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun poll16(flag: Boolean) {
|
||||
@@ -60,7 +60,7 @@ fun poll17(flag: Boolean) {
|
||||
|
||||
fun poll2(flag: Boolean) {
|
||||
val inv = when (flag) { true -> ::bar else -> ::foo }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun poll21(flag: Boolean) {
|
||||
@@ -70,12 +70,12 @@ fun poll21(flag: Boolean) {
|
||||
|
||||
fun poll22(flag: Boolean) {
|
||||
val inv = when (flag) { true -> ::bar3 else -> ::foo3 }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun poll23(flag: Boolean) {
|
||||
val inv = when (flag) { true -> ::bar4 else -> ::foo4 }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun poll24(flag: Boolean) {
|
||||
@@ -95,7 +95,7 @@ fun poll26(flag: Boolean) {
|
||||
|
||||
fun poll3(flag: Boolean) {
|
||||
val inv = when (flag) { true -> ::bar false -> ::foo }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun poll31(flag: Boolean) {
|
||||
@@ -105,12 +105,12 @@ fun poll31(flag: Boolean) {
|
||||
|
||||
fun poll32(flag: Boolean) {
|
||||
val inv = when (flag) { true -> ::bar3 false -> ::foo3 }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun poll33(flag: Boolean) {
|
||||
val inv = when (flag) { true -> ::bar4 false -> ::foo4 }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun poll34(flag: Boolean) {
|
||||
@@ -130,7 +130,7 @@ fun poll36(flag: Boolean) {
|
||||
|
||||
fun poll4() {
|
||||
val inv = try { ::bar } finally { ::<!UNRESOLVED_REFERENCE!>foo<!> }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun poll41() {
|
||||
@@ -140,17 +140,17 @@ fun poll41() {
|
||||
|
||||
fun poll42() {
|
||||
val inv = try { ::bar3 } finally { ::<!UNRESOLVED_REFERENCE!>foo3<!> }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun poll43() {
|
||||
val inv = try { ::bar4 } finally { ::foo4 }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun poll44() {
|
||||
val inv = try { ::bar5 } finally { ::<!UNRESOLVED_REFERENCE!>foo5<!> }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun poll45() {
|
||||
@@ -165,7 +165,7 @@ fun poll46() {
|
||||
|
||||
fun poll5() {
|
||||
val inv = try { ::bar } catch (e: Exception) { ::foo } finally { ::<!UNRESOLVED_REFERENCE!>foo<!> }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun poll51() {
|
||||
@@ -175,17 +175,17 @@ fun poll51() {
|
||||
|
||||
fun poll52() {
|
||||
val inv = try { ::bar3 } catch (e: Exception) { ::foo3 } finally { ::<!UNRESOLVED_REFERENCE!>foo3<!> }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun poll53() {
|
||||
val inv = try { ::bar4 } catch (e: Exception) { ::foo4 } finally { ::foo4 }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun poll54() {
|
||||
val inv = try { ::bar5 } catch (e: Exception) { ::foo5 } finally { ::<!UNRESOLVED_REFERENCE!>foo5<!> }
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun poll55() {
|
||||
@@ -235,7 +235,7 @@ fun poll66() {
|
||||
|
||||
fun poll7() {
|
||||
val inv = ::bar!!
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun poll71() {
|
||||
@@ -245,7 +245,7 @@ fun poll71() {
|
||||
|
||||
fun poll72() {
|
||||
val inv = ::bar3!!
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun poll73() {
|
||||
@@ -270,7 +270,7 @@ fun poll76() {
|
||||
|
||||
fun poll8() {
|
||||
val inv = ::<!UNRESOLVED_REFERENCE!>bar<!> <!NONE_APPLICABLE!>in<!> <!NONE_APPLICABLE!>setOf<!>(::<!UNRESOLVED_REFERENCE!>foo<!>)
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun poll81() {
|
||||
@@ -280,7 +280,7 @@ fun poll81() {
|
||||
|
||||
fun poll82() {
|
||||
val inv = ::<!UNRESOLVED_REFERENCE!>bar3<!> <!NONE_APPLICABLE!>in<!> <!NONE_APPLICABLE!>setOf<!>(::<!UNRESOLVED_REFERENCE!>foo3<!>)
|
||||
<!INAPPLICABLE_CANDIDATE!>inv<!>()
|
||||
inv(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun poll83() {
|
||||
|
||||
+1
-1
@@ -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("")
|
||||
}
|
||||
|
||||
@@ -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,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
//KT-5854 Incorrect 'Nested class should be qualified'
|
||||
|
||||
class A {
|
||||
|
||||
+1
-1
@@ -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<!>)
|
||||
}
|
||||
|
||||
+1
-1
@@ -9,4 +9,4 @@ public class C {
|
||||
|
||||
// FILE: main.kt
|
||||
|
||||
fun foo() = <!INAPPLICABLE_CANDIDATE!>C<!>()
|
||||
fun foo() = C(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
|
||||
+1
-1
@@ -3,5 +3,5 @@ fun Any.foo1() : (i : Int) -> Unit {
|
||||
}
|
||||
|
||||
fun test(a : Any) {
|
||||
<!INAPPLICABLE_CANDIDATE!>a.foo1()<!>()
|
||||
a.foo1(<!NO_VALUE_FOR_PARAMETER!>)<!>()
|
||||
}
|
||||
|
||||
@@ -12,10 +12,10 @@ expect class Foo(zzz: Int) {
|
||||
expect fun f2(xxx: Int)
|
||||
|
||||
fun testCommon() {
|
||||
Foo(<!NAMED_ARGUMENTS_NOT_ALLOWED!>zzz = 0<!>)
|
||||
val f = Foo(<!NAMED_ARGUMENTS_NOT_ALLOWED!>aaa = true<!>)
|
||||
f.f1(<!NAMED_ARGUMENTS_NOT_ALLOWED!>xxx = ""<!>)
|
||||
f2(<!NAMED_ARGUMENTS_NOT_ALLOWED!>xxx = 42<!>)
|
||||
Foo(<!NAMED_ARGUMENTS_NOT_ALLOWED!>zzz<!> = 0)
|
||||
val f = Foo(<!NAMED_ARGUMENTS_NOT_ALLOWED!>aaa<!> = true)
|
||||
f.f1(<!NAMED_ARGUMENTS_NOT_ALLOWED!>xxx<!> = "")
|
||||
f2(<!NAMED_ARGUMENTS_NOT_ALLOWED!>xxx<!> = 42)
|
||||
}
|
||||
|
||||
// MODULE: m2-jvm(m1-common)
|
||||
|
||||
+5
-5
@@ -11,8 +11,8 @@ interface D : B, A
|
||||
|
||||
fun foo(x : C, y : D){
|
||||
x.foo(x = 0)
|
||||
x.<!INAPPLICABLE_CANDIDATE!>foo<!>(y = 0)
|
||||
y.<!INAPPLICABLE_CANDIDATE!>foo<!>(x = 0)
|
||||
x.foo(y = 0<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
y.foo(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.<!INAPPLICABLE_CANDIDATE!>foo<!>(y = 0)
|
||||
x.foo(y = 0<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
y.foo(x = 0)
|
||||
y.<!INAPPLICABLE_CANDIDATE!>foo<!>(y = 0)
|
||||
}
|
||||
y.foo(y = 0<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
+6
-6
@@ -14,11 +14,11 @@ interface C : A, B { // Warning here, this is correct
|
||||
}
|
||||
|
||||
fun test(c: C) {
|
||||
c.<!INAPPLICABLE_CANDIDATE!>foo<!>(b1 = 1, b2 = 1.0)
|
||||
c.<!INAPPLICABLE_CANDIDATE!>foo<!>(a1 = 1, b2 = 1.0)
|
||||
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(a1 = 1, a2 = 1.0)
|
||||
c.foo(a1 = 1, a2 = 1.0)
|
||||
c.<!INAPPLICABLE_CANDIDATE!>bar<!>(a1 = 1, a2 = 1.0, b3= "")
|
||||
c.<!INAPPLICABLE_CANDIDATE!>baz<!>(a1 = 1, b2 = 1.0, a3 = "", b4 = 2, a5 = "")
|
||||
c.<!INAPPLICABLE_CANDIDATE!>baz<!>(a1 = 1, a2 = 1.0, a3 = "", b4 = 2, a5 = "")
|
||||
}
|
||||
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!>)<!>
|
||||
}
|
||||
|
||||
Vendored
+2
-2
@@ -11,5 +11,5 @@ interface C : A<Int>, B { // Warning here, this is correct
|
||||
|
||||
fun test(c: C) {
|
||||
c.foo(a = 1)
|
||||
c.<!INAPPLICABLE_CANDIDATE!>foo<!>(b = 1)
|
||||
}
|
||||
c.foo(b = 1<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
Vendored
+2
-2
@@ -11,5 +11,5 @@ interface C : A, B { // Warning here, this is correct
|
||||
|
||||
fun test(c: C) {
|
||||
c.foo(a = 1)
|
||||
c.<!INAPPLICABLE_CANDIDATE!>foo<!>(b = 1)
|
||||
}
|
||||
c.foo(b = 1<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
Vendored
+2
-2
@@ -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.<!INAPPLICABLE_CANDIDATE!>foo<!>(b = 1)
|
||||
}
|
||||
c.foo(b = 1<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
-9
@@ -1,9 +0,0 @@
|
||||
// FILE: A.java
|
||||
|
||||
public class A {
|
||||
public A(int x, String y) {}
|
||||
}
|
||||
|
||||
// FILE: 1.kt
|
||||
|
||||
val test = A(<!NAMED_ARGUMENTS_NOT_ALLOWED!>x = 1<!>, <!NAMED_ARGUMENTS_NOT_ALLOWED!>y = "2"<!>)
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// FILE: A.java
|
||||
|
||||
public class A {
|
||||
|
||||
+4
-4
@@ -8,11 +8,11 @@ public class JavaSuperClass {
|
||||
|
||||
// FILE: 1.kt
|
||||
|
||||
fun directInvocation() = JavaSuperClass().foo(<!NAMED_ARGUMENTS_NOT_ALLOWED!>javaName = 1<!>)
|
||||
fun directInvocation() = JavaSuperClass().foo(<!NAMED_ARGUMENTS_NOT_ALLOWED!>javaName<!> = 1)
|
||||
|
||||
open class KotlinSubClass : JavaSuperClass()
|
||||
|
||||
fun viaFakeOverride() = KotlinSubClass().foo(<!NAMED_ARGUMENTS_NOT_ALLOWED!>javaName = 2<!>)
|
||||
fun viaFakeOverride() = KotlinSubClass().foo(<!NAMED_ARGUMENTS_NOT_ALLOWED!>javaName<!> = 2)
|
||||
|
||||
class KotlinSubSubClass : KotlinSubClass() {
|
||||
override fun foo(kotlinName: Int) {}
|
||||
@@ -21,7 +21,7 @@ class KotlinSubSubClass : KotlinSubClass() {
|
||||
fun viaRealOverride() = KotlinSubSubClass().foo(kotlinName = 3)
|
||||
|
||||
|
||||
fun unresolvedParameter() = JavaSuperClass().<!INAPPLICABLE_CANDIDATE!>foo<!>(nonexistentName = 4)
|
||||
fun unresolvedParameter() = JavaSuperClass(<!NO_VALUE_FOR_PARAMETER!>)<!>.foo(nonexistentName = 4)
|
||||
|
||||
|
||||
fun multipleParameters() = JavaSuperClass().multipleParameters(<!NAMED_ARGUMENTS_NOT_ALLOWED!>first = 1<!>, <!NAMED_ARGUMENTS_NOT_ALLOWED!>second = 2L<!>, <!NAMED_ARGUMENTS_NOT_ALLOWED!>third = "3"<!>)
|
||||
fun multipleParameters() = JavaSuperClass().multipleParameters(<!NAMED_ARGUMENTS_NOT_ALLOWED!>first<!> = 1, <!NAMED_ARGUMENTS_NOT_ALLOWED!>second<!> = 2L, <!NAMED_ARGUMENTS_NOT_ALLOWED!>third<!> = "3")
|
||||
|
||||
-17
@@ -1,17 +0,0 @@
|
||||
// !WITH_NEW_INFERENCE
|
||||
// FILE: test/J.java
|
||||
|
||||
package test;
|
||||
|
||||
public class J {
|
||||
public J(String s, Runnable r, Boolean z) {
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: usage.kt
|
||||
|
||||
package test
|
||||
|
||||
fun test() {
|
||||
J("", <!NAMED_ARGUMENTS_NOT_ALLOWED!>r = { }<!>, <!NAMED_ARGUMENTS_NOT_ALLOWED!>z = false<!>)
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !WITH_NEW_INFERENCE
|
||||
// FILE: test/J.java
|
||||
|
||||
|
||||
-17
@@ -1,17 +0,0 @@
|
||||
// !WITH_NEW_INFERENCE
|
||||
// FILE: test/J.java
|
||||
|
||||
package test;
|
||||
|
||||
public class J {
|
||||
public static void foo(String s, Runnable r, Boolean z) {
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: usage.kt
|
||||
|
||||
package test
|
||||
|
||||
fun test() {
|
||||
J.foo("", <!NAMED_ARGUMENTS_NOT_ALLOWED!>r = { }<!>, <!NAMED_ARGUMENTS_NOT_ALLOWED!>z = false<!>)
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !WITH_NEW_INFERENCE
|
||||
// FILE: test/J.java
|
||||
|
||||
|
||||
Vendored
+2
-2
@@ -15,6 +15,6 @@ fun main() {
|
||||
|
||||
foo(p1 = 1, p2 = "2", 3.0)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(1, p3 = 2.0, "")
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(1, p3 = 2.0, 3.0)
|
||||
foo(1, p3 = 2.0, ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
foo(1, p3 = 2.0, 3.0<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
+2
-2
@@ -15,6 +15,6 @@ fun main() {
|
||||
|
||||
foo(p1 = 1, p2 = "2", 3.0)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(1, p3 = 2.0, "")
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(1, p3 = 2.0, 3.0)
|
||||
foo(1, p3 = 2.0, ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
foo(1, p3 = 2.0, 3.0<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
+2
-2
@@ -15,6 +15,6 @@ fun main() {
|
||||
|
||||
foo(p1 = 1, p2 = "2", 3.0)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(1, p3 = 2.0, "")
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(1, p3 = 2.0, 3.0)
|
||||
foo(1, p3 = 2.0, ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
foo(1, p3 = 2.0, 3.0<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
+7
-7
@@ -28,10 +28,10 @@ fun foo4(
|
||||
) {}
|
||||
|
||||
fun main() {
|
||||
<!INAPPLICABLE_CANDIDATE!>foo1<!>(1, 2, p2 = "3", 4.0)
|
||||
foo1(1, 2, p2 = "3", 4.0<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
foo1(p1 = intArrayOf(1, 2), "3", p3 = 4.0)
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>foo1<!>(p2 = "3", 4.0)
|
||||
foo1(p2 = "3", 4.0<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
|
||||
foo2(p1 = 1, "2", "3", p3 = 4.0)
|
||||
foo2(1, p2 = arrayOf("2", "3"), 4.0)
|
||||
@@ -40,11 +40,11 @@ fun main() {
|
||||
foo3(p1 = 1, "2", 3.0, 4.0)
|
||||
foo3(p1 = 1, "2", p3 = doubleArrayOf(3.0, 4.0))
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>foo4<!>(p1 = 1, "2", "3", p3 = 4.0, 5)
|
||||
<!INAPPLICABLE_CANDIDATE!>foo4<!>(1, "2", "3", p3 = 4.0, 5)
|
||||
<!INAPPLICABLE_CANDIDATE!>foo4<!>(1, p3 = 4.0, 5)
|
||||
foo4(p1 = 1, "2", "3", p3 = 4.0, 5<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
foo4(1, "2", "3", p3 = 4.0, 5<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
foo4(1, p3 = 4.0, 5<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>foo1<!>(1, 2, p3 = 3.0, "4")
|
||||
foo1(1, 2, p3 = 3.0, "4"<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
foo1(1, 2, p3 = 3.0, p2 = "4")
|
||||
foo1(*intArrayOf(1, 2), p3 = 3.0, p2 = "4")
|
||||
|
||||
@@ -52,6 +52,6 @@ fun main() {
|
||||
<!INAPPLICABLE_CANDIDATE!>foo2<!>(1, p3 = 2.0, *arrayOf("3", "4"))
|
||||
foo2(1, p3 = 2.0, p2 = arrayOf("3", "4"))
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>foo3<!>(1, p3 = doubleArrayOf(2.0, 3.0), "4")
|
||||
foo3(1, p3 = doubleArrayOf(2.0, 3.0), "4"<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
foo3(1, p3 = doubleArrayOf(2.0, 3.0), p2 = "4")
|
||||
}
|
||||
|
||||
+5
-5
@@ -11,17 +11,17 @@ fun test() {
|
||||
foo(b = "")
|
||||
foo(1, "")
|
||||
foo(a = 2)
|
||||
<!INAPPLICABLE_CANDIDATE!>foo<!>(1, "", "")
|
||||
foo(1, "", <!TOO_MANY_ARGUMENTS!>""<!>)
|
||||
|
||||
bar(z = "")
|
||||
<!INAPPLICABLE_CANDIDATE!>bar<!>()
|
||||
<!INAPPLICABLE_CANDIDATE!>bar<!>("")
|
||||
bar(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
bar(""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
bar(1, 1, "")
|
||||
bar(1, 1, "")
|
||||
bar(1, z = "")
|
||||
bar(1, z = "", y = 2)
|
||||
<!INAPPLICABLE_CANDIDATE!>bar<!>(z = "", 1)
|
||||
<!INAPPLICABLE_CANDIDATE!>bar<!>(1, zz = "",
|
||||
bar(1, zz = "",
|
||||
<!UNRESOLVED_REFERENCE!>zz<!>.foo
|
||||
)
|
||||
<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
+2
-2
@@ -18,5 +18,5 @@ fun test1(d: D) {
|
||||
}
|
||||
|
||||
fun test2(c: C) {
|
||||
c.<!INAPPLICABLE_CANDIDATE!>foo<!>(b1 = 1, b2 = 1.0)
|
||||
}
|
||||
c.foo(b1 = 1, b2 = 1.0<!NO_VALUE_FOR_PARAMETER, NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
@@ -4,15 +4,15 @@ package toplevelObjectDeclarations
|
||||
open fun foo() : Int = 1
|
||||
}
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>class T : <!SUPERTYPE_NOT_INITIALIZED!>Foo<!> {}<!>
|
||||
<!NO_VALUE_FOR_PARAMETER!>class T : <!SUPERTYPE_NOT_INITIALIZED!>Foo<!> {}<!>
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>object A : <!SUPERTYPE_NOT_INITIALIZED!>Foo<!> {
|
||||
object A : <!SUPERTYPE_NOT_INITIALIZED!>Foo<!> {
|
||||
val x : Int = 2
|
||||
|
||||
fun test() : Int {
|
||||
return x + foo()
|
||||
return x + foo(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
}<!>
|
||||
}
|
||||
|
||||
object B : A {}
|
||||
|
||||
|
||||
+5
-5
@@ -34,11 +34,11 @@ object MismatchingArities2 {
|
||||
}
|
||||
|
||||
fun testMismatchingArities() {
|
||||
++<!INAPPLICABLE_CANDIDATE!>MismatchingArities1[0]<!>
|
||||
<!INAPPLICABLE_CANDIDATE!>MismatchingArities1[0]<!>++
|
||||
<!NO_VALUE_FOR_PARAMETER!>++MismatchingArities1[0]<!>
|
||||
<!NO_VALUE_FOR_PARAMETER!>MismatchingArities1[0]++<!>
|
||||
MismatchingArities1[0] <!UNRESOLVED_REFERENCE!>+=<!> 1
|
||||
|
||||
++<!INAPPLICABLE_CANDIDATE!>MismatchingArities2[0]<!>
|
||||
<!INAPPLICABLE_CANDIDATE!>MismatchingArities2[0]<!>++
|
||||
<!INAPPLICABLE_CANDIDATE!>MismatchingArities2[0]<!> <!UNRESOLVED_REFERENCE!>+=<!> 1
|
||||
<!NO_VALUE_FOR_PARAMETER!>++MismatchingArities2[0]<!>
|
||||
<!NO_VALUE_FOR_PARAMETER!>MismatchingArities2[0]++<!>
|
||||
<!NO_VALUE_FOR_PARAMETER!>MismatchingArities2[0]<!> <!UNRESOLVED_REFERENCE!>+=<!> 1
|
||||
}
|
||||
|
||||
+8
-8
@@ -4,24 +4,24 @@ class Function1Impl : (String) -> Unit {
|
||||
|
||||
fun test1(f: Function1Impl) {
|
||||
f("")
|
||||
<!INAPPLICABLE_CANDIDATE!>f<!>(p0 = "")
|
||||
f(p0 = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
f(myParamName = "")
|
||||
f.invoke("")
|
||||
f.<!INAPPLICABLE_CANDIDATE!>invoke<!>(p0 = "")
|
||||
f.invoke(p0 = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
f.invoke(myParamName = "")
|
||||
}
|
||||
|
||||
fun test2(f: (String) -> Unit) {
|
||||
f("")
|
||||
<!INAPPLICABLE_CANDIDATE!>f<!>(p0 = "")
|
||||
<!INAPPLICABLE_CANDIDATE!>f<!>(myParamName = "")
|
||||
f(p0 = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
f(myParamName = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
f.invoke("")
|
||||
f.<!INAPPLICABLE_CANDIDATE!>invoke<!>(p0 = "")
|
||||
f.<!INAPPLICABLE_CANDIDATE!>invoke<!>(myParamName = "")
|
||||
f.invoke(p0 = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
f.invoke(myParamName = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun test3(f: String.(String) -> Unit) {
|
||||
"".f("")
|
||||
"".<!INAPPLICABLE_CANDIDATE!>f<!>(p0 = "")
|
||||
"".<!INAPPLICABLE_CANDIDATE!>f<!>(zzz = "")
|
||||
"".f(p0 = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
"".f(zzz = ""<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
//KT-1736 AssertionError in CallResolver
|
||||
|
||||
package kt1736
|
||||
|
||||
object Obj {
|
||||
fun method() {
|
||||
}
|
||||
}
|
||||
|
||||
val x = Obj.<!INAPPLICABLE_CANDIDATE!>method<!>{ -> }
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
//KT-1736 AssertionError in CallResolver
|
||||
|
||||
package kt1736
|
||||
|
||||
+2
-2
@@ -4,7 +4,7 @@ class X<V>(provider: () -> V, trackValue: Boolean) {
|
||||
}
|
||||
|
||||
class B {
|
||||
val c = <!INAPPLICABLE_CANDIDATE!>X<!><String> {
|
||||
val c = <!NO_VALUE_FOR_PARAMETER!>X<String> {
|
||||
"e"
|
||||
}
|
||||
}<!>
|
||||
}
|
||||
|
||||
Vendored
+2
-2
@@ -1,7 +1,7 @@
|
||||
fun test1(f: String.() -> Unit) {
|
||||
(<!INAPPLICABLE_CANDIDATE!>f<!>)()
|
||||
(f)(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>f<!>()
|
||||
f(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun test2(f: (Int) -> Int) {
|
||||
|
||||
Vendored
+1
-1
@@ -7,7 +7,7 @@ fun test1() {
|
||||
|
||||
fun test2(f: String.(Int) -> Unit) {
|
||||
11.(<!INAPPLICABLE_CANDIDATE!>f<!>)(1)
|
||||
11.(<!INAPPLICABLE_CANDIDATE!>f<!>)()
|
||||
11.(f)(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
fun test3() {
|
||||
|
||||
Vendored
+2
-2
@@ -8,7 +8,7 @@ class SomeClass
|
||||
|
||||
fun test(identifier: SomeClass, fn: String.() -> Unit) {
|
||||
<!NONE_APPLICABLE!>identifier<!>()
|
||||
<!INAPPLICABLE_CANDIDATE!>identifier<!>(123)
|
||||
<!INAPPLICABLE_CANDIDATE!>identifier<!>(1, 2)
|
||||
identifier(123<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
identifier(1, <!TOO_MANY_ARGUMENTS!>2<!>)
|
||||
1.<!INAPPLICABLE_CANDIDATE!>fn<!>()
|
||||
}
|
||||
|
||||
+3
-3
@@ -11,10 +11,10 @@ fun test(a: A) {
|
||||
<!UNSAFE_IMPLICIT_INVOKE_CALL!>(a.x)<!>("")
|
||||
|
||||
with("") {
|
||||
a.<!INAPPLICABLE_CANDIDATE!>x<!>()
|
||||
<!INAPPLICABLE_CANDIDATE!>(a.x)<!>()
|
||||
a.x(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
(a.x)(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
if (a.x != null) {
|
||||
a.<!INAPPLICABLE_CANDIDATE!>x<!>() // todo
|
||||
a.x(<!NO_VALUE_FOR_PARAMETER!>)<!> // todo
|
||||
(a.x)()
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+4
-4
@@ -24,8 +24,8 @@ fun test(a: A, b: B) {
|
||||
}
|
||||
|
||||
with(b) {
|
||||
a.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
a.(<!INAPPLICABLE_CANDIDATE!>foo<!>)()
|
||||
a.foo(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
a.(foo)(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
|
||||
(a.foo)()
|
||||
|
||||
@@ -66,8 +66,8 @@ fun test(a: A, b: B) {
|
||||
}
|
||||
|
||||
with(b) {
|
||||
a.<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
||||
a.(<!INAPPLICABLE_CANDIDATE!>foo<!>)()
|
||||
a.foo(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
a.(foo)(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
|
||||
(a.foo)()
|
||||
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
class A {
|
||||
val foo: B.() -> Unit get() = null!!
|
||||
}
|
||||
|
||||
class B
|
||||
|
||||
fun test(a: A, b: B) {
|
||||
with(b) {
|
||||
a.<!INAPPLICABLE_CANDIDATE!>foo<!>() // here must be error, because a is not extension receiver
|
||||
|
||||
a.foo(this)
|
||||
|
||||
(a.foo)()
|
||||
|
||||
(a.foo)(this)
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
class A {
|
||||
val foo: B.() -> Unit get() = null!!
|
||||
}
|
||||
|
||||
Vendored
+2
-2
@@ -7,7 +7,7 @@ class SomeClass
|
||||
|
||||
fun test(identifier: SomeClass, fn: String.() -> Unit) {
|
||||
<!INAPPLICABLE_CANDIDATE!>identifier<!>()
|
||||
<!INAPPLICABLE_CANDIDATE!>identifier<!>(123)
|
||||
<!INAPPLICABLE_CANDIDATE!>identifier<!>(1, 2)
|
||||
identifier(<!TOO_MANY_ARGUMENTS!>123<!>)
|
||||
identifier(<!TOO_MANY_ARGUMENTS!>1<!>, <!TOO_MANY_ARGUMENTS!>2<!>)
|
||||
1.<!INAPPLICABLE_CANDIDATE!>fn<!>()
|
||||
}
|
||||
|
||||
+3
-3
@@ -9,6 +9,6 @@ fun test() {
|
||||
|
||||
bar(<!INAPPLICABLE_CANDIDATE!>foo<!>(xx = zzz(11) { j: Int -> j + 7 }))
|
||||
|
||||
<!INAPPLICABLE_CANDIDATE!>bar<!>(zz = <!INAPPLICABLE_CANDIDATE!>foo<!>(
|
||||
xx = zzz(12) { i: Int -> i + i }))
|
||||
}
|
||||
bar(zz = <!INAPPLICABLE_CANDIDATE!>foo<!>(
|
||||
xx = zzz(12) { i: Int -> i + i })<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
|
||||
@@ -8,40 +8,40 @@ fun varargFn(vararg args: Int) {}
|
||||
|
||||
fun testNoArgs() {
|
||||
noArgs()
|
||||
<!INAPPLICABLE_CANDIDATE!>noArgs<!> {}
|
||||
<!INAPPLICABLE_CANDIDATE!>noArgs<!>() {}
|
||||
noArgs <!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
noArgs() <!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
noArgs() // {}
|
||||
<!INAPPLICABLE_CANDIDATE!>noArgs<!>() /* */ {}
|
||||
<!INAPPLICABLE_CANDIDATE!>noArgs<!>() /*
|
||||
noArgs() /* */ <!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
noArgs() /*
|
||||
block comment, no new line
|
||||
*/ {}
|
||||
<!INAPPLICABLE_CANDIDATE!>noArgs<!>()
|
||||
*/ <!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
noArgs()
|
||||
/*
|
||||
block comment with new line
|
||||
*/
|
||||
{}
|
||||
<!INAPPLICABLE_CANDIDATE!>noArgs<!>() // comment
|
||||
<!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
noArgs() // comment
|
||||
// comment
|
||||
{}
|
||||
<!INAPPLICABLE_CANDIDATE!>noArgs<!>() {} {}
|
||||
<!INAPPLICABLE_CANDIDATE!>noArgs<!>() {}
|
||||
{}
|
||||
<!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
noArgs() <!TOO_MANY_ARGUMENTS!>{}<!> <!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
noArgs() <!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
<!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
}
|
||||
|
||||
fun testLambdaArg() {
|
||||
<!INAPPLICABLE_CANDIDATE!>oneLambdaArg<!>()
|
||||
oneLambdaArg(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
oneLambdaArg {}
|
||||
oneLambdaArg()
|
||||
{}
|
||||
<!INAPPLICABLE_CANDIDATE!>oneLambdaArg<!>()
|
||||
oneLambdaArg()
|
||||
{}
|
||||
{}
|
||||
<!INAPPLICABLE_CANDIDATE!>oneLambdaArg<!>(
|
||||
<!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
oneLambdaArg(
|
||||
{},
|
||||
{}
|
||||
<!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
)
|
||||
oneLambdaArg() {}
|
||||
<!INAPPLICABLE_CANDIDATE!>oneLambdaArg<!>() // {}
|
||||
oneLambdaArg(<!NO_VALUE_FOR_PARAMETER!>)<!> // {}
|
||||
oneLambdaArg() /* */ {}
|
||||
oneLambdaArg() /*
|
||||
block
|
||||
@@ -50,21 +50,21 @@ fun testLambdaArg() {
|
||||
oneLambdaArg() // comment
|
||||
// comment
|
||||
{}
|
||||
<!INAPPLICABLE_CANDIDATE!>oneLambdaArg<!>() {}/*
|
||||
oneLambdaArg() {}/*
|
||||
block comment, no new line
|
||||
*/ {}
|
||||
<!INAPPLICABLE_CANDIDATE!>oneLambdaArg<!>() {}/*
|
||||
*/ <!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
oneLambdaArg() {}/*
|
||||
block comment with new line
|
||||
*/
|
||||
{}
|
||||
<!INAPPLICABLE_CANDIDATE!>oneLambdaArg<!>() {}// comment
|
||||
<!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
oneLambdaArg() {}// comment
|
||||
// comment
|
||||
{}
|
||||
<!INAPPLICABLE_CANDIDATE!>oneLambdaArg<!>() {} {}
|
||||
<!INAPPLICABLE_CANDIDATE!>oneLambdaArg<!>() {}
|
||||
{}
|
||||
<!INAPPLICABLE_CANDIDATE!>oneLambdaArg<!>() {} // comment
|
||||
{}
|
||||
<!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
oneLambdaArg() {} <!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
oneLambdaArg() {}
|
||||
<!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
oneLambdaArg() {} // comment
|
||||
<!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
}
|
||||
|
||||
fun testVararg() {
|
||||
@@ -101,9 +101,9 @@ fun testTwoLambdas() {
|
||||
{}
|
||||
|
||||
return if (true) {
|
||||
<!INAPPLICABLE_CANDIDATE!>twoLambdaArgs<!>({})
|
||||
{}
|
||||
twoLambdaArgs({})
|
||||
{}
|
||||
<!TOO_MANY_ARGUMENTS!>{}<!>
|
||||
} else {
|
||||
{}
|
||||
}
|
||||
@@ -112,7 +112,7 @@ fun testTwoLambdas() {
|
||||
|
||||
fun f1(): (() -> Unit) -> (() -> Unit) -> Unit {
|
||||
return { l1 ->
|
||||
<!INAPPLICABLE_CANDIDATE!>l1<!>()
|
||||
{ l2 -> <!UNRESOLVED_REFERENCE!>l2<!>() }
|
||||
l1()
|
||||
<!TOO_MANY_ARGUMENTS!>{ l2 -> <!UNRESOLVED_REFERENCE!>l2<!>() }<!>
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ open class A protected constructor(x: Int) {
|
||||
}
|
||||
|
||||
fun foo() {
|
||||
<!INAPPLICABLE_CANDIDATE!>A<!>()
|
||||
A(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
A(1.0)
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -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)
|
||||
|
||||
Vendored
+1
-1
@@ -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<!>()
|
||||
}
|
||||
|
||||
// --------------------------
|
||||
|
||||
-6
@@ -1,6 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
class A {
|
||||
constructor(x: Int)
|
||||
}
|
||||
|
||||
val x = <!INAPPLICABLE_CANDIDATE!>A<!>()
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
class A {
|
||||
constructor(x: Int)
|
||||
|
||||
-4
@@ -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<!>)
|
||||
|
||||
+1
-1
@@ -31,7 +31,7 @@ fun test() {
|
||||
x.foo().checkType { _<CharSequence?>() }
|
||||
x.baz("")
|
||||
x.baz(1).checkType { _<Unit>() }
|
||||
x.<!INAPPLICABLE_CANDIDATE!>baz<!>(1, 2)
|
||||
x.baz(1, <!TOO_MANY_ARGUMENTS!>2<!>)
|
||||
|
||||
x.<!UNRESOLVED_REFERENCE!>foobar<!>().checkType { <!INAPPLICABLE_CANDIDATE!>_<!><String>() }
|
||||
}
|
||||
|
||||
Vendored
-14
@@ -1,14 +0,0 @@
|
||||
// !WITH_NEW_INFERENCE
|
||||
// FILE: KotlinFile.kt
|
||||
fun foo(javaClass: JavaClass) {
|
||||
javaClass.doSomething(<!NAMED_ARGUMENTS_NOT_ALLOWED!>p = 1<!>) {
|
||||
bar()
|
||||
}
|
||||
}
|
||||
|
||||
fun bar(){}
|
||||
|
||||
// FILE: JavaClass.java
|
||||
public class JavaClass {
|
||||
public void doSomething(int p, Runnable runnable) { runnable.run(); }
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !WITH_NEW_INFERENCE
|
||||
// FILE: KotlinFile.kt
|
||||
fun foo(javaClass: JavaClass) {
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ class MyRec(
|
||||
)
|
||||
|
||||
fun foo(jr: JRecord) {
|
||||
<!INAPPLICABLE_CANDIDATE!>JRecord<!>(1, "")
|
||||
JRecord(<!TOO_MANY_ARGUMENTS!>1<!>, <!TOO_MANY_ARGUMENTS!>""<!>)
|
||||
|
||||
jr.<!UNRESOLVED_REFERENCE!>x<!>()
|
||||
jr.<!UNRESOLVED_REFERENCE!>y<!>()
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ public record MyRecord(int x, CharSequence y) {
|
||||
// FILE: main.kt
|
||||
|
||||
fun foo(mr: MyRecord) {
|
||||
<!INAPPLICABLE_CANDIDATE!>MyRecord<!>(1, "")
|
||||
MyRecord(<!TOO_MANY_ARGUMENTS!>1<!>, <!TOO_MANY_ARGUMENTS!>""<!>)
|
||||
|
||||
mr.<!UNRESOLVED_REFERENCE!>x<!>()
|
||||
mr.<!UNRESOLVED_REFERENCE!>y<!>()
|
||||
|
||||
@@ -8,14 +8,14 @@ private typealias TA = C
|
||||
private val test1: C = <!HIDDEN!>C<!>()
|
||||
private val test1co: C.Companion = C
|
||||
|
||||
private val test2: TA = <!INAPPLICABLE_CANDIDATE!>TA<!>()
|
||||
private val test2: TA = TA(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
private val test2co = TA
|
||||
|
||||
// FILE: file2.kt
|
||||
private val test1: C = C()
|
||||
private val test1co: C.Companion = C
|
||||
|
||||
private val test2: TA = <!INAPPLICABLE_CANDIDATE!>TA<!>()
|
||||
private val test2: TA = TA(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
private val test2co = TA
|
||||
|
||||
<!REDECLARATION!>private class C<!>
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ typealias WI = ObjectWithInvoke
|
||||
typealias CWI = ClassWithCompanionObjectWithInvoke
|
||||
|
||||
val test1 = WI()
|
||||
val test2 = <!INAPPLICABLE_CANDIDATE!>WI<!>(null)
|
||||
val test2 = WI(<!TOO_MANY_ARGUMENTS!>null<!>)
|
||||
|
||||
val test3 = CWI()
|
||||
val test4 = CWI("")
|
||||
|
||||
+2
-2
@@ -32,7 +32,7 @@ fun getArr(): Array<String>? = null
|
||||
fun f() {
|
||||
A().foo(1, *args)
|
||||
<!INAPPLICABLE_CANDIDATE!>bar<!>(2, *args)
|
||||
<!INAPPLICABLE_CANDIDATE!>baz<!>(*args)
|
||||
baz(<!NON_VARARG_SPREAD!>*<!>args)
|
||||
}
|
||||
|
||||
fun g(args: Array<String>?) {
|
||||
@@ -56,7 +56,7 @@ fun h(b: B) {
|
||||
fun k() {
|
||||
A().foo(1, *getArr())
|
||||
<!INAPPLICABLE_CANDIDATE!>bar<!>(2, *getArr())
|
||||
<!INAPPLICABLE_CANDIDATE!>baz<!>(*getArr())
|
||||
baz(<!NON_VARARG_SPREAD!>*<!>getArr())
|
||||
}
|
||||
|
||||
fun invokeTest(goodArgs: Array<String>) {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user