mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-16 15:53:55 +00:00
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
31 lines
590 B
Kotlin
Vendored
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({}, {}, {})
|
|
} |