c7435ba760
We are going to deprecate `WITH_RUNTIME` directive. The main reason behind this change is that `WITH_STDLIB` directive better describes its meaning, specifically it will add kotlin stdlib to test's classpath.
39 lines
777 B
Kotlin
Vendored
39 lines
777 B
Kotlin
Vendored
// 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 <T1, T2, R> run(method: KFunction2<T1, T2, R>, fn: (T1, T2) -> Boolean): String
|
|
}
|
|
|
|
fun box(): String {
|
|
var result = ( object : Checker() {
|
|
override fun <T1, T2, R> run(method: KFunction2<T1, T2, R>, fn: (T1, T2) -> Boolean): String {
|
|
return "OK"
|
|
}
|
|
} ).check()
|
|
|
|
return result
|
|
}
|