9aa8fb80e7
NB: in order to produce correct IR origins, the source element kinds for some FIR elements has been changed. As a side effect, mapping PSI to FIR slightly changed: namely, for `a[b]++`, `a[b]` used to be mapped on `set` call or callable reference, but now it is mapped on `get` call. ^KT-61891: Fixed ^KT-64387: Fixed
98 lines
6.9 KiB
Plaintext
Vendored
98 lines
6.9 KiB
Plaintext
Vendored
FILE fqName:<root> fileName:/dynamicMemberIncrementDecrement.kt
|
|
FUN name:testMemberIncrementDecrement visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit
|
|
VALUE_PARAMETER name:d index:0 type:dynamic
|
|
BLOCK_BODY
|
|
VAR name:t1 type:dynamic [val]
|
|
DYN_OP operator=PREFIX_INCREMENT type=dynamic
|
|
receiver: GET_VAR 'd: dynamic declared in <root>.testMemberIncrementDecrement' type=dynamic origin=null
|
|
VAR name:t2 type:dynamic [val]
|
|
DYN_OP operator=PREFIX_DECREMENT type=dynamic
|
|
receiver: GET_VAR 'd: dynamic declared in <root>.testMemberIncrementDecrement' type=dynamic origin=null
|
|
VAR name:t3 type:dynamic [val]
|
|
DYN_OP operator=POSTFIX_INCREMENT type=dynamic
|
|
receiver: DYN_MEMBER memberName='postfixIncr' type=dynamic
|
|
GET_VAR 'd: dynamic declared in <root>.testMemberIncrementDecrement' type=dynamic origin=null
|
|
VAR name:t4 type:dynamic [val]
|
|
DYN_OP operator=POSTFIX_DECREMENT type=dynamic
|
|
receiver: DYN_MEMBER memberName='postfixDecr' type=dynamic
|
|
GET_VAR 'd: dynamic declared in <root>.testMemberIncrementDecrement' type=dynamic origin=null
|
|
FUN name:testSafeMemberIncrementDecrement visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit
|
|
VALUE_PARAMETER name:d index:0 type:dynamic
|
|
BLOCK_BODY
|
|
VAR name:t1 type:dynamic [val]
|
|
BLOCK type=dynamic origin=SAFE_CALL
|
|
VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:dynamic [val]
|
|
GET_VAR 'd: dynamic declared in <root>.testSafeMemberIncrementDecrement' type=dynamic origin=null
|
|
WHEN type=dynamic origin=null
|
|
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: GET_VAR 'val tmp_0: dynamic declared in <root>.testSafeMemberIncrementDecrement' type=dynamic origin=null
|
|
arg1: CONST Null type=kotlin.Nothing? value=null
|
|
then: CONST Null type=kotlin.Nothing? value=null
|
|
BRANCH
|
|
if: CONST Boolean type=kotlin.Boolean value=true
|
|
then: BLOCK type=dynamic origin=PREFIX_INCR
|
|
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:dynamic [val]
|
|
GET_VAR 'val tmp_0: dynamic declared in <root>.testSafeMemberIncrementDecrement' type=dynamic origin=null
|
|
DYN_OP operator=EQ type=kotlin.Unit
|
|
receiver: DYN_MEMBER memberName='prefixIncr' type=kotlin.Unit
|
|
GET_VAR 'val tmp_1: dynamic declared in <root>.testSafeMemberIncrementDecrement' type=dynamic origin=null
|
|
0: DYN_OP operator=PREFIX_INCREMENT type=dynamic
|
|
receiver: DYN_MEMBER memberName='prefixIncr' type=dynamic
|
|
GET_VAR 'val tmp_1: dynamic declared in <root>.testSafeMemberIncrementDecrement' type=dynamic origin=null
|
|
DYN_MEMBER memberName='prefixIncr' type=dynamic
|
|
GET_VAR 'val tmp_1: dynamic declared in <root>.testSafeMemberIncrementDecrement' type=dynamic origin=null
|
|
VAR name:t2 type:dynamic [val]
|
|
BLOCK type=dynamic origin=SAFE_CALL
|
|
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:dynamic [val]
|
|
GET_VAR 'd: dynamic declared in <root>.testSafeMemberIncrementDecrement' type=dynamic origin=null
|
|
WHEN type=dynamic origin=null
|
|
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: GET_VAR 'val tmp_2: dynamic declared in <root>.testSafeMemberIncrementDecrement' type=dynamic origin=null
|
|
arg1: CONST Null type=kotlin.Nothing? value=null
|
|
then: CONST Null type=kotlin.Nothing? value=null
|
|
BRANCH
|
|
if: CONST Boolean type=kotlin.Boolean value=true
|
|
then: BLOCK type=dynamic origin=PREFIX_DECR
|
|
VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:dynamic [val]
|
|
GET_VAR 'val tmp_2: dynamic declared in <root>.testSafeMemberIncrementDecrement' type=dynamic origin=null
|
|
DYN_OP operator=EQ type=kotlin.Unit
|
|
receiver: DYN_MEMBER memberName='prefixDecr' type=kotlin.Unit
|
|
GET_VAR 'val tmp_3: dynamic declared in <root>.testSafeMemberIncrementDecrement' type=dynamic origin=null
|
|
0: DYN_OP operator=PREFIX_DECREMENT type=dynamic
|
|
receiver: DYN_MEMBER memberName='prefixDecr' type=dynamic
|
|
GET_VAR 'val tmp_3: dynamic declared in <root>.testSafeMemberIncrementDecrement' type=dynamic origin=null
|
|
DYN_MEMBER memberName='prefixDecr' type=dynamic
|
|
GET_VAR 'val tmp_3: dynamic declared in <root>.testSafeMemberIncrementDecrement' type=dynamic origin=null
|
|
VAR name:t3 type:dynamic [val]
|
|
BLOCK type=dynamic origin=SAFE_CALL
|
|
VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:dynamic [val]
|
|
GET_VAR 'd: dynamic declared in <root>.testSafeMemberIncrementDecrement' type=dynamic origin=null
|
|
WHEN type=dynamic origin=null
|
|
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: GET_VAR 'val tmp_4: dynamic declared in <root>.testSafeMemberIncrementDecrement' type=dynamic origin=null
|
|
arg1: CONST Null type=kotlin.Nothing? value=null
|
|
then: CONST Null type=kotlin.Nothing? value=null
|
|
BRANCH
|
|
if: CONST Boolean type=kotlin.Boolean value=true
|
|
then: DYN_OP operator=POSTFIX_INCREMENT type=dynamic
|
|
receiver: DYN_MEMBER memberName='postfixIncr' type=dynamic
|
|
GET_VAR 'val tmp_4: dynamic declared in <root>.testSafeMemberIncrementDecrement' type=dynamic origin=null
|
|
VAR name:t4 type:dynamic [val]
|
|
BLOCK type=dynamic origin=SAFE_CALL
|
|
VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:dynamic [val]
|
|
GET_VAR 'd: dynamic declared in <root>.testSafeMemberIncrementDecrement' type=dynamic origin=null
|
|
WHEN type=dynamic origin=null
|
|
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: GET_VAR 'val tmp_5: dynamic declared in <root>.testSafeMemberIncrementDecrement' type=dynamic origin=null
|
|
arg1: CONST Null type=kotlin.Nothing? value=null
|
|
then: CONST Null type=kotlin.Nothing? value=null
|
|
BRANCH
|
|
if: CONST Boolean type=kotlin.Boolean value=true
|
|
then: DYN_OP operator=POSTFIX_DECREMENT type=dynamic
|
|
receiver: DYN_MEMBER memberName='postfixDecr' type=dynamic
|
|
GET_VAR 'val tmp_5: dynamic declared in <root>.testSafeMemberIncrementDecrement' type=dynamic origin=null
|