FILE /augmentedAssignment2.kt
  CLASS CLASS A
    CONSTRUCTOR public constructor A()
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
        INSTANCE_INITIALIZER_CALL classDescriptor='A'
  FUN public operator fun A.plusAssign(s: kotlin.String): kotlin.Unit
    BLOCK_BODY
  FUN public operator fun A.minusAssign(s: kotlin.String): kotlin.Unit
    BLOCK_BODY
  FUN public operator fun A.timesAssign(s: kotlin.String): kotlin.Unit
    BLOCK_BODY
  FUN public operator fun A.divAssign(s: kotlin.String): kotlin.Unit
    BLOCK_BODY
  FUN public operator fun A.modAssign(s: kotlin.String): kotlin.Unit
    BLOCK_BODY
  PROPERTY public val p: A
    FIELD PROPERTY_BACKING_FIELD public val p: A
      EXPRESSION_BODY
        CALL 'constructor A()' type=A origin=null
    FUN DEFAULT_PROPERTY_ACCESSOR public fun <get-p>(): A
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='<get-p>(): A'
          GET_FIELD 'p: A' type=A origin=null
  FUN public fun testVariable(): kotlin.Unit
    BLOCK_BODY
      VAR val a: A
        CALL 'constructor A()' type=A origin=null
      CALL 'plusAssign(String) on A: Unit' type=kotlin.Unit origin=PLUSEQ
        $receiver: GET_VAR 'a: A' type=A origin=PLUSEQ
        s: CONST String type=kotlin.String value='+='
      CALL 'minusAssign(String) on A: Unit' type=kotlin.Unit origin=MINUSEQ
        $receiver: GET_VAR 'a: A' type=A origin=MINUSEQ
        s: CONST String type=kotlin.String value='-='
      CALL 'timesAssign(String) on A: Unit' type=kotlin.Unit origin=MULTEQ
        $receiver: GET_VAR 'a: A' type=A origin=MULTEQ
        s: CONST String type=kotlin.String value='*='
      CALL 'divAssign(String) on A: Unit' type=kotlin.Unit origin=DIVEQ
        $receiver: GET_VAR 'a: A' type=A origin=DIVEQ
        s: CONST String type=kotlin.String value='/='
      CALL 'modAssign(String) on A: Unit' type=kotlin.Unit origin=PERCEQ
        $receiver: GET_VAR 'a: A' type=A origin=PERCEQ
        s: CONST String type=kotlin.String value='*='
  FUN public fun testProperty(): kotlin.Unit
    BLOCK_BODY
      BLOCK type=kotlin.Unit origin=PLUSEQ
        CALL 'plusAssign(String) on A: Unit' type=kotlin.Unit origin=PLUSEQ
          $receiver: CALL '<get-p>(): A' type=A origin=PLUSEQ
          s: CONST String type=kotlin.String value='+='
      BLOCK type=kotlin.Unit origin=MINUSEQ
        CALL 'minusAssign(String) on A: Unit' type=kotlin.Unit origin=MINUSEQ
          $receiver: CALL '<get-p>(): A' type=A origin=MINUSEQ
          s: CONST String type=kotlin.String value='-='
      BLOCK type=kotlin.Unit origin=MULTEQ
        CALL 'timesAssign(String) on A: Unit' type=kotlin.Unit origin=MULTEQ
          $receiver: CALL '<get-p>(): A' type=A origin=MULTEQ
          s: CONST String type=kotlin.String value='*='
      BLOCK type=kotlin.Unit origin=DIVEQ
        CALL 'divAssign(String) on A: Unit' type=kotlin.Unit origin=DIVEQ
          $receiver: CALL '<get-p>(): A' type=A origin=DIVEQ
          s: CONST String type=kotlin.String value='/='
      BLOCK type=kotlin.Unit origin=PERCEQ
        CALL 'modAssign(String) on A: Unit' type=kotlin.Unit origin=PERCEQ
          $receiver: CALL '<get-p>(): A' type=A origin=PERCEQ
          s: CONST String type=kotlin.String value='%='
