Support labels evaluation in debugger

This commit is contained in:
Natalia Ukhorskaya
2015-06-17 12:19:26 +03:00
parent 0f108eee2f
commit 8bb33f0df5
12 changed files with 283 additions and 58 deletions
@@ -0,0 +1,16 @@
package lCallOnLabeledObj
fun main(args: Array<String>) {
val myClass = MyClass()
//Breakpoint!
val a = 1
}
class MyClass {
fun foo() = 1
}
// DEBUG_LABEL: myClass = myClass
// EXPRESSION: myClass_DebugLabel.foo()
// RESULT: 1: I
@@ -0,0 +1,22 @@
package lSeveralLabels
fun main(args: Array<String>) {
val a = "str1"
val b = "str2"
val c = "str3"
//Breakpoint!
val d = 1
}
// DEBUG_LABEL: a = a
// DEBUG_LABEL: b = b
// DEBUG_LABEL: c = c
// EXPRESSION: a_DebugLabel
// RESULT: "str1": Ljava/lang/String;
// EXPRESSION: b_DebugLabel
// RESULT: "str2": Ljava/lang/String;
// EXPRESSION: c_DebugLabel
// RESULT: "str3": Ljava/lang/String;
@@ -0,0 +1,15 @@
package lSimple
fun main(args: Array<String>) {
val a = "str"
//Breakpoint!
val b = 1
}
// DEBUG_LABEL: a = aLabel
// EXPRESSION: a
// RESULT: "str": Ljava/lang/String;
// EXPRESSION: aLabel_DebugLabel
// RESULT: "str": Ljava/lang/String;