Check correspondent call on end token for better step over (KT-18949)

#KT-18949 Fixed
This commit is contained in:
Nikolay Krasko
2017-07-12 19:09:48 +03:00
parent d282f14eac
commit f664ffb06b
19 changed files with 252 additions and 7 deletions
@@ -3,7 +3,6 @@ Run Java
Connected to the target VM
soInlineCallInLastStatementInInlineFunctionArgument.kt:7
soInlineCallInLastStatementInInlineFunctionArgument.kt:8
soInlineCallInLastStatementInInlineFunctionArgument.kt:14
soInlineCallInLastStatementInInlineFunctionArgument.kt:9
Disconnected from the target VM
@@ -4,7 +4,7 @@ fun main(args: Array<String>) {
bar {
nop()
//Breakpoint!
foo() // <-- Should not stop here twice
foo()
}
}
@@ -3,7 +3,6 @@ Run Java
Connected to the target VM
soInlineCallInLastStatementInInlineFunctionArgumentDex.kt:7
soInlineCallInLastStatementInInlineFunctionArgumentDex.kt:8
soInlineCallInLastStatementInInlineFunctionArgumentDex.kt:14
soInlineCallInLastStatementInInlineFunctionArgumentDex.kt:9
Disconnected from the target VM
@@ -0,0 +1,17 @@
package soLastStatementInInlineFunctionArgumenBeforeOtherArgument
fun main(args: Array<String>) {
bar({
//Breakpoint!
nop()
}, 12)
}
inline fun bar(f: () -> Unit, a: Any) {
nop()
f()
} // <-- Ideally this line should not be visited
fun nop() {}
// STEP_OVER: 2
@@ -0,0 +1,9 @@
LineBreakpoint created at soLastStatementInInlineFunctionArgumenBeforeOtherArgument.kt:6
Run Java
Connected to the target VM
soLastStatementInInlineFunctionArgumenBeforeOtherArgument.kt:6
soLastStatementInInlineFunctionArgumenBeforeOtherArgument.kt:7
soLastStatementInInlineFunctionArgumenBeforeOtherArgument.kt:13
Disconnected from the target VM
Process finished with exit code 0
@@ -0,0 +1,17 @@
package soLastStatementInInlineFunctionArgumentAsAnonymous
fun main(args: Array<String>) {
bar(fun() {
//Breakpoint!
nop()
})
}
inline fun bar(f: () -> Unit) {
nop()
f()
}
fun nop() {}
// STEP_OVER: 2
@@ -0,0 +1,9 @@
LineBreakpoint created at soLastStatementInInlineFunctionArgumentAsAnonymous.kt:6
Run Java
Connected to the target VM
soLastStatementInInlineFunctionArgumentAsAnonymous.kt:6
soLastStatementInInlineFunctionArgumentAsAnonymous.kt:7
soLastStatementInInlineFunctionArgumentAsAnonymous.kt:8
Disconnected from the target VM
Process finished with exit code 0
@@ -0,0 +1,18 @@
package soLastStatementInInlineFunctionArgumentAsAnonymousParNextLine
fun main(args: Array<String>) {
bar(fun() {
//Breakpoint!
nop()
}
)
}
inline fun bar(f: () -> Unit) {
nop()
f()
}
fun nop() {}
// STEP_OVER: 2
@@ -0,0 +1,9 @@
LineBreakpoint created at soLastStatementInInlineFunctionArgumentAsAnonymousParNextLine.kt:6
Run Java
Connected to the target VM
soLastStatementInInlineFunctionArgumentAsAnonymousParNextLine.kt:6
soLastStatementInInlineFunctionArgumentAsAnonymousParNextLine.kt:7
soLastStatementInInlineFunctionArgumentAsAnonymousParNextLine.kt:9
Disconnected from the target VM
Process finished with exit code 0
@@ -0,0 +1,17 @@
package soLastStatementInInlineFunctionArgumentInGetOperator
fun main(args: Array<String>) {
12[{
//Breakpoint!
nop()
}]
}
inline operator fun Int.get(f: () -> Unit) {
nop()
f()
} // <-- Ideally this line should not be visited
fun nop() {}
// STEP_OVER: 2
@@ -0,0 +1,9 @@
LineBreakpoint created at soLastStatementInInlineFunctionArgumentInGetOperator.kt:6
Run Java
Connected to the target VM
soLastStatementInInlineFunctionArgumentInGetOperator.kt:6
soLastStatementInInlineFunctionArgumentInGetOperator.kt:7
soLastStatementInInlineFunctionArgumentInGetOperator.kt:13
Disconnected from the target VM
Process finished with exit code 0
@@ -0,0 +1,22 @@
package soLastStatementInInlineFunctionArgumentInNonInlineCall
fun main(args: Array<String>) {
nonInline { bar {
//Breakpoint!
nop()
} }
}
fun nonInline(f: () -> Unit) {
f()
}
inline fun bar(f: () -> Unit) {
nop()
f()
} // <-- Ideally this line should not be visited
fun nop() {}
// STEP_OVER: 2
@@ -0,0 +1,9 @@
LineBreakpoint created at soLastStatementInInlineFunctionArgumentInNonInlineCall.kt:6
Run Java
Connected to the target VM
soLastStatementInInlineFunctionArgumentInNonInlineCall.kt:6
soLastStatementInInlineFunctionArgumentInNonInlineCall.kt:7
soLastStatementInInlineFunctionArgumentInNonInlineCall.kt:17
Disconnected from the target VM
Process finished with exit code 0
@@ -0,0 +1,17 @@
package soLastStatementInInlineFunctionArgumentInPars
fun main(args: Array<String>) {
bar({
//Breakpoint!
nop()
})
}
inline fun bar(f: () -> Unit) {
nop()
f()
}
fun nop() {}
// STEP_OVER: 2
@@ -0,0 +1,9 @@
LineBreakpoint created at soLastStatementInInlineFunctionArgumentInPars.kt:6
Run Java
Connected to the target VM
soLastStatementInInlineFunctionArgumentInPars.kt:6
soLastStatementInInlineFunctionArgumentInPars.kt:7
soLastStatementInInlineFunctionArgumentInPars.kt:8
Disconnected from the target VM
Process finished with exit code 0