761a0a7d0d
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
57 lines
940 B
Kotlin
Vendored
57 lines
940 B
Kotlin
Vendored
// !WITH_NEW_INFERENCE
|
|
package bar
|
|
|
|
|
|
// should be thrown away
|
|
|
|
fun <R> List<R>.a() {}
|
|
|
|
fun test1(i: Int?) {
|
|
1.<!INAPPLICABLE_CANDIDATE!>a<!>()
|
|
i<!UNSAFE_CALL!>.<!>a()
|
|
}
|
|
|
|
fun <R> test2(c: Collection<R>) {
|
|
c.<!INAPPLICABLE_CANDIDATE!>a<!>()
|
|
}
|
|
|
|
fun Int.foo() {}
|
|
|
|
fun test3(s: String?) {
|
|
"".<!INAPPLICABLE_CANDIDATE!>foo<!>()
|
|
s<!UNSAFE_CALL!>.<!>foo()
|
|
"".foo(<!TOO_MANY_ARGUMENTS!>1<!>)
|
|
s.foo(<!TOO_MANY_ARGUMENTS!>"a"<!>)
|
|
}
|
|
|
|
interface A
|
|
fun <T: A> T.c() {}
|
|
|
|
fun test4() {
|
|
1.<!INAPPLICABLE_CANDIDATE!>c<!>()
|
|
}
|
|
|
|
|
|
// should be an error on receiver, shouldn't be thrown away
|
|
|
|
fun test5() {
|
|
1.(<!UNRESOLVED_REFERENCE!>fun String.()=1<!>)()
|
|
}
|
|
|
|
fun <R: Any> R?.sure() : R = this!!
|
|
|
|
fun <T> test6(l: List<T>?) {
|
|
l.<!INAPPLICABLE_CANDIDATE!>sure<!><T>()
|
|
}
|
|
|
|
|
|
fun List<String>.b() {}
|
|
|
|
fun test7(l: List<String?>) {
|
|
l.<!INAPPLICABLE_CANDIDATE!>b<!>()
|
|
}
|
|
|
|
fun test8(l: List<Any>?) {
|
|
l<!UNSAFE_CALL!>.<!>b()
|
|
}
|