Debugger: fix EE for localvariables inside inline function call

#KT-10674 Fixed
This commit is contained in:
Natalia Ukhorskaya
2016-01-15 17:33:34 +03:00
parent 203cab8d1b
commit ba323098ea
4 changed files with 106 additions and 3 deletions
@@ -0,0 +1,38 @@
// KT-10674: Debugger: Evaluate Expression / Watches fail for variable/parameter captured from one inline function to another
package frameInlineArgumentInsideInlineFun
class A {
inline fun inlineFun(s: (Int) -> Unit) {
val element = 1.0
s(1)
}
}
class B {
inline fun foo(s: (Int) -> Unit) {
val element = 1
A().inlineFun {
//Breakpoint!
val e = element
}
s(1)
}
}
class C {
fun bar() {
val element = 1f
B().foo {
val e = element
}
}
}
fun main(args: Array<String>) {
C().bar()
}
// PRINT_FRAME
// EXPRESSION: element
// RESULT: 1: I