Debugger: 'Step Over' unexpectedly resume if condition of 'while' loop contains inline function call

#KT-11932 Fixed
This commit is contained in:
Natalia Ukhorskaya
2016-04-15 17:38:36 +03:00
parent f0badb05ea
commit e8f46f5315
3 changed files with 30 additions and 2 deletions
@@ -5,7 +5,7 @@ stepOverWhileWithInline.kt:5
stepOverWhileWithInline.kt:7
stepOverWhileWithInline.kt:8
stepOverWhileWithInline.kt:9
stepOverWhileWithInline.kt:30
stepOverWhileWithInline.kt:41
stepOverWhileWithInline.kt:9
stepOverWhileWithInline.kt:7
stepOverWhileWithInline.kt:13
@@ -18,7 +18,19 @@ stepOverWhileWithInline.kt:21
stepOverWhileWithInline.kt:24
stepOverWhileWithInline.kt:25
stepOverWhileWithInline.kt:26
stepOverWhileWithInline.kt:27
stepOverWhileWithInline.kt:28
stepOverWhileWithInline.kt:30
stepOverWhileWithInline.kt:41
stepOverWhileWithInline.kt:30
stepOverWhileWithInline.kt:31
stepOverWhileWithInline.kt:30
stepOverWhileWithInline.kt:41
stepOverWhileWithInline.kt:30
stepOverWhileWithInline.kt:35
stepOverWhileWithInline.kt:41
stepOverWhileWithInline.kt:35
stepOverWhileWithInline.kt:36
stepOverWhileWithInline.kt:38
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
Process finished with exit code 0
@@ -24,6 +24,17 @@ fun main(args: Array<String>) {
foo { test(1) }
prop++
} while(prop < 4)
var i = 1
// inline in while condition (true)
while(foo { test(i++) } == 1) {
prop++
}
// inline in while condition (false)
while(foo { test(2) } == 1) {
prop++
}
}
inline fun foo(f: () -> Int): Int {