Files
kotlin-fork/compiler/testData/codegen/box/invokedynamic/sam/starProjectionSam.kt
T
Denis.Zharkov 05ca001310 FIR2IR: Repeat the K1 behavior: SAM conversion with 'in' projection
It would be more consistently to prohibit the behavior from the unmuted
test (see KT-52428), but it was decided to postpone the breaking change.

Unfortunately, it didn't work to make a test where for computing
star projections we would need to substitute other type parameters
because effectively, it's not allowed to have SAM conversion when
star projections/wildcard is based on a type parameter which bounds
use other type parameters.

^KT-53552 In progress
2023-02-20 14:54:09 +00:00

29 lines
521 B
Kotlin
Vendored

// TARGET_BACKEND: JVM
// JVM_TARGET: 1.8
// WITH_STDLIB
// CHECK_BYTECODE_TEXT
// JVM_IR_TEMPLATES
// 1 java/lang/invoke/LambdaMetafactory
// FILE: box.kt
fun box(): String {
return Request.foo { x, y -> "OK" }
}
// FILE: Request.java
public class Request {
public static String foo(Func<?, ?, ?> x) {
return ((Func) x).bar(null, null).toString();
}
}
// FILE: Func.java
import java.util.List;
public interface Func<T1 extends List<?>, T2 extends CharSequence, R> {
R bar(T1 t1, T2 t2);
}