FILE fqName:<root> fileName:/doWhile.kt
  FUN name:box visibility:public modality:FINAL returnType:kotlin.String
    BLOCK_BODY
      VAR name:x type:kotlin.Int [var]
        CONST Int type=kotlin.Int value=0
      BLOCK type=kotlin.Unit origin=null
        DO_WHILE label=null origin=DO_WHILE_LOOP
          body: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
            BLOCK type=kotlin.Int origin=POSTFIX_INCR
              VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlin.Int [val]
                GET_VAR 'var x: kotlin.Int declared in <root>.box' type=kotlin.Int origin=POSTFIX_INCR
              SET_VAR 'var x: kotlin.Int declared in <root>.box' type=kotlin.Unit origin=POSTFIX_INCR
                CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR
                  ARG <this>: GET_VAR 'val tmp_0: kotlin.Int declared in <root>.box' type=kotlin.Int origin=null
              GET_VAR 'val tmp_0: kotlin.Int declared in <root>.box' type=kotlin.Int origin=null
          condition: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT
            ARG arg0: GET_VAR 'var x: kotlin.Int declared in <root>.box' type=kotlin.Int origin=null
            ARG arg1: CONST Int type=kotlin.Int value=5
      WHEN type=kotlin.Unit origin=IF
        BRANCH
          if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
            ARG <this>: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
              ARG arg0: GET_VAR 'var x: kotlin.Int declared in <root>.box' type=kotlin.Int origin=null
              ARG arg1: CONST Int type=kotlin.Int value=5
          then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
            STRING_CONCATENATION type=kotlin.String
              CONST String type=kotlin.String value="Fail 1 "
              GET_VAR 'var x: kotlin.Int declared in <root>.box' type=kotlin.Int origin=null
      VAR name:y type:kotlin.Int [var]
        CONST Int type=kotlin.Int value=0
      BLOCK type=kotlin.Unit origin=null
        DO_WHILE label=null origin=DO_WHILE_LOOP
          body: COMPOSITE type=kotlin.Unit origin=null
            TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
              BLOCK type=kotlin.Int origin=POSTFIX_INCR
                VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.Int [val]
                  GET_VAR 'var y: kotlin.Int declared in <root>.box' type=kotlin.Int origin=POSTFIX_INCR
                SET_VAR 'var y: kotlin.Int declared in <root>.box' type=kotlin.Unit origin=POSTFIX_INCR
                  CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR
                    ARG <this>: GET_VAR 'val tmp_1: kotlin.Int declared in <root>.box' type=kotlin.Int origin=null
                GET_VAR 'val tmp_1: kotlin.Int declared in <root>.box' type=kotlin.Int origin=null
          condition: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT
            ARG arg0: GET_VAR 'var y: kotlin.Int declared in <root>.box' type=kotlin.Int origin=null
            ARG arg1: CONST Int type=kotlin.Int value=5
      WHEN type=kotlin.Unit origin=IF
        BRANCH
          if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
            ARG <this>: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
              ARG arg0: GET_VAR 'var y: kotlin.Int declared in <root>.box' type=kotlin.Int origin=null
              ARG arg1: CONST Int type=kotlin.Int value=5
          then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
            STRING_CONCATENATION type=kotlin.String
              CONST String type=kotlin.String value="Fail 2 "
              GET_VAR 'var y: kotlin.Int declared in <root>.box' type=kotlin.Int origin=null
      VAR name:z type:kotlin.String [var]
        CONST String type=kotlin.String value=""
      BLOCK type=kotlin.Unit origin=null
        DO_WHILE label=null origin=DO_WHILE_LOOP
          body: COMPOSITE type=kotlin.Unit origin=null
            SET_VAR 'var z: kotlin.String declared in <root>.box' type=kotlin.Unit origin=PLUSEQ
              CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUSEQ
                ARG <this>: GET_VAR 'var z: kotlin.String declared in <root>.box' type=kotlin.String origin=PLUSEQ
                ARG other: CALL 'public open fun <get-length> (): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=GET_PROPERTY
                  ARG <this>: GET_VAR 'var z: kotlin.String declared in <root>.box' type=kotlin.String origin=null
          condition: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT
            ARG arg0: CALL 'public open fun <get-length> (): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=GET_PROPERTY
              ARG <this>: GET_VAR 'var z: kotlin.String declared in <root>.box' type=kotlin.String origin=null
            ARG arg1: CONST Int type=kotlin.Int value=5
      WHEN type=kotlin.Unit origin=IF
        BRANCH
          if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
            ARG <this>: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
              ARG arg0: GET_VAR 'var z: kotlin.String declared in <root>.box' type=kotlin.String origin=null
              ARG arg1: CONST String type=kotlin.String value="01234"
          then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
            STRING_CONCATENATION type=kotlin.String
              CONST String type=kotlin.String value="Fail 3 "
              GET_VAR 'var z: kotlin.String declared in <root>.box' type=kotlin.String origin=null
      RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
        CONST String type=kotlin.String value="OK"
