Evaluate expression: support EE for shared vars

This commit is contained in:
Natalia Ukhorskaya
2014-09-23 16:32:34 +04:00
parent 8ad18df3fa
commit 4994e771d0
7 changed files with 103 additions and 12 deletions
@@ -2,6 +2,7 @@ LineBreakpoint created at frameSharedVar.kt:7
!JDK_HOME!\bin\java -agentlib:jdwp=transport=dt_socket,address=!HOST_NAME!:!HOST_PORT!,suspend=y,server=n -Dfile.encoding=!FILE_ENCODING! -classpath !APP_PATH!\classes;!KOTLIN_RUNTIME!;!CUSTOM_LIBRARY!;!RT_JAR! frameSharedVar.FrameSharedVarPackage
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
frameSharedVar.kt:6
Compile bytecode for var1
package frameSharedVar
fun main(args: Array<String>) {
@@ -17,6 +18,9 @@ fun foo(f: () -> Unit) {
}
// PRINT_FRAME
// EXPRESSION: var1
// RESULT: 1: I
frame = invoke():7, FrameSharedVarPackage$@packagePartHASH$main$1 {frameSharedVar}
this = this = {frameSharedVar.FrameSharedVarPackage$@packagePartHASH$main$1@uniqueID}kotlin.Function0<kotlin.Unit>
field = $var1: kotlin.jvm.internal.Ref$IntRef = {kotlin.jvm.internal.Ref$IntRef@uniqueID}1
@@ -0,0 +1,31 @@
LineBreakpoint created at frameSharedVarLocalVar.kt:7
!JDK_HOME!\bin\java -agentlib:jdwp=transport=dt_socket,address=!HOST_NAME!:!HOST_PORT!,suspend=y,server=n -Dfile.encoding=!FILE_ENCODING! -classpath !APP_PATH!\classes;!KOTLIN_RUNTIME!;!CUSTOM_LIBRARY!;!RT_JAR! frameSharedVarLocalVar.FrameSharedVarLocalVarPackage
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
frameSharedVarLocalVar.kt:6
Compile bytecode for var1
package frameSharedVarLocalVar
fun main(args: Array<String>) {
var var1 = 1
foo {
//Breakpoint!
var1 = 2
}
}
inline fun foo(f: () -> Unit) {
f()
}
// PRINT_FRAME
// EXPRESSION: var1
// RESULT: 1: I
frame = main():7, FrameSharedVarLocalVarPackage-@packagePartHASH {frameSharedVarLocalVar}
static = static = frameSharedVarLocalVar.FrameSharedVarLocalVarPackage-@packagePartHASH
local = args: java.lang.String[] = {java.lang.String[0]@uniqueID}
local = var1: kotlin.jvm.internal.Ref$IntRef = {kotlin.jvm.internal.Ref$IntRef@uniqueID}1
field = element: int = 1
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0
@@ -12,4 +12,7 @@ fun foo(f: () -> Unit) {
f()
}
// PRINT_FRAME
// PRINT_FRAME
// EXPRESSION: var1
// RESULT: 1: I
@@ -0,0 +1,18 @@
package frameSharedVarLocalVar
fun main(args: Array<String>) {
var var1 = 1
foo {
//Breakpoint!
var1 = 2
}
}
inline fun foo(f: () -> Unit) {
f()
}
// PRINT_FRAME
// EXPRESSION: var1
// RESULT: 1: I