Debugger: support stepping over inline function
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
LineBreakpoint created at stepOverInlinedLambda.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! stepOverInlinedLambda.StepOverInlinedLambdaPackage
|
||||
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
||||
stepOverInlinedLambda.kt:6
|
||||
stepOverInlinedLambda.kt:7
|
||||
stepOverInlinedLambda.kt:10
|
||||
stepOverInlinedLambda.kt:11
|
||||
stepOverInlinedLambda.kt:16
|
||||
stepOverInlinedLambda.kt:17
|
||||
stepOverInlinedLambda.kt:19
|
||||
stepOverInlinedLambda.kt:20
|
||||
stepOverInlinedLambda.kt:23
|
||||
stepOverInlinedLambda.kt:29
|
||||
stepOverInlinedLambda.kt:30
|
||||
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
||||
|
||||
Process finished with exit code 0
|
||||
@@ -0,0 +1,11 @@
|
||||
LineBreakpoint created at stepOverInlinedLambdaStdlib.kt:5
|
||||
!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! stepOverInlinedLambdaStdlib.StepOverInlinedLambdaStdlibPackage
|
||||
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
||||
stepOverInlinedLambdaStdlib.kt:5
|
||||
stepOverInlinedLambdaStdlib.kt:6
|
||||
stepOverInlinedLambdaStdlib.kt:8
|
||||
stepOverInlinedLambdaStdlib.kt:10
|
||||
stepOverInlinedLambdaStdlib.kt:15
|
||||
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
||||
|
||||
Process finished with exit code 0
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
package stepOverInlinedLambda
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val a = A()
|
||||
//Breakpoint!
|
||||
foo { test(1) }
|
||||
foo {
|
||||
test(2)
|
||||
}
|
||||
a.foo { test(3) }.foo { test(4) }
|
||||
a.foo {
|
||||
test(5)
|
||||
}.foo {
|
||||
test(6)
|
||||
}
|
||||
a.foo { test(7) }
|
||||
.foo { test(8) }
|
||||
|
||||
foo({ test(9) }) { test(10) }
|
||||
foo({ test(11) }) {
|
||||
test(12)
|
||||
}
|
||||
foo({
|
||||
test(13)
|
||||
}, {
|
||||
test(14)
|
||||
})
|
||||
|
||||
val b = foo { test(1) }
|
||||
}
|
||||
|
||||
inline fun foo(f: () -> Unit) {
|
||||
f()
|
||||
}
|
||||
|
||||
inline fun foo(f1: () -> Unit, f2: () -> Unit) {
|
||||
f1()
|
||||
f2()
|
||||
}
|
||||
|
||||
class A {
|
||||
inline fun foo(f: () -> Unit): A {
|
||||
f()
|
||||
return this
|
||||
}
|
||||
}
|
||||
|
||||
fun test(i: Int) = 1
|
||||
|
||||
// STEP_OVER: 11
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
package stepOverInlinedLambdaStdlib
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
//Breakpoint!
|
||||
val a = listOf(1, 2, 3)
|
||||
a.filter { it > 1 }
|
||||
|
||||
a.filter { it > 1 }.map { it * 2 }
|
||||
|
||||
a.filter {
|
||||
it > 1
|
||||
}.map {
|
||||
it * 2
|
||||
}
|
||||
}
|
||||
|
||||
// TRACING_FILTERS_ENABLED: false
|
||||
// STEP_OVER: 4
|
||||
Reference in New Issue
Block a user