FILE fqName: fileName:/augmentedAssignment2.kt CLASS CLASS name:A modality:FINAL visibility:public flags: superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:A flags: CONSTRUCTOR visibility:public <> () returnType:A flags:primary BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' INSTANCE_INITIALIZER_CALL classDescriptor='A' FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: overridden: FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags: FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags: overridden: FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags: overridden: FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:plusAssign visibility:public modality:FINAL <> ($receiver:A, s:kotlin.String) returnType:kotlin.Unit flags: $receiver: VALUE_PARAMETER name: type:A flags: VALUE_PARAMETER name:s index:0 type:kotlin.String flags: BLOCK_BODY FUN name:minusAssign visibility:public modality:FINAL <> ($receiver:A, s:kotlin.String) returnType:kotlin.Unit flags: $receiver: VALUE_PARAMETER name: type:A flags: VALUE_PARAMETER name:s index:0 type:kotlin.String flags: BLOCK_BODY FUN name:timesAssign visibility:public modality:FINAL <> ($receiver:A, s:kotlin.String) returnType:kotlin.Unit flags: $receiver: VALUE_PARAMETER name: type:A flags: VALUE_PARAMETER name:s index:0 type:kotlin.String flags: BLOCK_BODY FUN name:divAssign visibility:public modality:FINAL <> ($receiver:A, s:kotlin.String) returnType:kotlin.Unit flags: $receiver: VALUE_PARAMETER name: type:A flags: VALUE_PARAMETER name:s index:0 type:kotlin.String flags: BLOCK_BODY FUN name:remAssign visibility:public modality:FINAL <> ($receiver:A, s:kotlin.String) returnType:kotlin.Unit flags: $receiver: VALUE_PARAMETER name: type:A flags: VALUE_PARAMETER name:s index:0 type:kotlin.String flags: BLOCK_BODY PROPERTY name:p visibility:public modality:FINAL flags:val FIELD PROPERTY_BACKING_FIELD name:p type:A visibility:public flags:final,static EXPRESSION_BODY CALL 'constructor A()' type=A origin=null FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:A flags: correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:val BLOCK_BODY RETURN type=kotlin.Nothing from='(): A' GET_FIELD 'p: A' type=A origin=null FUN name:testVariable visibility:public modality:FINAL <> () returnType:kotlin.Unit flags: BLOCK_BODY VAR name:a type:A flags:val 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 'remAssign(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 name:testProperty visibility:public modality:FINAL <> () returnType:kotlin.Unit flags: BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ CALL 'plusAssign(String) on A: Unit' type=kotlin.Unit origin=PLUSEQ $receiver: CALL '(): 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 '(): 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 '(): 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 '(): A' type=A origin=DIVEQ s: CONST String type=kotlin.String value="/=" BLOCK type=kotlin.Unit origin=PERCEQ CALL 'remAssign(String) on A: Unit' type=kotlin.Unit origin=PERCEQ $receiver: CALL '(): A' type=A origin=PERCEQ s: CONST String type=kotlin.String value="%="