Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolve/smartcasts/loops/endlessLoops.txt
T
2020-03-19 09:51:01 +03:00

98 lines
2.5 KiB
Plaintext
Vendored

FILE: endlessLoops.kt
public abstract interface A : R|kotlin/Any| {
public abstract fun foo(): R|kotlin/Unit|
}
public final fun test_1(x: R|kotlin/Any|, b: R|kotlin/Boolean|): R|kotlin/Unit| {
while(Boolean(true)) {
(R|<local>/x| as R|A|)
when () {
R|<local>/b| -> {
break@@@[Boolean(true)]
}
}
}
R|<local>/x|.R|/A.foo|()
}
public final fun test_2(x: R|kotlin/Any|, b: R|kotlin/Boolean|): R|kotlin/Unit| {
while(Boolean(true)) {
when () {
R|<local>/b| -> {
(R|<local>/x| as R|A|)
break@@@[Boolean(true)]
}
}
}
R|<local>/x|.R|/A.foo|()
}
public final fun test_3(x: R|kotlin/Any|, b: R|kotlin/Boolean|): R|kotlin/Unit| {
while(Boolean(true)) {
(R|<local>/x| as R|A|)
when () {
R|<local>/b| -> {
break@@@[Boolean(true)]
}
}
when () {
R|<local>/b| -> {
break@@@[Boolean(true)]
}
}
}
R|<local>/x|.R|/A.foo|()
}
public final fun test_4(x: R|kotlin/Any|, b: R|kotlin/Boolean|): R|kotlin/Unit| {
while(Boolean(true)) {
when () {
R|<local>/b| -> {
(R|<local>/x| as R|A|)
break@@@[Boolean(true)]
}
}
break@@@[Boolean(true)]
}
R|<local>/x|.<Unresolved name: foo>#()
}
public final fun test_5(x: R|kotlin/Any|, b: R|kotlin/Boolean|): R|kotlin/Unit| {
do {
when () {
R|<local>/b| -> {
(R|<local>/x| as R|A|)
break@@@[Boolean(true)]
}
}
}
while(Boolean(true))
R|<local>/x|.R|/A.foo|()
}
public final fun test_6(x: R|kotlin/Any|, b: R|kotlin/Boolean|): R|kotlin/Unit| {
do {
(R|<local>/x| as R|A|)
when () {
R|<local>/b| -> {
break@@@[Boolean(true)]
}
}
}
while(Boolean(true))
R|<local>/x|.R|/A.foo|()
}
public final fun test_7(x: R|kotlin/Any|): R|kotlin/Unit| {
do {
(R|<local>/x| as R|A|)
}
while(Boolean(true))
R|<local>/x|.R|/A.foo|()
}