Debugger: fix step over for if with inline function call without lambda arguments
This commit is contained in:
@@ -87,6 +87,10 @@ class KotlinSteppingCommandProvider: JvmSteppingCommandProvider() {
|
|||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (inlineArguments.isEmpty() && inlineFunctionCalls.any { it.shouldNotUseStepOver(sourcePosition.elementAt) }) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
val additionalElementsToSkip = sourcePosition.elementAt.getAdditionalElementsToSkip()
|
val additionalElementsToSkip = sourcePosition.elementAt.getAdditionalElementsToSkip()
|
||||||
|
|
||||||
return DebuggerSteppingHelper.createStepOverCommand(suspendContext, ignoreBreakpoints, file, linesRange, inlineArguments, additionalElementsToSkip)
|
return DebuggerSteppingHelper.createStepOverCommand(suspendContext, ignoreBreakpoints, file, linesRange, inlineArguments, additionalElementsToSkip)
|
||||||
|
|||||||
@@ -9,21 +9,24 @@ stepOverIfWithInline.kt:15
|
|||||||
stepOverIfWithInline.kt:18
|
stepOverIfWithInline.kt:18
|
||||||
stepOverIfWithInline.kt:15
|
stepOverIfWithInline.kt:15
|
||||||
stepOverIfWithInline.kt:21
|
stepOverIfWithInline.kt:21
|
||||||
stepOverIfWithInline.kt:41
|
stepOverIfWithInline.kt:46
|
||||||
stepOverIfWithInline.kt:21
|
stepOverIfWithInline.kt:21
|
||||||
stepOverIfWithInline.kt:24
|
stepOverIfWithInline.kt:24
|
||||||
stepOverIfWithInline.kt:25
|
stepOverIfWithInline.kt:25
|
||||||
stepOverIfWithInline.kt:24
|
stepOverIfWithInline.kt:24
|
||||||
stepOverIfWithInline.kt:28
|
stepOverIfWithInline.kt:28
|
||||||
stepOverIfWithInline.kt:41
|
stepOverIfWithInline.kt:46
|
||||||
stepOverIfWithInline.kt:28
|
stepOverIfWithInline.kt:28
|
||||||
stepOverIfWithInline.kt:28
|
stepOverIfWithInline.kt:28
|
||||||
stepOverIfWithInline.kt:32
|
stepOverIfWithInline.kt:32
|
||||||
stepOverIfWithInline.kt:41
|
stepOverIfWithInline.kt:46
|
||||||
stepOverIfWithInline.kt:32
|
stepOverIfWithInline.kt:32
|
||||||
stepOverIfWithInline.kt:36
|
stepOverIfWithInline.kt:36
|
||||||
stepOverIfWithInline.kt:32
|
stepOverIfWithInline.kt:32
|
||||||
stepOverIfWithInline.kt:38
|
stepOverIfWithInline.kt:40
|
||||||
|
stepOverIfWithInline.kt:53
|
||||||
|
stepOverIfWithInline.kt:54
|
||||||
|
stepOverIfWithInline.kt:43
|
||||||
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
||||||
|
|
||||||
Process finished with exit code 0
|
Process finished with exit code 0
|
||||||
|
|||||||
+11
-1
@@ -35,6 +35,11 @@ fun main(args: Array<String>) {
|
|||||||
else {
|
else {
|
||||||
foo { test(1) }
|
foo { test(1) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Reified function call in if condition
|
||||||
|
if (reified(1) != 1) {
|
||||||
|
val a = 1
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
inline fun foo(f: () -> Int): Int {
|
inline fun foo(f: () -> Int): Int {
|
||||||
@@ -44,4 +49,9 @@ inline fun foo(f: () -> Int): Int {
|
|||||||
|
|
||||||
fun test(i: Int) = 1
|
fun test(i: Int) = 1
|
||||||
|
|
||||||
// STEP_OVER: 22
|
inline fun <reified T> reified(f: T): Int {
|
||||||
|
val a = 1
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
// STEP_OVER: 25
|
||||||
Reference in New Issue
Block a user