76 lines
1.0 KiB
Kotlin
Vendored
76 lines
1.0 KiB
Kotlin
Vendored
// !DUMP_CFG
|
|
interface A {
|
|
fun foo()
|
|
}
|
|
|
|
fun test_1(x: Any, b: Boolean) {
|
|
while (true) {
|
|
x as A
|
|
if (b) {
|
|
break
|
|
}
|
|
}
|
|
x.foo()
|
|
}
|
|
|
|
fun test_2(x: Any, b: Boolean) {
|
|
while (true) {
|
|
if (b) {
|
|
x as A
|
|
break
|
|
}
|
|
}
|
|
x.foo()
|
|
}
|
|
|
|
fun test_3(x: Any, b: Boolean) {
|
|
while (true) {
|
|
x as A
|
|
if (b) {
|
|
break
|
|
}
|
|
if (b) {
|
|
break
|
|
}
|
|
}
|
|
x.foo()
|
|
}
|
|
|
|
fun test_4(x: Any, b: Boolean) {
|
|
while (true) {
|
|
if (b) {
|
|
x as A
|
|
break
|
|
}
|
|
break
|
|
}
|
|
x.<!UNRESOLVED_REFERENCE!>foo<!>() // No smartcast
|
|
}
|
|
|
|
fun test_5(x: Any, b: Boolean) {
|
|
do {
|
|
if (b) {
|
|
x as A
|
|
break
|
|
}
|
|
} while (true)
|
|
x.foo()
|
|
}
|
|
|
|
fun test_6(x: Any, b: Boolean) {
|
|
do {
|
|
x as A
|
|
if (b) {
|
|
break
|
|
}
|
|
} while (true)
|
|
x.foo()
|
|
}
|
|
|
|
fun test_7(x: Any) {
|
|
do {
|
|
x as A
|
|
} while (true)
|
|
x.foo()
|
|
}
|