Files
kotlin-fork/compiler/testData/diagnostics/tests/smartCasts/loops/elvisInsideDoWhile.kt
T
Mikhail Glukhikh e97e792674 Review fixes for smart casts in / out loops.
LoopTypeInfo became TypeInfoWithJumpInfo rewritten in Kotlin.
Fixed a bug with break inside Elvis inside a loop, a pack of related tests added.
isTrueConstant moved to JetPsiUtil.
2015-04-16 20:11:01 +03:00

9 lines
293 B
Kotlin
Vendored

public fun foo(x: String?): Int {
do {
// After the check, smart cast should work
x ?: x!!.length()
// x is not null in both branches
if (<!DEBUG_INFO_SMARTCAST!>x<!>.length() == 0) break
} while (true)
return <!DEBUG_INFO_SMARTCAST!>x<!>.length()
}