// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE // WITH_RUNTIME // FILE: J.java import kotlin.Function; import kotlin.jvm.functions.Function0; import kotlin.jvm.functions.Function1; import kotlin.jvm.functions.Function2; public class J { public static String test(Function x) { if (x instanceof Function1) return "Fail 1"; if (x instanceof Function2) return "Fail 2"; if (!(x instanceof Function0)) return "Fail 3"; return ((Function0) x).invoke(); } } // FILE: K.kt fun box(): String { return J.test({ "OK" }) }