JVM: restore call site line number after inlining lambda

E.g. in `x + f()` where `f` is an inline lambda, the instructions for
`+` should have the line number of that expression (while previously
they instead had the line number of the last line of the lambda).

^KT-51738 Fixed
This commit is contained in:
pyos
2022-04-07 11:17:53 +02:00
committed by max-kammerer
parent 9d3a5e93d4
commit c43acba0b9
14 changed files with 39 additions and 14 deletions
@@ -12,7 +12,7 @@ inline fun inlineFunInt(f: () -> Int): Int {
inline fun inlineFunVoid(f: () -> Unit): Unit {
val a = 1
return f()
return f() // return replaced with nop to stop here *after* calling f
}
fun simpleFunInt(f: () -> Int): Int {
@@ -20,7 +20,7 @@ fun simpleFunInt(f: () -> Int): Int {
}
fun simpleFunVoid(f: () -> Unit): Unit {
return f()
return f() // return replaced with nop to stop here *after* calling f
}
// 0 NOP
// 2 NOP