FILE /incrementDecrement.kt
  PROPERTY public var p: kotlin.Int
    EXPRESSION_BODY
      CONST Int type=kotlin.Int value='0'
  PROPERTY public val arr: kotlin.IntArray
    EXPRESSION_BODY
      CALL .intArrayOf type=kotlin.IntArray operator=null
        elements: VARARG type=IntArray varargElementType=Int
          CONST Int type=kotlin.Int value='1'
          CONST Int type=kotlin.Int value='2'
          CONST Int type=kotlin.Int value='3'
  FUN public fun testVarPrefix(): kotlin.Unit
    BLOCK_BODY
      VAR var x: kotlin.Int
        CONST Int type=kotlin.Int value='0'
      VAR val x1: kotlin.Int
        BLOCK type=kotlin.Int operator=PREFIX_INCR
          VAR val tmp0: kotlin.Int
            CALL .inc type=kotlin.Int operator=PREFIX_INCR
              $this: GET_VAR x type=kotlin.Int operator=PREFIX_INCR
          SET_VAR x type=kotlin.Unit operator=PREFIX_INCR
            GET_VAR tmp0 type=kotlin.Int operator=null
          GET_VAR tmp0 type=kotlin.Int operator=null
      VAR val x2: kotlin.Int
        BLOCK type=kotlin.Int operator=PREFIX_DECR
          VAR val tmp1: kotlin.Int
            CALL .dec type=kotlin.Int operator=PREFIX_DECR
              $this: GET_VAR x type=kotlin.Int operator=PREFIX_DECR
          SET_VAR x type=kotlin.Unit operator=PREFIX_DECR
            GET_VAR tmp1 type=kotlin.Int operator=null
          GET_VAR tmp1 type=kotlin.Int operator=null
  FUN public fun testVarPostfix(): kotlin.Unit
    BLOCK_BODY
      VAR var x: kotlin.Int
        CONST Int type=kotlin.Int value='0'
      VAR val x1: kotlin.Int
        BLOCK type=kotlin.Int operator=POSTFIX_INCR
          VAR val tmp0: kotlin.Int
            GET_VAR x type=kotlin.Int operator=POSTFIX_INCR
          SET_VAR x type=kotlin.Unit operator=POSTFIX_INCR
            CALL .inc type=kotlin.Int operator=POSTFIX_INCR
              $this: GET_VAR tmp0 type=kotlin.Int operator=null
          GET_VAR tmp0 type=kotlin.Int operator=null
      VAR val x2: kotlin.Int
        BLOCK type=kotlin.Int operator=POSTFIX_DECR
          VAR val tmp1: kotlin.Int
            GET_VAR x type=kotlin.Int operator=POSTFIX_DECR
          SET_VAR x type=kotlin.Unit operator=POSTFIX_DECR
            CALL .dec type=kotlin.Int operator=POSTFIX_DECR
              $this: GET_VAR tmp1 type=kotlin.Int operator=null
          GET_VAR tmp1 type=kotlin.Int operator=null
  FUN public fun testPropPrefix(): kotlin.Unit
    BLOCK_BODY
      VAR val p1: kotlin.Int
        BLOCK type=kotlin.Int operator=PREFIX_INCR
          VAR val tmp0: kotlin.Int
            CALL .inc type=kotlin.Int operator=PREFIX_INCR
              $this: CALL .<get-p> type=kotlin.Int operator=PREFIX_INCR
          CALL .<set-p> type=kotlin.Unit operator=PREFIX_INCR
            <set-?>: GET_VAR tmp0 type=kotlin.Int operator=null
          GET_VAR tmp0 type=kotlin.Int operator=null
      VAR val p2: kotlin.Int
        BLOCK type=kotlin.Int operator=PREFIX_DECR
          VAR val tmp1: kotlin.Int
            CALL .dec type=kotlin.Int operator=PREFIX_DECR
              $this: CALL .<get-p> type=kotlin.Int operator=PREFIX_DECR
          CALL .<set-p> type=kotlin.Unit operator=PREFIX_DECR
            <set-?>: GET_VAR tmp1 type=kotlin.Int operator=null
          GET_VAR tmp1 type=kotlin.Int operator=null
  FUN public fun testPropPostfix(): kotlin.Unit
    BLOCK_BODY
      VAR val p1: kotlin.Int
        BLOCK type=kotlin.Int operator=POSTFIX_INCR
          VAR val tmp0: kotlin.Int
            CALL .<get-p> type=kotlin.Int operator=POSTFIX_INCR
          CALL .<set-p> type=kotlin.Unit operator=POSTFIX_INCR
            <set-?>: CALL .inc type=kotlin.Int operator=POSTFIX_INCR
              $this: GET_VAR tmp0 type=kotlin.Int operator=null
          GET_VAR tmp0 type=kotlin.Int operator=null
      VAR val p2: kotlin.Int
        BLOCK type=kotlin.Int operator=PREFIX_DECR
          VAR val tmp1: kotlin.Int
            CALL .dec type=kotlin.Int operator=PREFIX_DECR
              $this: CALL .<get-p> type=kotlin.Int operator=PREFIX_DECR
          CALL .<set-p> type=kotlin.Unit operator=PREFIX_DECR
            <set-?>: GET_VAR tmp1 type=kotlin.Int operator=null
          GET_VAR tmp1 type=kotlin.Int operator=null
  FUN public fun testArrayPrefix(): kotlin.Unit
    BLOCK_BODY
      VAR val a1: kotlin.Int
        BLOCK type=kotlin.Int operator=PREFIX_INCR
          VAR val tmp0_array: kotlin.IntArray
            CALL .<get-arr> type=kotlin.IntArray operator=GET_PROPERTY
          VAR val tmp1_index0: kotlin.Int
            CONST Int type=kotlin.Int value='0'
          VAR val tmp2: kotlin.Int
            CALL .inc type=kotlin.Int operator=PREFIX_INCR
              $this: CALL .get type=kotlin.Int operator=PREFIX_INCR
                $this: GET_VAR tmp0_array type=kotlin.IntArray operator=null
                index: GET_VAR tmp1_index0 type=kotlin.Int operator=null
          CALL .set type=kotlin.Unit operator=PREFIX_INCR
            $this: GET_VAR tmp0_array type=kotlin.IntArray operator=null
            index: GET_VAR tmp1_index0 type=kotlin.Int operator=null
            value: GET_VAR tmp2 type=kotlin.Int operator=null
          GET_VAR tmp2 type=kotlin.Int operator=null
      VAR val a2: kotlin.Int
        BLOCK type=kotlin.Int operator=PREFIX_DECR
          VAR val tmp3_array: kotlin.IntArray
            CALL .<get-arr> type=kotlin.IntArray operator=GET_PROPERTY
          VAR val tmp4_index0: kotlin.Int
            CONST Int type=kotlin.Int value='0'
          VAR val tmp5: kotlin.Int
            CALL .dec type=kotlin.Int operator=PREFIX_DECR
              $this: CALL .get type=kotlin.Int operator=PREFIX_DECR
                $this: GET_VAR tmp3_array type=kotlin.IntArray operator=null
                index: GET_VAR tmp4_index0 type=kotlin.Int operator=null
          CALL .set type=kotlin.Unit operator=PREFIX_DECR
            $this: GET_VAR tmp3_array type=kotlin.IntArray operator=null
            index: GET_VAR tmp4_index0 type=kotlin.Int operator=null
            value: GET_VAR tmp5 type=kotlin.Int operator=null
          GET_VAR tmp5 type=kotlin.Int operator=null
  FUN public fun testArrayPostfix(): kotlin.Unit
    BLOCK_BODY
      VAR val a1: kotlin.Int
        BLOCK type=kotlin.Int operator=POSTFIX_INCR
          VAR val tmp0_array: kotlin.IntArray
            CALL .<get-arr> type=kotlin.IntArray operator=GET_PROPERTY
          VAR val tmp1_index0: kotlin.Int
            CONST Int type=kotlin.Int value='0'
          VAR val tmp2: kotlin.Int
            CALL .get type=kotlin.Int operator=POSTFIX_INCR
              $this: GET_VAR tmp0_array type=kotlin.IntArray operator=null
              index: GET_VAR tmp1_index0 type=kotlin.Int operator=null
          CALL .set type=kotlin.Unit operator=POSTFIX_INCR
            $this: GET_VAR tmp0_array type=kotlin.IntArray operator=null
            index: GET_VAR tmp1_index0 type=kotlin.Int operator=null
            value: CALL .inc type=kotlin.Int operator=POSTFIX_INCR
              $this: GET_VAR tmp2 type=kotlin.Int operator=null
          GET_VAR tmp2 type=kotlin.Int operator=null
      VAR val a2: kotlin.Int
        BLOCK type=kotlin.Int operator=POSTFIX_DECR
          VAR val tmp3_array: kotlin.IntArray
            CALL .<get-arr> type=kotlin.IntArray operator=GET_PROPERTY
          VAR val tmp4_index0: kotlin.Int
            CONST Int type=kotlin.Int value='0'
          VAR val tmp5: kotlin.Int
            CALL .get type=kotlin.Int operator=POSTFIX_DECR
              $this: GET_VAR tmp3_array type=kotlin.IntArray operator=null
              index: GET_VAR tmp4_index0 type=kotlin.Int operator=null
          CALL .set type=kotlin.Unit operator=POSTFIX_DECR
            $this: GET_VAR tmp3_array type=kotlin.IntArray operator=null
            index: GET_VAR tmp4_index0 type=kotlin.Int operator=null
            value: CALL .dec type=kotlin.Int operator=POSTFIX_DECR
              $this: GET_VAR tmp5 type=kotlin.Int operator=null
          GET_VAR tmp5 type=kotlin.Int operator=null
