// IGNORE_BACKEND: WASM // TARGET_BACKEND: JVM // WITH_STDLIB // FILE: Sample.java public class Sample { public static int max(int x, int y) { if (x > y) { return x; } else { return y; } } } // FILE: main.kt import kotlin.reflect.KFunction2 abstract class Checker { fun check(): String { return run( Sample::max, { x, y -> x > y } ) } abstract fun run(method: KFunction2, fn: (T1, T2) -> Boolean): String } fun box(): String { var result = ( object : Checker() { override fun run(method: KFunction2, fn: (T1, T2) -> Boolean): String { return "OK" } } ).check() return result }