| // RUN_PIPELINE_TILL: FRONTEND | |
| // CHECK_TYPE | |
| fun whileLoop(x: Int?) { | |
| outer@ while (x != 0) { | |
| while (x != 1) { | |
| if (x == 2) continue@outer | |
| } | |
| checkSubtype<Int>(x) | |
| } | |
| checkSubtype<Int>(x) | |
| } | |
| fun doWhileLoop(x: Int?) { | |
| outer@ while (x != 0) { | |
| do { | |
| if (x == 2) continue@outer | |
| } while (x == null) | |
| checkSubtype<Int>(x) | |
| } | |
| checkSubtype<Int>(x) | |
| } | |
| fun whileLoopContinueInnerOuter(x: Int?) { | |
| outer@ while (x != 0) { | |
| inner@ while (x != 1) { | |
| while (x != 2) { | |
| if (x == 3) continue@inner | |
| } | |
| checkSubtype<Int>(x) | |
| } | |
| checkSubtype<Int>(x) | |
| } | |
| checkSubtype<Int>(x) | |
| } | |
| /* GENERATED_FIR_TAGS: classDeclaration, continue, doWhileLoop, equalityExpression, funWithExtensionReceiver, | |
| functionDeclaration, functionalType, ifExpression, infix, integerLiteral, nullableType, smartcast, typeParameter, | |
| typeWithExtension, whileLoop */ |