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