Debugger: support stepping out inline function

This commit is contained in:
Natalia Ukhorskaya
2015-09-02 12:22:06 +03:00
parent ba686c701e
commit 060b6e6b15
16 changed files with 348 additions and 9 deletions
@@ -0,0 +1,8 @@
LineBreakpoint created at stepOutInlineFunction.kt:12
!JDK_HOME!\bin\java -agentlib:jdwp=transport=dt_socket,address=!HOST_NAME!:!HOST_PORT!,suspend=y,server=n -Dfile.encoding=!FILE_ENCODING! -classpath !OUTPUT_PATH!;!KOTLIN_RUNTIME!;!CUSTOM_LIBRARY!;!RT_JAR! stepOutInlineFunction.StepOutInlineFunctionPackage
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
stepOutInlineFunction.kt:12
stepOutInlineFunction.kt:7
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0
@@ -0,0 +1,9 @@
LineBreakpoint created at stepOutInlineFunctionStdlib.kt:6
!JDK_HOME!\bin\java -agentlib:jdwp=transport=dt_socket,address=!HOST_NAME!:!HOST_PORT!,suspend=y,server=n -Dfile.encoding=!FILE_ENCODING! -classpath !OUTPUT_PATH!;!KOTLIN_RUNTIME!;!CUSTOM_LIBRARY!;!RT_JAR! stepOutInlineFunctionStdlib.StepOutInlineFunctionStdlibPackage
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
stepOutInlineFunctionStdlib.kt:6
_Elements.!EXT!
stepOutInlineFunctionStdlib.kt:9
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0
@@ -0,0 +1,9 @@
LineBreakpoint created at stepOutInlinedLambdaArgument.kt:6
!JDK_HOME!\bin\java -agentlib:jdwp=transport=dt_socket,address=!HOST_NAME!:!HOST_PORT!,suspend=y,server=n -Dfile.encoding=!FILE_ENCODING! -classpath !OUTPUT_PATH!;!KOTLIN_RUNTIME!;!CUSTOM_LIBRARY!;!RT_JAR! stepOutInlinedLambdaArgument.StepOutInlinedLambdaArgumentPackage
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
stepOutInlinedLambdaArgument.kt:6
stepOutInlinedLambdaArgument.kt:15
stepOutInlinedLambdaArgument.kt:9
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0
@@ -0,0 +1,10 @@
LineBreakpoint created at stepOutSeveralInlineArgumentDeepest.kt:6
!JDK_HOME!\bin\java -agentlib:jdwp=transport=dt_socket,address=!HOST_NAME!:!HOST_PORT!,suspend=y,server=n -Dfile.encoding=!FILE_ENCODING! -classpath !OUTPUT_PATH!;!KOTLIN_RUNTIME!;!CUSTOM_LIBRARY!;!RT_JAR! stepOutSeveralInlineArgumentDeepest.StepOutSeveralInlineArgumentDeepestPackage
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
stepOutSeveralInlineArgumentDeepest.kt:6
stepOutSeveralInlineArgumentDeepest.kt:22
stepOutSeveralInlineArgumentDeepest.kt:16
stepOutSeveralInlineArgumentDeepest.kt:8
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0
@@ -0,0 +1,8 @@
LineBreakpoint created at stepOutSeveralInlineFunctions.kt:12
!JDK_HOME!\bin\java -agentlib:jdwp=transport=dt_socket,address=!HOST_NAME!:!HOST_PORT!,suspend=y,server=n -Dfile.encoding=!FILE_ENCODING! -classpath !OUTPUT_PATH!;!KOTLIN_RUNTIME!;!CUSTOM_LIBRARY!;!RT_JAR! stepOutSeveralInlineFunctions.StepOutSeveralInlineFunctionsPackage
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
stepOutSeveralInlineFunctions.kt:12
stepOutSeveralInlineFunctions.kt:7
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0
@@ -0,0 +1,8 @@
LineBreakpoint created at stepOutSeveralInlineFunctionsDeepest.kt:20
!JDK_HOME!\bin\java -agentlib:jdwp=transport=dt_socket,address=!HOST_NAME!:!HOST_PORT!,suspend=y,server=n -Dfile.encoding=!FILE_ENCODING! -classpath !OUTPUT_PATH!;!KOTLIN_RUNTIME!;!CUSTOM_LIBRARY!;!RT_JAR! stepOutSeveralInlineFunctionsDeepest.StepOutSeveralInlineFunctionsDeepestPackage
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
stepOutSeveralInlineFunctionsDeepest.kt:20
stepOutSeveralInlineFunctionsDeepest.kt:15
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0
@@ -0,0 +1,15 @@
package stepOutInlineFunctionStdlib
fun main(args: Array<String>) {
val a = listOf(1, 2, 3)
//Breakpoint!
a.firstOrNull {
it > 1
}
}
fun test(i: Int) = 1
// TRACING_FILTERS_ENABLED: false
// STEP_INTO: 1
// STEP_OUT: 1
@@ -0,0 +1,19 @@
package stepOutInlineFunction
fun main(args: Array<String>) {
foo {
test(2)
}
test(3)
}
inline fun foo(f: () -> Unit) {
//Breakpoint!
val a = 1
f()
val b = 2
}
fun test(i: Int) = 1
// STEP_OUT: 2
@@ -0,0 +1,20 @@
package stepOutInlinedLambdaArgument
fun main(args: Array<String>) {
foo {
//Breakpoint!
test(1)
test(2)
}
test(3)
}
inline fun foo(f: () -> Unit) {
val a = 1
f()
val b = 2
}
fun test(i: Int) = 1
// STEP_OUT: 2
@@ -0,0 +1,27 @@
package stepOutSeveralInlineArgumentDeepest
fun main(args: Array<String>) {
f1 {
//Breakpoint!
test(2)
}
test(3)
}
inline fun f1(f: () -> Unit) {
val a = 1
f2 {
f()
}
val b = 2
}
inline fun f2(f: () -> Unit) {
val a = 1
f()
val b = 2
}
fun test(i: Int) = 1
// STEP_OUT: 4
@@ -0,0 +1,25 @@
package stepOutSeveralInlineFunctions
fun main(args: Array<String>) {
f1 {
test(2)
}
test(3)
}
inline fun f1(f: () -> Unit) {
//Breakpoint!
val a = 1
f2 {
f()
}
val b = 2
}
inline fun f2(f: () -> Unit) {
val a = 1
f()
val b = 2
}
fun test(i: Int) = 1
@@ -0,0 +1,25 @@
package stepOutSeveralInlineFunctionsDeepest
fun main(args: Array<String>) {
f1 {
test(2)
}
test(3)
}
inline fun f1(f: () -> Unit) {
val a = 1
f2 {
f()
}
val b = 2
}
inline fun f2(f: () -> Unit) {
//Breakpoint!
val a = 1
f()
val b = 2
}
fun test(i: Int) = 1