Fix irrelevant additional stops on breakpoint on line with inlines (KT-21945)

#KT-21945 Fixed
This commit is contained in:
Nikolay Krasko
2017-12-22 14:20:32 +03:00
parent f38a4f509d
commit f39250c9a2
15 changed files with 193 additions and 36 deletions
@@ -24,7 +24,6 @@ Run Java
Connected to the target VM
crossinlineLiteral.kt:75
crossinlineLiteral.kt:13
crossinlineLiteral.kt:75
crossinlineLiteral.kt:18
crossinlineLiteral.kt:81
crossinlineLiteral.kt:23
@@ -0,0 +1,12 @@
package soBreakpointWithInline
fun foo() {}
fun main(args: Array<String>) {
//Breakpoint!
12.inlineExt().normalExt() // Try to step over this line. Debugger will stop on the same line twice
foo()
}
inline fun Any.inlineExt(): Any = this
fun Any.normalExt(): Any = this
@@ -0,0 +1,8 @@
LineBreakpoint created at soBreakpointWithInline.kt:7
Run Java
Connected to the target VM
soBreakpointWithInline.kt:7
soBreakpointWithInline.kt:8
Disconnected from the target VM
Process finished with exit code 0
@@ -0,0 +1,57 @@
package soBreakpointWithOrdinalOnInlineCallsInOneLine
fun test(i: Int): Boolean {
return false
}
fun foo() {}
fun main(args: Array<String>) {
val listOf = listOf(1)
//Breakpoint! (lambdaOrdinal = -1)
val testSome = listOf.filterNot({test(it)}).get(0)
foo()
}
// STEP_OVER: 4
@@ -0,0 +1,9 @@
LineBreakpoint created at soBreakpointWithOrdinalOnInlineCallsInOneLine.kt:12 lambdaOrdinal = -1
Run Java
Connected to the target VM
soBreakpointWithOrdinalOnInlineCallsInOneLine.kt:12
soBreakpointWithOrdinalOnInlineCallsInOneLine.kt:13
soBreakpointWithOrdinalOnInlineCallsInOneLine.kt:14
Disconnected from the target VM
Process finished with exit code 0