11caa03427
1. Analyze method node with fake jumps for loops to make sure that all instructions reachable only through break/continue jumps are processed. 2. Fix stack for break/continue jumps. 3. Drop fake jumps for loops, analyze method node again. 4. Fix stack for try/catch and beforeInline.
30 lines
453 B
Kotlin
Vendored
30 lines
453 B
Kotlin
Vendored
class MyQueue {
|
|
fun poll(): String? = null
|
|
}
|
|
|
|
class A {
|
|
val delayedQueue = MyQueue()
|
|
|
|
fun next() {
|
|
while (true) {
|
|
delayedQueue.poll() ?: break
|
|
}
|
|
|
|
while (true) {
|
|
unblock(delayedQueue.poll() ?: break)
|
|
}
|
|
|
|
while (true) {
|
|
unblock(delayedQueue.poll() ?: break)
|
|
}
|
|
}
|
|
|
|
fun unblock(p: String) {
|
|
|
|
}
|
|
}
|
|
|
|
fun box() : String {
|
|
A().next()
|
|
return "OK"
|
|
} |