mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-08 15:53:19 +00:00
39 lines
773 B
Kotlin
Vendored
39 lines
773 B
Kotlin
Vendored
// IGNORE_BACKEND: JVM_IR
|
|
// FILE: JavaClass.java
|
|
|
|
class JavaClass {
|
|
public interface Super1<T> {
|
|
Thread call(T t);
|
|
}
|
|
|
|
public interface Super2<T> {
|
|
T call(String s);
|
|
}
|
|
|
|
public interface Sub extends Super1<String>, Super2<Thread> {
|
|
Thread call(String s);
|
|
}
|
|
|
|
static void samAdapter(Sub sub) {
|
|
((Super1) sub).call("");
|
|
((Super2) sub).call("");
|
|
sub.call("");
|
|
}
|
|
}
|
|
|
|
// FILE: 1.kt
|
|
|
|
fun box(): String? {
|
|
var s: String?
|
|
s = "FAIL for function literal"
|
|
JavaClass.samAdapter { s = "OK"; null }
|
|
if (s != "OK") return s
|
|
|
|
s = "FAIL for wrapper"
|
|
val function: (String?) -> Thread? = { s = "OK"; null }
|
|
JavaClass.samAdapter(function)
|
|
if (s != "OK") return s
|
|
|
|
return "OK"
|
|
}
|