Files
kotlin/compiler/testData/diagnostics/tests/samConversions/SimpleCorrect.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

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({}, {}, {})
}