Files
kotlin/compiler/testData/diagnostics/tests/samConversions/SimpleCorrectKT.kt
Stanislav Erokhin 8f0b073c08 [NI] Prototype for SAM-conversion.
Supported:
- conversion in resolution parts. Also sam-with-receiver is supported automatically
- separate flag for kotlin function with java SAM as parameters

TODO:
- fix overload conflict error when function type is the same byte origin types is ordered
- consider case when parameter type is T, T <:> Runnable
- support vararg of Runnable

[NI] Turn off synthetic scope with SAM adapter functions if NI enabled
2018-06-04 12:21:56 +03:00

31 lines
590 B
Kotlin
Vendored

// !LANGUAGE: +NewInference +SamConversionForKotlinFunctions
// FILE: Runnable.java
public interface Runnable {
void run();
}
// FILE: 1.kt
interface K {
fun foo1(r: Runnable)
fun foo2(r1: Runnable, r2: Runnable)
fun foo3(r1: Runnable, r2: Runnable, r3: Runnable)
}
fun test(k: K, r: Runnable) {
k.foo1(r)
k.foo1({})
k.foo2(r, r)
k.foo2({}, {})
k.foo2(r, {})
k.foo2({}, r)
k.foo3(r, r, r)
k.foo3(r, r, {})
k.foo3(r, {}, r)
k.foo3(r, {}, {})
k.foo3({}, r, r)
k.foo3({}, r, {})
k.foo3({}, {}, r)
k.foo3({}, {}, {})
}