JVM_IR KT-46160 don't use LambdaMetafactory for mutifile class members

This commit is contained in:
Dmitry Petrov
2021-04-19 16:11:39 +03:00
committed by TeamCityServer
parent 1dfc3c0520
commit 46d5e974df
6 changed files with 59 additions and 0 deletions
@@ -0,0 +1,28 @@
// TARGET_BACKEND: JVM
// JVM_TARGET: 1.8
// SAM_CONVERSIONS: INDY
// WITH_RUNTIME
// CHECK_BYTECODE_TEXT
// JVM_IR_TEMPLATES
// 0 java/lang/invoke/LambdaMetafactory
// IGNORE_BACKEND_FIR: JVM_IR
// ^ OVERLOAD_RESOLUTION_AMBIGUITY: Overload resolution ambiguity between candidates: [kotlin/collections/plus, kotlin/collections/plus]
// FILE: multifileClassMemberFromStdlib.kt
fun test(a: List<String>, b: List<String>, bf: BF) =
bf.apply(a, b)
fun box(): String {
val ss = test(listOf("O"), listOf("K"), List<String>::plus)
return ss[0] + ss[1]
}
// FILE: BF.java
import java.util.*;
public interface BF {
List<String> apply(List<String> a, List<String> b);
}