Debugger: fix step over for inline argument with non-local return

This commit is contained in:
Natalia Ukhorskaya
2016-04-08 16:21:27 +03:00
parent f0cfd450e5
commit f0badb05ea
5 changed files with 192 additions and 0 deletions
@@ -0,0 +1,56 @@
package stepOverNonLocalReturnInLambda
fun main(args: Array<String>) {
try {
test1()
test2()
test3()
}
catch(e: Exception) {
val a = 1
}
val c = 1
}
fun test1() {
// STEP_OVER: 2
// RESUME: 1
//Breakpoint!
val a = "aaa"
synchronized(a) {
if (a == "bbb") {
return
}
}
val c = 1
}
fun test2() {
// STEP_OVER: 2
// RESUME: 1
//Breakpoint!
val a = "aaa"
synchronized(a) {
if (a == "aaa") {
return
}
}
val c = 1
}
private fun test3() {
inlineFunThrowException()
}
inline fun inlineFunThrowException() {
// STEP_OVER: 2
// RESUME: 1
//Breakpoint!
val a = 1
synchronized(a) {
throw IllegalArgumentException()
}
}