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
@@ -16,9 +16,9 @@ fun test() {
}
// @TestKt.class:
// 1 NEW TestKt\$
// 0 NEW TestKt\$
// 1 NEW kotlin/jvm/internal/Ref\$IntRef
// 2 NEW
// 1 NEW
// 0 IFNONNULL
// 0 IFNULL
// 1 ACONST_NULL
@@ -16,16 +16,16 @@ fun test() {
JFoo.foo2({}, runnable())
}
// 2 NEW
// JVM_TEMPLATES
// @TestKt.class:
// 2 NEW
// 0 IFNONNULL
// 1 IFNULL
// 1 ACONST_NULL
// JVM_IR_TEMPLATES
// @TestKt.class
// 1 NEW
// 1 IFNONNULL
// 0 IFNULL
// 2 ACONST_NULL
@@ -12,5 +12,5 @@ fun test() {
}
// Lambda inlined into run(), no wrapper class generated:
// 1 NEW
// 0 NEW
// 0 INVOKEINTERFACE