mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-17 00:21:28 +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
34 lines
636 B
Kotlin
Vendored
34 lines
636 B
Kotlin
Vendored
// !LANGUAGE: +NewInference +SamConversionForKotlinFunctions
|
|
// FILE: J.java
|
|
public interface J {
|
|
public void foo1(Runnable r);
|
|
|
|
public void foo2(Runnable r1, Runnable r2);
|
|
|
|
public void foo3(Runnable r1, Runnable r2, Runnable r3);
|
|
}
|
|
|
|
// FILE: Runnable.java
|
|
public interface Runnable {
|
|
void run();
|
|
}
|
|
|
|
// FILE: 1.kt
|
|
fun test(j: J, r: Runnable) {
|
|
j.foo1(r)
|
|
j.foo1({})
|
|
|
|
j.foo2(r, r)
|
|
j.foo2({}, {})
|
|
j.foo2(r, {})
|
|
j.foo2({}, r)
|
|
|
|
j.foo3(r, r, r)
|
|
j.foo3(r, r, {})
|
|
j.foo3(r, {}, r)
|
|
j.foo3(r, {}, {})
|
|
j.foo3({}, r, r)
|
|
j.foo3({}, r, {})
|
|
j.foo3({}, {}, r)
|
|
j.foo3({}, {}, {})
|
|
} |