FILE fqName:<root> fileName:/break.kt
  PROPERTY name:sb visibility:public modality:FINAL [val]
    FIELD PROPERTY_BACKING_FIELD name:sb type:java.lang.StringBuilder visibility:private [final,static]
      EXPRESSION_BODY
        CONSTRUCTOR_CALL 'public constructor <init> () declared in java.lang.StringBuilder' type=java.lang.StringBuilder origin=null
    FUN DEFAULT_PROPERTY_ACCESSOR name:<get-sb> visibility:public modality:FINAL returnType:java.lang.StringBuilder
      correspondingProperty: PROPERTY name:sb visibility:public modality:FINAL [val]
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='public final fun <get-sb> (): java.lang.StringBuilder declared in <root>'
          GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:sb type:java.lang.StringBuilder visibility:private [final,static]' type=java.lang.StringBuilder origin=null
  FUN name:bar visibility:public modality:FINAL returnType:kotlin.Unit
    BLOCK_BODY
      VAR name:i type:kotlin.Int [var]
        CONST Int type=kotlin.Int value=0
      BLOCK type=kotlin.Unit origin=null
        DO_WHILE label=l1 origin=DO_WHILE_LOOP
          body: COMPOSITE type=kotlin.Unit origin=null
            TRY type=kotlin.Unit
              try: BLOCK type=kotlin.Nothing origin=null
                TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
                  CALL 'public final fun appendLine (<this>: java.lang.StringBuilder, value: kotlin.String?): java.lang.StringBuilder declared in kotlin.text' type=java.lang.StringBuilder origin=null
                    ARG <this>: CALL 'public final fun <get-sb> (): java.lang.StringBuilder declared in <root>' type=java.lang.StringBuilder origin=GET_PROPERTY
                    ARG value: CONST String type=kotlin.String value="bar@l1"
                THROW type=kotlin.Nothing
                  CONSTRUCTOR_CALL 'public constructor <init> () declared in java.lang.Exception' type=java.lang.Exception origin=null
              CATCH parameter=val e: java.lang.Exception declared in <root>.bar
                VAR CATCH_PARAMETER name:e type:java.lang.Exception [val]
                BLOCK type=kotlin.Unit origin=null
                  DO_WHILE label=l2 origin=DO_WHILE_LOOP
                    body: COMPOSITE type=kotlin.Unit origin=null
                      WHEN type=kotlin.Unit origin=IF
                        BRANCH
                          if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
                            ARG arg0: CALL 'public final fun rem (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PERC
                              ARG <this>: BLOCK type=kotlin.Int origin=POSTFIX_INCR
                                VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlin.Int [val]
                                  GET_VAR 'var i: kotlin.Int declared in <root>.bar' type=kotlin.Int origin=POSTFIX_INCR
                                SET_VAR 'var i: kotlin.Int declared in <root>.bar' 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>.bar' type=kotlin.Int origin=null
                                GET_VAR 'val tmp_0: kotlin.Int declared in <root>.bar' type=kotlin.Int origin=null
                              ARG other: CONST Int type=kotlin.Int value=2
                            ARG arg1: CONST Int type=kotlin.Int value=0
                          then: CONTINUE label=l2 loop.label=l2
                      TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
                        CALL 'public final fun appendLine (<this>: java.lang.StringBuilder, value: kotlin.String?): java.lang.StringBuilder declared in kotlin.text' type=java.lang.StringBuilder origin=null
                          ARG <this>: CALL 'public final fun <get-sb> (): java.lang.StringBuilder declared in <root>' type=java.lang.StringBuilder origin=GET_PROPERTY
                          ARG value: CONST String type=kotlin.String value="bar@l2"
                      WHEN type=kotlin.Unit origin=IF
                        BRANCH
                          if: CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT
                            ARG arg0: GET_VAR 'var i: kotlin.Int declared in <root>.bar' type=kotlin.Int origin=null
                            ARG arg1: CONST Int type=kotlin.Int value=4
                          then: BREAK label=l1 loop.label=l1
                    condition: CONST Boolean type=kotlin.Boolean value=true
          condition: CONST Boolean type=kotlin.Boolean value=true
  FUN name:box visibility:public modality:FINAL returnType:kotlin.String
    BLOCK_BODY
      CALL 'public final fun foo (): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
      CALL 'public final fun bar (): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
      CALL 'public final fun qux (): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
      CALL 'public final fun assertEquals <T> (expected: T of kotlin.test.assertEquals, actual: T of kotlin.test.assertEquals, message: kotlin.String?): kotlin.Unit declared in kotlin.test' type=kotlin.Unit origin=null
        TYPE_ARG T: kotlin.String
        ARG expected: CALL 'public final fun trimIndent (<this>: kotlin.String): kotlin.String declared in kotlin.text' type=kotlin.String origin=null
          ARG <this>: CONST String type=kotlin.String value="\n    foo@l1\n    foo@l2\n    foo@l2\n    foo@l2\n    bar@l1\n    bar@l2\n    bar@l2\n    bar@l2\n    qux@t1\n    qux@l2\n    qux@l2\n    qux@l2\n\n    "
        ARG actual: CALL 'public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.lang.StringBuilder' type=@[EnhancedNullability] kotlin.String origin=null
          ARG <this>: CALL 'public final fun <get-sb> (): java.lang.StringBuilder declared in <root>' type=java.lang.StringBuilder origin=GET_PROPERTY
      RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
        CONST String type=kotlin.String value="OK"
  FUN name:foo visibility:public modality:FINAL returnType:kotlin.Unit
    BLOCK_BODY
      VAR name:i type:kotlin.Int [var]
        CONST Int type=kotlin.Int value=0
      WHILE label=l1 origin=WHILE_LOOP
        condition: CONST Boolean type=kotlin.Boolean value=true
        body: BLOCK type=kotlin.Unit origin=null
          TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
            CALL 'public final fun appendLine (<this>: java.lang.StringBuilder, value: kotlin.String?): java.lang.StringBuilder declared in kotlin.text' type=java.lang.StringBuilder origin=null
              ARG <this>: CALL 'public final fun <get-sb> (): java.lang.StringBuilder declared in <root>' type=java.lang.StringBuilder origin=GET_PROPERTY
              ARG value: CONST String type=kotlin.String value="foo@l1"
          TRY type=kotlin.Unit
            try: BLOCK type=kotlin.Unit origin=null
              WHILE label=l2 origin=WHILE_LOOP
                condition: CONST Boolean type=kotlin.Boolean value=true
                body: BLOCK type=kotlin.Unit origin=null
                  WHEN type=kotlin.Unit origin=IF
                    BRANCH
                      if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
                        ARG arg0: CALL 'public final fun rem (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PERC
                          ARG <this>: BLOCK type=kotlin.Int origin=POSTFIX_INCR
                            VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.Int [val]
                              GET_VAR 'var i: kotlin.Int declared in <root>.foo' type=kotlin.Int origin=POSTFIX_INCR
                            SET_VAR 'var i: kotlin.Int declared in <root>.foo' 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>.foo' type=kotlin.Int origin=null
                            GET_VAR 'val tmp_1: kotlin.Int declared in <root>.foo' type=kotlin.Int origin=null
                          ARG other: CONST Int type=kotlin.Int value=2
                        ARG arg1: CONST Int type=kotlin.Int value=0
                      then: CONTINUE label=l2 loop.label=l2
                  TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
                    CALL 'public final fun appendLine (<this>: java.lang.StringBuilder, value: kotlin.String?): java.lang.StringBuilder declared in kotlin.text' type=java.lang.StringBuilder origin=null
                      ARG <this>: CALL 'public final fun <get-sb> (): java.lang.StringBuilder declared in <root>' type=java.lang.StringBuilder origin=GET_PROPERTY
                      ARG value: CONST String type=kotlin.String value="foo@l2"
                  WHEN type=kotlin.Unit origin=IF
                    BRANCH
                      if: CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT
                        ARG arg0: GET_VAR 'var i: kotlin.Int declared in <root>.foo' type=kotlin.Int origin=null
                        ARG arg1: CONST Int type=kotlin.Int value=4
                      then: BREAK label=l1 loop.label=l1
            finally: BLOCK type=kotlin.Unit origin=null
  FUN name:qux visibility:public modality:FINAL returnType:kotlin.Unit
    BLOCK_BODY
      BLOCK type=kotlin.Unit origin=FOR_LOOP
        VAR FOR_LOOP_ITERATOR name:tmp_2 type:kotlin.collections.IntIterator [val]
          CALL 'public open fun iterator (): kotlin.collections.IntIterator declared in kotlin.ranges.IntRange' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
            ARG <this>: CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE
              ARG <this>: CONST Int type=kotlin.Int value=1
              ARG other: CONST Int type=kotlin.Int value=6
        WHILE label=l1 origin=FOR_LOOP_INNER_WHILE
          condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
            ARG <this>: GET_VAR 'val tmp_2: kotlin.collections.IntIterator declared in <root>.qux' type=kotlin.collections.IntIterator origin=null
          body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
            VAR FOR_LOOP_VARIABLE name:i type:kotlin.Int [val]
              CALL 'public final fun next (): kotlin.Int declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT
                ARG <this>: GET_VAR 'val tmp_2: kotlin.collections.IntIterator declared in <root>.qux' type=kotlin.collections.IntIterator origin=null
            BLOCK type=kotlin.Unit origin=null
              TRY type=kotlin.Nothing
                try: BLOCK type=kotlin.Nothing origin=null
                  TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
                    CALL 'public final fun appendLine (<this>: java.lang.StringBuilder, value: kotlin.String?): java.lang.StringBuilder declared in kotlin.text' type=java.lang.StringBuilder origin=null
                      ARG <this>: CALL 'public final fun <get-sb> (): java.lang.StringBuilder declared in <root>' type=java.lang.StringBuilder origin=GET_PROPERTY
                      ARG value: CONST String type=kotlin.String value="qux@t1"
                  THROW type=kotlin.Nothing
                    CONSTRUCTOR_CALL 'public constructor <init> () declared in java.lang.Exception' type=java.lang.Exception origin=null
                finally: BLOCK type=kotlin.Unit origin=FOR_LOOP
                  VAR FOR_LOOP_ITERATOR name:tmp_3 type:kotlin.collections.IntIterator [val]
                    CALL 'public open fun iterator (): kotlin.collections.IntIterator declared in kotlin.ranges.IntRange' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
                      ARG <this>: CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE
                        ARG <this>: CONST Int type=kotlin.Int value=1
                        ARG other: CONST Int type=kotlin.Int value=6
                  WHILE label=l2 origin=FOR_LOOP_INNER_WHILE
                    condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
                      ARG <this>: GET_VAR 'val tmp_3: kotlin.collections.IntIterator declared in <root>.qux' type=kotlin.collections.IntIterator origin=null
                    body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
                      VAR FOR_LOOP_VARIABLE name:j type:kotlin.Int [val]
                        CALL 'public final fun next (): kotlin.Int declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT
                          ARG <this>: GET_VAR 'val tmp_3: kotlin.collections.IntIterator declared in <root>.qux' type=kotlin.collections.IntIterator origin=null
                      BLOCK type=kotlin.Unit origin=null
                        WHEN type=kotlin.Unit origin=IF
                          BRANCH
                            if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
                              ARG arg0: CALL 'public final fun rem (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PERC
                                ARG <this>: GET_VAR 'val j: kotlin.Int declared in <root>.qux' type=kotlin.Int origin=null
                                ARG other: CONST Int type=kotlin.Int value=2
                              ARG arg1: CONST Int type=kotlin.Int value=0
                            then: CONTINUE label=l2 loop.label=l2
                        TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
                          CALL 'public final fun appendLine (<this>: java.lang.StringBuilder, value: kotlin.String?): java.lang.StringBuilder declared in kotlin.text' type=java.lang.StringBuilder origin=null
                            ARG <this>: CALL 'public final fun <get-sb> (): java.lang.StringBuilder declared in <root>' type=java.lang.StringBuilder origin=GET_PROPERTY
                            ARG value: CONST String type=kotlin.String value="qux@l2"
                        WHEN type=kotlin.Unit origin=IF
                          BRANCH
                            if: CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT
                              ARG arg0: GET_VAR 'val j: kotlin.Int declared in <root>.qux' type=kotlin.Int origin=null
                              ARG arg1: CONST Int type=kotlin.Int value=4
                            then: BREAK label=l1 loop.label=l1
