mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-08 15:53:19 +00:00
23 invokes in KFunctionFromReferenceImpl (and consequently, in FunctionImpl) were needed before1576160390: a wrapped function reference must have had the necessary invoke to be called as an instance of a specific function type. After1576160390, this is not needed anymore because KFunctionFromReferenceImpl is now an internal implementation detail of reflection, and no invoke is ever called on it.
24 lines
530 B
Kotlin
Vendored
24 lines
530 B
Kotlin
Vendored
// 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<String> x) {
|
|
if (x instanceof Function1) return "Fail 1";
|
|
if (x instanceof Function2) return "Fail 2";
|
|
if (!(x instanceof Function0)) return "Fail 3";
|
|
|
|
return ((Function0<String>) x).invoke();
|
|
}
|
|
}
|
|
|
|
// FILE: K.kt
|
|
|
|
fun box(): String {
|
|
return J.test({ "OK" })
|
|
}
|