Files
kotlin/compiler/testData/codegen/box/javaInterop/lambdaInstanceOf.kt
Juan Chen 7249d2f889 [FIR] Fix translation of invokes & add return expressions for lambdas
* fixed NoSuchMethod caused by mismatched signatures of the "invoke" method generated for lambda arguments
* added test cases in invoke.kt for KFunction and anonymous functions
* added a transformer to wrap the last expression in the bodies of lambdas with return
2020-02-06 12:44:14 +03:00

26 lines
554 B
Kotlin
Vendored

// TARGET_BACKEND: JVM
// 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" })
}