fun test1(c: Boolean?) { L@ while (true) { // BLOCK L2@ while ({ // BLOCK val tmp0_elvis_lhs: Boolean? = c when { EQEQ(arg0 = tmp0_elvis_lhs, arg1 = null) -> break else -> tmp0_elvis_lhs } }) } } fun test2(c: Boolean?) { L@ while (true) { // BLOCK L2@ while ({ // BLOCK val tmp0_elvis_lhs: Boolean? = c when { EQEQ(arg0 = tmp0_elvis_lhs, arg1 = null) -> continue else -> tmp0_elvis_lhs } }) } } fun test3(ss: List?) { L@ while (true) { // BLOCK { // BLOCK val tmp1_iterator: Iterator = { // BLOCK val tmp0_elvis_lhs: List? = ss when { EQEQ(arg0 = tmp0_elvis_lhs, arg1 = null) -> continue else -> tmp0_elvis_lhs } }.iterator() L2@ while (tmp1_iterator.hasNext()) { // BLOCK val s: String = tmp1_iterator.next() } } } } fun test4(ss: List?) { L@ while (true) { // BLOCK { // BLOCK val tmp1_iterator: Iterator = { // BLOCK val tmp0_elvis_lhs: List? = ss when { EQEQ(arg0 = tmp0_elvis_lhs, arg1 = null) -> break else -> tmp0_elvis_lhs } }.iterator() L2@ while (tmp1_iterator.hasNext()) { // BLOCK val s: String = tmp1_iterator.next() } } } } fun test5() { var i: Int = 0 Outer@ while (true) { // BLOCK { // BLOCK i = i.inc() i } /*~> Unit */ var j: Int = 0 { // BLOCK Inner@ do// COMPOSITE { { // BLOCK j = j.inc() j } /*~> Unit */ // } while (when { greaterOrEqual(arg0 = j, arg1 = 3) -> false else -> break }) } when { EQEQ(arg0 = i, arg1 = 3) -> break } } }