FILE /forWithImplicitReceivers.kt
  CLASS OBJECT FiveTimes
    CONSTRUCTOR private constructor FiveTimes()
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
        INSTANCE_INITIALIZER_CALL classDescriptor='FiveTimes'
  CLASS CLASS IntCell
    CONSTRUCTOR public constructor IntCell(value: kotlin.Int)
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
        INSTANCE_INITIALIZER_CALL classDescriptor='IntCell'
    PROPERTY public final var value: kotlin.Int
      FIELD public final var value: kotlin.Int
        EXPRESSION_BODY
          GET_VAR 'value-parameter value: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
      FUN public final fun <get-value>(): kotlin.Int
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='<get-value>(): Int'
            GET_BACKING_FIELD 'value: Int' type=kotlin.Int operator=null
              receiver: THIS of 'IntCell' type=IntCell
      FUN public final fun <set-value>(<set-?>: kotlin.Int): kotlin.Unit
        BLOCK_BODY
          SET_BACKING_FIELD 'value: Int' type=kotlin.Unit operator=null
            receiver: THIS of 'IntCell' type=IntCell
            value: GET_VAR 'value-parameter <set-?>: Int' type=kotlin.Int operator=null
  CLASS INTERFACE IReceiver
    FUN public open operator fun FiveTimes.iterator(): IntCell
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='iterator() on FiveTimes: IntCell'
          CALL 'constructor IntCell(Int)' type=IntCell operator=null
            value: CONST Int type=kotlin.Int value='5'
    FUN public open operator fun IntCell.hasNext(): kotlin.Boolean
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='hasNext() on IntCell: Boolean'
          CALL 'GT0(Int): Boolean' type=kotlin.Boolean operator=GT
            arg0: CALL 'compareTo(Int): Int' type=kotlin.Int operator=GT
              $this: CALL '<get-value>(): Int' type=kotlin.Int operator=GET_PROPERTY
                $this: $RECEIVER of 'hasNext() on IntCell: Boolean' type=IntCell
              other: CONST Int type=kotlin.Int value='0'
    FUN public open operator fun IntCell.next(): kotlin.Int
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='next() on IntCell: Int'
          BLOCK type=kotlin.Int operator=POSTFIX_DECR
            VAR val tmp0_this: IntCell
              $RECEIVER of 'next() on IntCell: Int' type=IntCell
            BLOCK type=kotlin.Int operator=POSTFIX_DECR
              VAR val tmp1: kotlin.Int
                CALL '<get-value>(): Int' type=kotlin.Int operator=POSTFIX_DECR
                  $this: GET_VAR 'tmp0_this: IntCell' type=IntCell operator=null
              CALL '<set-value>(Int): Unit' type=kotlin.Unit operator=POSTFIX_DECR
                $this: GET_VAR 'tmp0_this: IntCell' type=IntCell operator=null
                <set-?>: CALL 'dec(): Int' type=kotlin.Int operator=POSTFIX_DECR
                  $this: GET_VAR 'tmp1: Int' type=kotlin.Int operator=null
              GET_VAR 'tmp1: Int' type=kotlin.Int operator=null
  FUN public fun IReceiver.test(): kotlin.Unit
    BLOCK_BODY
      BLOCK type=kotlin.Unit operator=FOR_LOOP
        VAR val tmp0_iterator: IntCell
          CALL 'iterator() on FiveTimes: IntCell' type=IntCell operator=FOR_LOOP_ITERATOR
            $this: $RECEIVER of 'test() on IReceiver: Unit' type=IReceiver
            $receiver: GET_OBJECT 'FiveTimes' type=FiveTimes
        WHILE label=null operator=FOR_LOOP_INNER_WHILE
          condition: CALL 'hasNext() on IntCell: Boolean' type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT
            $this: $RECEIVER of 'test() on IReceiver: Unit' type=IReceiver
            $receiver: GET_VAR 'tmp0_iterator: IntCell' type=IntCell operator=null
          body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE
            VAR val i: kotlin.Int
              CALL 'next() on IntCell: Int' type=kotlin.Int operator=FOR_LOOP_NEXT
                $this: $RECEIVER of 'test() on IReceiver: Unit' type=IReceiver
                $receiver: GET_VAR 'tmp0_iterator: IntCell' type=IntCell operator=null
            BLOCK type=kotlin.Unit operator=null
              CALL 'println(Int): Unit' type=kotlin.Unit operator=null
                message: GET_VAR 'i: Int' type=kotlin.Int operator=null
