Debugger: support stepping out inline function
This commit is contained in:
+15
@@ -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
|
||||
+20
@@ -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
|
||||
+27
@@ -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
|
||||
+25
@@ -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
|
||||
Vendored
+25
@@ -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
|
||||
Reference in New Issue
Block a user