FILE fqName: fileName:/compoundAssignmentOperators.kt PROPERTY name:operationScore visibility:public modality:FINAL [var] FIELD PROPERTY_BACKING_FIELD name:operationScore type:kotlin.Int visibility:private [static] EXPRESSION_BODY CONST Int type=kotlin.Int value=0 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Int correspondingProperty: PROPERTY name:operationScore visibility:public modality:FINAL [var] BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:operationScore type:kotlin.Int visibility:private [static]' type=kotlin.Int origin=null FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> (:kotlin.Int) returnType:kotlin.Unit correspondingProperty: PROPERTY name:operationScore visibility:public modality:FINAL [var] VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:operationScore type:kotlin.Int visibility:private [static]' type=kotlin.Unit origin=null value: GET_VAR ': kotlin.Int declared in .' type=kotlin.Int origin=null CLASS CLASS name:Result modality:FINAL visibility:public [data] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Result PROPERTY name:i visibility:public modality:FINAL [var] FIELD PROPERTY_BACKING_FIELD name:i type:kotlin.Int visibility:private EXPRESSION_BODY GET_VAR 'i: kotlin.Int declared in .Result.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Result) returnType:kotlin.Int correspondingProperty: PROPERTY name:i visibility:public modality:FINAL [var] $this: VALUE_PARAMETER name: type:.Result BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Result' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:i type:kotlin.Int visibility:private' type=kotlin.Int origin=null receiver: GET_VAR ': .Result declared in .Result.' type=.Result origin=null FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Result, :kotlin.Int) returnType:kotlin.Unit correspondingProperty: PROPERTY name:i visibility:public modality:FINAL [var] $this: VALUE_PARAMETER name: type:.Result VALUE_PARAMETER name: index:0 type:kotlin.Int BLOCK_BODY SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:i type:kotlin.Int visibility:private' type=kotlin.Unit origin=null receiver: GET_VAR ': .Result declared in .Result.' type=.Result origin=null value: GET_VAR ': kotlin.Int declared in .Result.' type=kotlin.Int origin=null CONSTRUCTOR visibility:public <> (i:kotlin.Int) returnType:.Result [primary] VALUE_PARAMETER name:i index:0 type:kotlin.Int BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Result modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.Result) returnType:kotlin.Int [operator] $this: VALUE_PARAMETER name: type:.Result BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun component1 (): kotlin.Int declared in .Result' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:i type:kotlin.Int visibility:private' type=kotlin.Int origin=null receiver: GET_VAR ': .Result declared in .Result.component1' type=.Result origin=null FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.Result, i:kotlin.Int) returnType:.Result $this: VALUE_PARAMETER name: type:.Result VALUE_PARAMETER name:i index:0 type:kotlin.Int EXPRESSION_BODY GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:i type:kotlin.Int visibility:private' type=kotlin.Int origin=null receiver: GET_VAR ': .Result declared in .Result.copy' type=.Result origin=null BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun copy (i: kotlin.Int): .Result declared in .Result' CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Result' type=.Result origin=null i: GET_VAR 'i: kotlin.Int declared in .Result.copy' type=kotlin.Int origin=null FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.Result, other:kotlin.Any?) returnType:kotlin.Boolean [operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any $this: VALUE_PARAMETER name: type:.Result VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY WHEN type=kotlin.Unit origin=null BRANCH if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ arg0: GET_VAR ': .Result declared in .Result.equals' type=.Result origin=null arg1: GET_VAR 'other: kotlin.Any? declared in .Result.equals' type=kotlin.Any? origin=null then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Result' CONST Boolean type=kotlin.Boolean value=true WHEN type=kotlin.Unit origin=null BRANCH if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.Result GET_VAR 'other: kotlin.Any? declared in .Result.equals' type=kotlin.Any? origin=null then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Result' CONST Boolean type=kotlin.Boolean value=false VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:.Result [val] TYPE_OP type=.Result origin=CAST typeOperand=.Result GET_VAR 'other: kotlin.Any? declared in .Result.equals' type=kotlin.Any? origin=null WHEN type=kotlin.Unit origin=null BRANCH if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ arg0: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:i type:kotlin.Int visibility:private' type=kotlin.Int origin=null receiver: GET_VAR ': .Result declared in .Result.equals' type=.Result origin=null arg1: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:i type:kotlin.Int visibility:private' type=kotlin.Int origin=null receiver: GET_VAR 'val tmp_0: .Result declared in .Result.equals' type=.Result origin=null then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Result' CONST Boolean type=kotlin.Boolean value=false RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Result' CONST Boolean type=kotlin.Boolean value=true FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.Result) returnType:kotlin.Int overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any $this: VALUE_PARAMETER name: type:.Result BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .Result' CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null $this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:i type:kotlin.Int visibility:private' type=kotlin.Int origin=null receiver: GET_VAR ': .Result declared in .Result.hashCode' type=.Result origin=null FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.Result) returnType:kotlin.String overridden: public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:.Result BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .Result' STRING_CONCATENATION type=kotlin.String CONST String type=kotlin.String value="Result(" CONST String type=kotlin.String value="i=" GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:i type:kotlin.Int visibility:private' type=kotlin.Int origin=null receiver: GET_VAR ': .Result declared in .Result.toString' type=.Result origin=null CONST String type=kotlin.String value=")" FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String BLOCK_BODY VAR name:result type:.Result [val] CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Result' type=.Result origin=null i: CONST Int type=kotlin.Int value=0 CALL 'public final fun with (receiver: T of kotlin.with, block: @[ExtensionFunctionType] kotlin.Function1): R of kotlin.with declared in kotlin' type=kotlin.Unit origin=null : kotlin.Int : kotlin.Unit receiver: CONST Int type=kotlin.Int value=1 block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:kotlin.Int) returnType:kotlin.Unit $receiver: VALUE_PARAMETER name:$this$with type:kotlin.Int BLOCK_BODY CALL 'public final fun plusAssign ($context_receiver_0: kotlin.Int, other: .Result): kotlin.Unit declared in ' type=kotlin.Unit origin=PLUSEQ $receiver: GET_VAR 'val result: .Result declared in .box' type=.Result origin=PLUSEQ $context_receiver_0: GET_VAR '$this$with: kotlin.Int declared in .box.' type=kotlin.Int origin=null other: CALL 'public final fun plus ($context_receiver_0: kotlin.Int, other: .Result): .Result declared in ' type=.Result origin=PLUS $receiver: CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Result' type=.Result origin=null i: CONST Int type=kotlin.Int value=1 $context_receiver_0: GET_VAR '$this$with: kotlin.Int declared in .box.' type=kotlin.Int origin=null other: CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Result' type=.Result origin=null i: CONST Int type=kotlin.Int value=1 CALL 'public final fun minusAssign ($context_receiver_0: kotlin.Int, other: .Result): kotlin.Unit declared in ' type=kotlin.Unit origin=MINUSEQ $receiver: GET_VAR 'val result: .Result declared in .box' type=.Result origin=MINUSEQ $context_receiver_0: GET_VAR '$this$with: kotlin.Int declared in .box.' type=kotlin.Int origin=null other: CALL 'public final fun minus ($context_receiver_0: kotlin.Int, other: .Result): .Result declared in ' type=.Result origin=MINUS $receiver: CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Result' type=.Result origin=null i: CONST Int type=kotlin.Int value=1 $context_receiver_0: GET_VAR '$this$with: kotlin.Int declared in .box.' type=kotlin.Int origin=null other: CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Result' type=.Result origin=null i: CONST Int type=kotlin.Int value=0 CALL 'public final fun timesAssign ($context_receiver_0: kotlin.Int, other: .Result): kotlin.Unit declared in ' type=kotlin.Unit origin=MULTEQ $receiver: GET_VAR 'val result: .Result declared in .box' type=.Result origin=MULTEQ $context_receiver_0: GET_VAR '$this$with: kotlin.Int declared in .box.' type=kotlin.Int origin=null other: CALL 'public final fun times ($context_receiver_0: kotlin.Int, other: .Result): .Result declared in ' type=.Result origin=MUL $receiver: CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Result' type=.Result origin=null i: CONST Int type=kotlin.Int value=1 $context_receiver_0: GET_VAR '$this$with: kotlin.Int declared in .box.' type=kotlin.Int origin=null other: CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Result' type=.Result origin=null i: CONST Int type=kotlin.Int value=2 CALL 'public final fun divAssign ($context_receiver_0: kotlin.Int, other: .Result): kotlin.Unit declared in ' type=kotlin.Unit origin=DIVEQ $receiver: GET_VAR 'val result: .Result declared in .box' type=.Result origin=DIVEQ $context_receiver_0: GET_VAR '$this$with: kotlin.Int declared in .box.' type=kotlin.Int origin=null other: CALL 'public final fun div ($context_receiver_0: kotlin.Int, other: .Result): .Result declared in ' type=.Result origin=DIV $receiver: CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Result' type=.Result origin=null i: CONST Int type=kotlin.Int value=4 $context_receiver_0: GET_VAR '$this$with: kotlin.Int declared in .box.' type=kotlin.Int origin=null other: CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Result' type=.Result origin=null i: CONST Int type=kotlin.Int value=2 RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' WHEN type=kotlin.String origin=IF BRANCH if: WHEN type=kotlin.Boolean origin=ANDAND 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 arg0: CALL 'public final fun (): kotlin.Int declared in .Result' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR 'val result: .Result declared in .box' type=.Result origin=null arg1: CONST Int type=kotlin.Int value=1 then: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ arg0: CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=GET_PROPERTY arg1: CONST Int type=kotlin.Int value=8 BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false then: CONST String type=kotlin.String value="OK" BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST String type=kotlin.String value="fail" FUN name:div visibility:public modality:FINAL <> ($receiver:.Result, $context_receiver_0:kotlin.Int, other:.Result) returnType:.Result [operator] contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:.Result VALUE_PARAMETER name:$context_receiver_0 index:0 type:kotlin.Int VALUE_PARAMETER name:other index:1 type:.Result BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=PLUSEQ : CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ $this: CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=PLUSEQ other: GET_VAR '$context_receiver_0: kotlin.Int declared in .div' type=kotlin.Int origin=null RETURN type=kotlin.Nothing from='public final fun div ($context_receiver_0: kotlin.Int, other: .Result): .Result declared in ' CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Result' type=.Result origin=null i: CALL 'public final fun div (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=DIV $this: CALL 'public final fun (): kotlin.Int declared in .Result' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR ': .Result declared in .div' type=.Result origin=null other: CALL 'public final fun (): kotlin.Int declared in .Result' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR 'other: .Result declared in .div' type=.Result origin=null FUN name:divAssign visibility:public modality:FINAL <> ($receiver:.Result, $context_receiver_0:kotlin.Int, other:.Result) returnType:kotlin.Unit [operator] contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:.Result VALUE_PARAMETER name:$context_receiver_0 index:0 type:kotlin.Int VALUE_PARAMETER name:other index:1 type:.Result BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=PLUSEQ : CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ $this: CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=PLUSEQ other: GET_VAR '$context_receiver_0: kotlin.Int declared in .divAssign' type=kotlin.Int origin=null BLOCK type=kotlin.Unit origin=DIVEQ VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:.Result [val] GET_VAR ': .Result declared in .divAssign' type=.Result origin=null CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .Result' type=kotlin.Unit origin=DIVEQ $this: GET_VAR 'val tmp_1: .Result declared in .divAssign' type=.Result origin=null : CALL 'public final fun div (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=DIVEQ $this: CALL 'public final fun (): kotlin.Int declared in .Result' type=kotlin.Int origin=DIVEQ $this: GET_VAR 'val tmp_1: .Result declared in .divAssign' type=.Result origin=null other: CALL 'public final fun (): kotlin.Int declared in .Result' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR 'other: .Result declared in .divAssign' type=.Result origin=null FUN name:minus visibility:public modality:FINAL <> ($receiver:.Result, $context_receiver_0:kotlin.Int, other:.Result) returnType:.Result [operator] contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:.Result VALUE_PARAMETER name:$context_receiver_0 index:0 type:kotlin.Int VALUE_PARAMETER name:other index:1 type:.Result BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=PLUSEQ : CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ $this: CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=PLUSEQ other: GET_VAR '$context_receiver_0: kotlin.Int declared in .minus' type=kotlin.Int origin=null RETURN type=kotlin.Nothing from='public final fun minus ($context_receiver_0: kotlin.Int, other: .Result): .Result declared in ' CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Result' type=.Result origin=null i: CALL 'public final fun minus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=MINUS $this: CALL 'public final fun (): kotlin.Int declared in .Result' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR ': .Result declared in .minus' type=.Result origin=null other: CALL 'public final fun (): kotlin.Int declared in .Result' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR 'other: .Result declared in .minus' type=.Result origin=null FUN name:minusAssign visibility:public modality:FINAL <> ($receiver:.Result, $context_receiver_0:kotlin.Int, other:.Result) returnType:kotlin.Unit [operator] contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:.Result VALUE_PARAMETER name:$context_receiver_0 index:0 type:kotlin.Int VALUE_PARAMETER name:other index:1 type:.Result BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=PLUSEQ : CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ $this: CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=PLUSEQ other: GET_VAR '$context_receiver_0: kotlin.Int declared in .minusAssign' type=kotlin.Int origin=null BLOCK type=kotlin.Unit origin=MINUSEQ VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:.Result [val] GET_VAR ': .Result declared in .minusAssign' type=.Result origin=null CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .Result' type=kotlin.Unit origin=MINUSEQ $this: GET_VAR 'val tmp_2: .Result declared in .minusAssign' type=.Result origin=null : CALL 'public final fun minus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=MINUSEQ $this: CALL 'public final fun (): kotlin.Int declared in .Result' type=kotlin.Int origin=MINUSEQ $this: GET_VAR 'val tmp_2: .Result declared in .minusAssign' type=.Result origin=null other: CALL 'public final fun (): kotlin.Int declared in .Result' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR 'other: .Result declared in .minusAssign' type=.Result origin=null FUN name:plus visibility:public modality:FINAL <> ($receiver:.Result, $context_receiver_0:kotlin.Int, other:.Result) returnType:.Result [operator] contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:.Result VALUE_PARAMETER name:$context_receiver_0 index:0 type:kotlin.Int VALUE_PARAMETER name:other index:1 type:.Result BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=PLUSEQ : CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ $this: CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=PLUSEQ other: GET_VAR '$context_receiver_0: kotlin.Int declared in .plus' type=kotlin.Int origin=null RETURN type=kotlin.Nothing from='public final fun plus ($context_receiver_0: kotlin.Int, other: .Result): .Result declared in ' CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Result' type=.Result origin=null i: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS $this: CALL 'public final fun (): kotlin.Int declared in .Result' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR ': .Result declared in .plus' type=.Result origin=null other: CALL 'public final fun (): kotlin.Int declared in .Result' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR 'other: .Result declared in .plus' type=.Result origin=null FUN name:plusAssign visibility:public modality:FINAL <> ($receiver:.Result, $context_receiver_0:kotlin.Int, other:.Result) returnType:kotlin.Unit [operator] contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:.Result VALUE_PARAMETER name:$context_receiver_0 index:0 type:kotlin.Int VALUE_PARAMETER name:other index:1 type:.Result BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=PLUSEQ : CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ $this: CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=PLUSEQ other: GET_VAR '$context_receiver_0: kotlin.Int declared in .plusAssign' type=kotlin.Int origin=null BLOCK type=kotlin.Unit origin=PLUSEQ VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:.Result [val] GET_VAR ': .Result declared in .plusAssign' type=.Result origin=null CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .Result' type=kotlin.Unit origin=PLUSEQ $this: GET_VAR 'val tmp_3: .Result declared in .plusAssign' type=.Result origin=null : CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ $this: CALL 'public final fun (): kotlin.Int declared in .Result' type=kotlin.Int origin=PLUSEQ $this: GET_VAR 'val tmp_3: .Result declared in .plusAssign' type=.Result origin=null other: CALL 'public final fun (): kotlin.Int declared in .Result' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR 'other: .Result declared in .plusAssign' type=.Result origin=null FUN name:times visibility:public modality:FINAL <> ($receiver:.Result, $context_receiver_0:kotlin.Int, other:.Result) returnType:.Result [operator] contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:.Result VALUE_PARAMETER name:$context_receiver_0 index:0 type:kotlin.Int VALUE_PARAMETER name:other index:1 type:.Result BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=PLUSEQ : CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ $this: CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=PLUSEQ other: GET_VAR '$context_receiver_0: kotlin.Int declared in .times' type=kotlin.Int origin=null RETURN type=kotlin.Nothing from='public final fun times ($context_receiver_0: kotlin.Int, other: .Result): .Result declared in ' CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Result' type=.Result origin=null i: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=MUL $this: CALL 'public final fun (): kotlin.Int declared in .Result' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR ': .Result declared in .times' type=.Result origin=null other: CALL 'public final fun (): kotlin.Int declared in .Result' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR 'other: .Result declared in .times' type=.Result origin=null FUN name:timesAssign visibility:public modality:FINAL <> ($receiver:.Result, $context_receiver_0:kotlin.Int, other:.Result) returnType:kotlin.Unit [operator] contextReceiverParametersCount: 1 $receiver: VALUE_PARAMETER name: type:.Result VALUE_PARAMETER name:$context_receiver_0 index:0 type:kotlin.Int VALUE_PARAMETER name:other index:1 type:.Result BLOCK_BODY BLOCK type=kotlin.Unit origin=PLUSEQ CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=PLUSEQ : CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ $this: CALL 'public final fun (): kotlin.Int declared in ' type=kotlin.Int origin=PLUSEQ other: GET_VAR '$context_receiver_0: kotlin.Int declared in .timesAssign' type=kotlin.Int origin=null BLOCK type=kotlin.Unit origin=MULTEQ VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:.Result [val] GET_VAR ': .Result declared in .timesAssign' type=.Result origin=null CALL 'public final fun (: kotlin.Int): kotlin.Unit declared in .Result' type=kotlin.Unit origin=MULTEQ $this: GET_VAR 'val tmp_4: .Result declared in .timesAssign' type=.Result origin=null : CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=MULTEQ $this: CALL 'public final fun (): kotlin.Int declared in .Result' type=kotlin.Int origin=MULTEQ $this: GET_VAR 'val tmp_4: .Result declared in .timesAssign' type=.Result origin=null other: CALL 'public final fun (): kotlin.Int declared in .Result' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR 'other: .Result declared in .timesAssign' type=.Result origin=null