Files
kotlin-fork/compiler/testData/diagnostics/tests/extensions/throwOutCandidatesByReceiver.kt
T
Denis Zharkov 73799e2c3c Replace deprecated lambda syntax in testData
It's done with similar constructions where possible trying to preserve
intended behavior.
Some usages are removed because they test exactly the feature that
we are going to drop soon.
2015-09-25 08:29:25 +03:00

55 lines
1.0 KiB
Kotlin
Vendored

package bar
// should be thrown away
fun <R> List<R>.a() {}
fun test1(i: Int?) {
1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>a<!>()
i.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>a<!>()
}
fun <R> test2(c: Collection<R>) {
c.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>a<!>()
}
fun Int.foo() {}
fun test3(s: String?) {
"".<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>foo<!>()
s.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>foo<!>()
"".<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>foo<!>(1)
s.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>foo<!>("a")
}
interface A
fun <T: A> T.c() {}
fun test4() {
1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>c<!>()
}
// should be an error on receiver, shouldn't be thrown away
fun test5() {
<!TYPE_MISMATCH!>1<!>.(fun String.()=1)()
}
fun <R: Any> R?.sure() : R = this!!
fun <T> test6(l: List<T>?) {
<!TYPE_MISMATCH!>l<!>.sure<<!UPPER_BOUND_VIOLATED!>T<!>>()
}
fun List<String>.b() {}
fun test7(l: List<String?>) {
<!TYPE_MISMATCH!>l<!>.b()
}
fun test8(l: List<Any>?) {
<!TYPE_MISMATCH!>l<!>.b()
}