mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-09 08:31:29 +00:00
39 lines
772 B
Kotlin
Vendored
39 lines
772 B
Kotlin
Vendored
// FILE: J.java
|
|
// FULL_JDK
|
|
// WITH_RUNTIME
|
|
// TARGET_BACKEND: JVM
|
|
public class J {
|
|
public interface Consumer {
|
|
void accept(String p);
|
|
}
|
|
|
|
public static void invokeWithNull(Consumer x) {
|
|
x.accept(null);
|
|
}
|
|
}
|
|
|
|
// FILE: Kotlin.kt
|
|
|
|
|
|
inline fun makeRunnable(crossinline lambda: () -> Unit) =
|
|
object : Runnable {
|
|
override fun run() {
|
|
lambda()
|
|
}
|
|
}
|
|
|
|
fun box(): String {
|
|
try {
|
|
makeRunnable {
|
|
J.invokeWithNull(object : J.Consumer {
|
|
override fun accept(t: String) {
|
|
println(t)
|
|
}
|
|
})
|
|
}.run()
|
|
} catch (e: IllegalArgumentException) {
|
|
return "OK"
|
|
}
|
|
|
|
return "fail: exception expected"
|
|
} |