JVM_IR: use indy SAM conversions in jvmTarget 1.8+, fix bridges

KT-44278 KT-26060 KT-42621
This commit is contained in:
Dmitry Petrov
2021-02-05 15:23:04 +03:00
parent 6c6d43c29a
commit 3ebeca5852
50 changed files with 1293 additions and 287 deletions
@@ -1,4 +1,6 @@
// TARGET_BACKEND: JVM
// SAM_CONVERSIONS: CLASS
// ^ SAM-convertion classes created with LambdaMetafactory have 'enclosingMethod' and 'enclosingClass'
// WITH_REFLECT
package test
@@ -17,7 +19,7 @@ fun box(): String {
val javaClass = lambda.javaClass
val enclosingMethod = javaClass.getEnclosingMethod()
if (enclosingMethod?.getName() != "run") return "method: $enclosingMethod"
if (enclosingMethod?.getName() != "run") return "enclosing method: $enclosingMethod"
val enclosingClass = javaClass.getEnclosingClass()!!.getName()
if (enclosingClass != "test.A\$prop\$1") return "enclosing class: $enclosingClass"