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:
+3
-3
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user