Files
kotlin-fork/idea/testData/debugger/tinyApp/outs/frameInlineArgumentInsideInlineFun.out
T
Nikolay Krasko 84c473d800 Speed up debugger tests by replacing base output preprocessor
Avoid calling InetAddress.getLocalHost() that can be very slow.
Exact connection or disconnection string isn't relevant for tests
anyway.
2017-03-23 00:31:43 +03:00

58 lines
1.7 KiB
Plaintext
Vendored

LineBreakpoint created at frameInlineArgumentInsideInlineFun.kt:16
Run Java
Connected to the target VM
frameInlineArgumentInsideInlineFun.kt:16
Compile bytecode for element
// 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
frame = bar:16, C {frameInlineArgumentInsideInlineFun}
this = this = {frameInlineArgumentInsideInlineFun.C@uniqueID}
- Class has no fields
local = element: float = 1.0 (sp = frameInlineArgumentInsideInlineFun.kt, 13)
local = this_$iv: frameInlineArgumentInsideInlineFun.B = {frameInlineArgumentInsideInlineFun.B@uniqueID} (sp = null)
- Class has no fields
local = element$iv: int = 1 (sp = frameInlineArgumentInsideInlineFun.kt, 13)
local = this_$iv$iv: frameInlineArgumentInsideInlineFun.A = {frameInlineArgumentInsideInlineFun.A@uniqueID} (sp = null)
- Class has no fields
local = element$iv$iv: double = 1.0 (sp = frameInlineArgumentInsideInlineFun.kt, 13)
local = it$iv: int = 1 (sp = null)
Disconnected from the target VM
Process finished with exit code 0