// 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" }