Debugger: Rewrite step over action (KT-14296)

The main goal is to make behavior similar to what happens in Java. For instance, now we always skip lambdas.
Also, we can reliably use '$i$f' and '$i$a' synthetic local variables. There is no need in complicated hacks any more.
This commit is contained in:
Yan Zhulanow
2019-11-22 16:11:51 +09:00
parent b7449c2d6e
commit 8f29f8bc9d
26 changed files with 206 additions and 305 deletions
@@ -6,7 +6,6 @@ inlineCallInForRangeExpression.kt:8
inlineCallInForRangeExpression.kt:9
inlineCallInForRangeExpression.kt:8
inlineCallInForRangeExpression.kt:9
inlineCallInForRangeExpression.kt:8
inlineCallInForRangeExpression.kt:11
Disconnected from the target VM
@@ -2,7 +2,7 @@ LineBreakpoint created at noParameterExtensionLambdaArgumentCallInInline3.kt:12
Run Java
Connected to the target VM
noParameterExtensionLambdaArgumentCallInInline3.kt:12
noParameterExtensionLambdaArgumentCallInInline3.kt:5
noParameterExtensionLambdaArgumentCallInInline3.kt:14
Disconnected from the target VM
Process finished with exit code 0
@@ -2,7 +2,7 @@ LineBreakpoint created at noParameterLambdaArgumentCallInLambda.kt:5 lambdaOrdin
Run Java
Connected to the target VM
noParameterLambdaArgumentCallInLambda.kt:5
noParameterLambdaArgumentCallInLambda.kt:6
noParameterLambdaArgumentCallInLambda.kt:11
Disconnected from the target VM
Process finished with exit code 0
@@ -3,6 +3,7 @@ Run Java
Connected to the target VM
soInlineCallInLastStatementInInlineFunctionArgument.kt:7
soInlineCallInLastStatementInInlineFunctionArgument.kt:8
soInlineCallInLastStatementInInlineFunctionArgument.kt:14
soInlineCallInLastStatementInInlineFunctionArgument.kt:9
Disconnected from the target VM
@@ -2,7 +2,6 @@ LineBreakpoint created at soInlineFunOnOneLineFor.kt:17
Run Java
Connected to the target VM
soInlineFunOnOneLineFor.kt:17
soInlineFunOnOneLineFor.kt:18
soInlineFunOnOneLineFor.kt:8
soInlineFunOnOneLineFor.kt:9
Disconnected from the target VM
@@ -1,7 +1,5 @@
package soInlineOperatorIterator
// TODO: Test with current bad behaviour of KT-14296
fun main(args: Array<String>) {
//Breakpoint!
val list = listOf("a", "b", "c")
@@ -1,22 +1,15 @@
LineBreakpoint created at soInlineOperatorIterator.kt:7
LineBreakpoint created at soInlineOperatorIterator.kt:5
Run Java
Connected to the target VM
soInlineOperatorIterator.kt:5
soInlineOperatorIterator.kt:6
soInlineOperatorIterator.kt:7
soInlineOperatorIterator.kt:8
soInlineOperatorIterator.kt:23
soInlineOperatorIterator.kt:27
soInlineOperatorIterator.kt:6
soInlineOperatorIterator.kt:7
soInlineOperatorIterator.kt:6
soInlineOperatorIterator.kt:7
soInlineOperatorIterator.kt:6
soInlineOperatorIterator.kt:9
soInlineOperatorIterator.kt:8
soInlineOperatorIterator.kt:23
soInlineOperatorIterator.kt:27
soInlineOperatorIterator.kt:9
soInlineOperatorIterator.kt:8
soInlineOperatorIterator.kt:23
soInlineOperatorIterator.kt:27
soInlineOperatorIterator.kt:9
soInlineOperatorIterator.kt:8
soInlineOperatorIterator.kt:23
soInlineOperatorIterator.kt:11
Disconnected from the target VM
Process finished with exit code 0
@@ -14,4 +14,4 @@ inline fun bar(f: () -> Unit) {
fun nop() {}
// STEP_OVER: 2
// STEP_OVER: 3
@@ -3,6 +3,7 @@ Run Java
Connected to the target VM
soLastStatementInInlineFunctionArgumentAsAnonymous.kt:6
soLastStatementInInlineFunctionArgumentAsAnonymous.kt:7
soLastStatementInInlineFunctionArgumentAsAnonymous.kt:13
soLastStatementInInlineFunctionArgumentAsAnonymous.kt:8
Disconnected from the target VM
@@ -15,4 +15,4 @@ inline fun bar(f: () -> Unit) {
fun nop() {}
// STEP_OVER: 2
// STEP_OVER: 3
@@ -3,6 +3,7 @@ Run Java
Connected to the target VM
soLastStatementInInlineFunctionArgumentAsAnonymousParNextLine.kt:6
soLastStatementInInlineFunctionArgumentAsAnonymousParNextLine.kt:7
soLastStatementInInlineFunctionArgumentAsAnonymousParNextLine.kt:14
soLastStatementInInlineFunctionArgumentAsAnonymousParNextLine.kt:9
Disconnected from the target VM
@@ -14,4 +14,4 @@ inline fun bar(f: () -> Unit) {
fun nop() {}
// STEP_OVER: 2
// STEP_OVER: 3
@@ -3,6 +3,7 @@ Run Java
Connected to the target VM
soLastStatementInInlineFunctionArgumentInPars.kt:6
soLastStatementInInlineFunctionArgumentInPars.kt:7
soLastStatementInInlineFunctionArgumentInPars.kt:13
soLastStatementInInlineFunctionArgumentInPars.kt:8
Disconnected from the target VM
@@ -18,4 +18,4 @@ inline fun inlineCall(l: () -> Unit) {
l()
}
// STEP_OVER: 4
// STEP_OVER: 5
@@ -3,6 +3,7 @@ Run Java
Connected to the target VM
stepOverInlineFunWithRecursionCall.kt:6
stepOverInlineFunWithRecursionCall.kt:6
stepOverInlineFunWithRecursionCall.kt:19
stepOverInlineFunWithRecursionCall.kt:9
stepOverInlineFunWithRecursionCall.kt:14
stepOverInlineFunWithRecursionCall.kt:15