e6b5cb5216
Update includes:
- Changing syntax of `OI/`NI` tags from `<!NI;TAG!>` to `<!TAG{NI}!>`
- Fix some incorrect directives
- Change order of diagnostics in some places
- Remove ignored diagnostics from FIR test data (previously `DIAGNOSTICS` didn't work)
- Update FIR dumps in some places and add `FIR_IDENTICAL` if needed
- Replace all JAVAC_SKIP with SKIP_JAVAC directive
98 lines
2.5 KiB
Plaintext
Vendored
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|()
|
|
}
|