fun test() {
  var x: Int = 0
  while (less(arg0 = x, arg1 = 0)) { // BLOCK
  }
  while (less(arg0 = x, arg1 = 5)) { // BLOCK
    val <unary>: Int = x
    x = <unary>.inc()
    <unary>
  }
  while (less(arg0 = x, arg1 = 10)) { // BLOCK
    val <unary>: Int = x
    x = <unary>.inc()
    <unary>
  }
  { // BLOCK
    do// COMPOSITE {
    // }    while (less(arg0 = x, arg1 = 0))
  }
  { // BLOCK
    do{ // BLOCK
      val <unary>: Int = x
      x = <unary>.inc()
      <unary>
    }    while (less(arg0 = x, arg1 = 15))
  }
  { // BLOCK
    do// COMPOSITE {
    val <unary>: Int = x
    x = <unary>.inc()
    <unary>
    // }    while (less(arg0 = x, arg1 = 20))
  }
}

fun testSmartcastInCondition() {
  val a: Any? = null
  when {
    a is Boolean -> { // BLOCK
      while (a /*as Boolean */) { // BLOCK
      }
      { // BLOCK
        do// COMPOSITE {
        // }        while (a /*as Boolean */)
      }
    }
  }
}
