JVM IR: Make inlining in $default stubs compatible with the JVM BE

The JVM BE inlines calls to the underlying function in a $default stub
verbatim, e.g., without renaming LVT entries or regenerating anonymous
objects. This commit introduces the same behavior in the JVM IR BE.

Fixes KT-36769.
This commit is contained in:
Steven Schäfer
2020-09-14 18:14:20 +02:00
committed by max-kammerer
parent bef0437edb
commit 5e27d9b089
10 changed files with 66 additions and 56 deletions
@@ -13,18 +13,11 @@ fun box(): String {
return ifoo2()
}
// JVM_IR backend has the same stepping behavior as
// the non-inlined case when using force step into to step
// through $default method. JVM does not.
// FORCE_STEP_INTO
// LINENUMBERS
// test.kt:12 box
// test.kt:3 box
// test.kt:4 box
// LINENUMBERS JVM_IR
// test.kt:3 box
// LINENUMBERS
// test.kt:13 box
// test.kt:7 ifoo2$default (synthetic)
// test.kt:8 ifoo2