FILE fqName:<root> fileName:/whileDoWhile.kt
  FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit
    BLOCK_BODY
      VAR name:x type:kotlin.Int [var]
        CONST Int type=kotlin.Int value=0
      WHILE label=null origin=WHILE_LOOP
        condition: ERROR_CALL 'Comparison of arguments with different types: kotlin/Int, kotlin/Unit' type=kotlin.Boolean
        body: BLOCK type=kotlin.Unit origin=null
      WHILE label=null origin=WHILE_LOOP
        condition: ERROR_CALL 'Comparison of arguments with different types: kotlin/Int, kotlin/Unit' type=kotlin.Boolean
        body: BLOCK type=kotlin.Int origin=null
          VAR name:<unary> type:kotlin.Int [val]
            GET_VAR 'var x: kotlin.Int [var] declared in <root>.test' type=kotlin.Int origin=null
          ERROR_CALL 'Unresolved reference: R|<local>/x|' type=IrErrorType
          GET_VAR 'val <unary>: kotlin.Int [val] declared in <root>.test' type=kotlin.Int origin=null
      WHILE label=null origin=WHILE_LOOP
        condition: ERROR_CALL 'Comparison of arguments with different types: kotlin/Int, kotlin/Unit' type=kotlin.Boolean
        body: BLOCK type=kotlin.Int origin=null
          VAR name:<unary> type:kotlin.Int [val]
            GET_VAR 'var x: kotlin.Int [var] declared in <root>.test' type=kotlin.Int origin=null
          ERROR_CALL 'Unresolved reference: R|<local>/x|' type=IrErrorType
          GET_VAR 'val <unary>: kotlin.Int [val] declared in <root>.test' type=kotlin.Int origin=null
      DO_WHILE label=null origin=DO_WHILE_LOOP
        body: BLOCK type=kotlin.Unit origin=null
        condition: ERROR_CALL 'Comparison of arguments with different types: kotlin/Int, kotlin/Unit' type=kotlin.Boolean
      DO_WHILE label=null origin=DO_WHILE_LOOP
        body: BLOCK type=kotlin.Int origin=null
          VAR name:<unary> type:kotlin.Int [val]
            GET_VAR 'var x: kotlin.Int [var] declared in <root>.test' type=kotlin.Int origin=null
          ERROR_CALL 'Unresolved reference: R|<local>/x|' type=IrErrorType
          GET_VAR 'val <unary>: kotlin.Int [val] declared in <root>.test' type=kotlin.Int origin=null
        condition: ERROR_CALL 'Comparison of arguments with different types: kotlin/Int, kotlin/Unit' type=kotlin.Boolean
      DO_WHILE label=null origin=DO_WHILE_LOOP
        body: BLOCK type=kotlin.Int origin=null
          VAR name:<unary> type:kotlin.Int [val]
            GET_VAR 'var x: kotlin.Int [var] declared in <root>.test' type=kotlin.Int origin=null
          ERROR_CALL 'Unresolved reference: R|<local>/x|' type=IrErrorType
          GET_VAR 'val <unary>: kotlin.Int [val] declared in <root>.test' type=kotlin.Int origin=null
        condition: ERROR_CALL 'Comparison of arguments with different types: kotlin/Int, kotlin/Unit' type=kotlin.Boolean
  FUN name:testSmartcastInCondition visibility:public modality:FINAL <> () returnType:kotlin.Unit
    BLOCK_BODY
      VAR name:a type:kotlin.Any? [val]
        CONST Null type=kotlin.Nothing? value=null
      WHEN type=kotlin.Unit origin=IF
        BRANCH
          if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Boolean
            GET_VAR 'val a: kotlin.Any? [val] declared in <root>.testSmartcastInCondition' type=kotlin.Any? origin=null
          then: BLOCK type=kotlin.Unit origin=null
            WHILE label=null origin=WHILE_LOOP
              condition: GET_VAR 'val a: kotlin.Any? [val] declared in <root>.testSmartcastInCondition' type=kotlin.Any? origin=null
              body: BLOCK type=kotlin.Unit origin=null
            DO_WHILE label=null origin=DO_WHILE_LOOP
              body: BLOCK type=kotlin.Unit origin=null
              condition: GET_VAR 'val a: kotlin.Any? [val] declared in <root>.testSmartcastInCondition' type=kotlin.Any? origin=null
