Files
kotlin/compiler/testData/codegen/box/javaInterop/lambdaInstanceOf.kt
Alexander Udalov dcc66a6400 Drop KFunctionFromReferenceImpl, make FunctionImpl an interface
23 invokes in KFunctionFromReferenceImpl (and consequently, in FunctionImpl)
were needed before 1576160390: a wrapped function
reference must have had the necessary invoke to be called as an instance of a
specific function type. After 1576160390, this is
not needed anymore because KFunctionFromReferenceImpl is now an internal
implementation detail of reflection, and no invoke is ever called on it.
2016-09-13 14:12:30 +03:00

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