f9745bd3f1
It's also not a backwards jump in do-while, unless it's in the loop's condition, which is a stupid "feature" IMO. As you can probably tell from the comments added in this commit.
15 lines
363 B
Kotlin
Vendored
15 lines
363 B
Kotlin
Vendored
// FIR_IDENTICAL
|
|
fun x(): Boolean { return true }
|
|
|
|
fun y(): Boolean { return false }
|
|
|
|
public fun foo(p: String?): Int {
|
|
do {
|
|
if (y()) continue
|
|
// We do not always reach this statement
|
|
p!!.length
|
|
} while (!x())
|
|
// Here we have do while loop but p is still nullable due to continue before
|
|
return p<!UNSAFE_CALL!>.<!>length
|
|
}
|