Files
kotlin-fork/compiler/testData/codegen/box/invokedynamic/sam/kt45779.kt
T
Mads Ager 0b5ec5535c [JVM_IR] Add String.plus(Any) to intrinsics list.
This filters it out for use in SAM wrapper generation with
invoke-dynamic.

The intrinsic is not actually used for code generation so
it is added to the list of intrinsics that should have been
lowered away before codegen.

^KT-45779 Fixed
2021-06-03 00:04:47 +03:00

27 lines
517 B
Kotlin
Vendored

// TARGET_BACKEND: JVM
// JVM_TARGET: 1.8
// SAM_CONVERSIONS: INDY
// WITH_RUNTIME
// CHECK_BYTECODE_TEXT
// JVM_IR_TEMPLATES
// 0 java/lang/invoke/LambdaMetafactory
// FILE: BiFunction.java
public interface BiFunction<T1, T2, R> {
R apply(T1 t1, T2 t2);
}
// FILE: Operators.java
public class Operators {
public static <T1, T2, R> R combine(T1 a, T2 b, BiFunction<T1, T2, R> combiner) {
return combiner.apply(a, b);
}
}
// FILE: main.kt
fun box() = Operators.combine("O", "K", String::plus)