IR: don't use descriptors in rendering (work in progress)

There's some descriptor-based code remaining. Need some more work on IR.
This commit is contained in:
Dmitry Petrov
2019-03-14 14:17:26 +03:00
parent bd3d5a9dbb
commit e49eae528c
319 changed files with 18613 additions and 18703 deletions
@@ -1,83 +1,83 @@
FILE fqName:<root> fileName:/dynamicMemberIncrementDecrement.kt
FUN name:testMemberIncrementDecrement visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit flags:
VALUE_PARAMETER name:d index:0 type:dynamic flags:
FUN name:testMemberIncrementDecrement visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit flags:[]
VALUE_PARAMETER name:d index:0 type:dynamic flags:[]
BLOCK_BODY
VAR name:t1 type:dynamic flags:val
VAR name:t1 type:dynamic flags:[val]
DYN_OP operator=PREFIX_INCREMENT type=dynamic
receiver: DYN_MEMBER memberName='prefixIncr' type=dynamic
GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null
VAR name:t2 type:dynamic flags:val
GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null
VAR name:t2 type:dynamic flags:[val]
DYN_OP operator=PREFIX_DECREMENT type=dynamic
receiver: DYN_MEMBER memberName='prefixDecr' type=dynamic
GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null
VAR name:t3 type:dynamic flags:val
GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null
VAR name:t3 type:dynamic flags:[val]
DYN_OP operator=POSTFIX_INCREMENT type=dynamic
receiver: DYN_MEMBER memberName='postfixIncr' type=dynamic
GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null
VAR name:t4 type:dynamic flags:val
GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null
VAR name:t4 type:dynamic flags:[val]
DYN_OP operator=POSTFIX_DECREMENT type=dynamic
receiver: DYN_MEMBER memberName='postfixDecr' type=dynamic
GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null
FUN name:testSafeMemberIncrementDecrement visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit flags:
VALUE_PARAMETER name:d index:0 type:dynamic flags:
GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null
FUN name:testSafeMemberIncrementDecrement visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Unit flags:[]
VALUE_PARAMETER name:d index:0 type:dynamic flags:[]
BLOCK_BODY
VAR name:t1 type:dynamic flags:val
VAR name:t1 type:dynamic flags:[val]
BLOCK type=dynamic origin=SAFE_CALL
VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:val
GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:[val]
GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null
WHEN type=dynamic origin=null
BRANCH
if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'tmp0_safe_receiver: dynamic' type=dynamic origin=null
if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:[val]' 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=PREFIX_INCREMENT type=dynamic
receiver: DYN_MEMBER memberName='prefixIncr' type=dynamic
GET_VAR 'tmp0_safe_receiver: dynamic' type=dynamic origin=null
VAR name:t2 type:dynamic flags:val
GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null
VAR name:t2 type:dynamic flags:[val]
BLOCK type=dynamic origin=SAFE_CALL
VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:dynamic flags:val
GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:dynamic flags:[val]
GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null
WHEN type=dynamic origin=null
BRANCH
if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'tmp1_safe_receiver: dynamic' type=dynamic origin=null
if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:dynamic flags:[val]' 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=PREFIX_DECREMENT type=dynamic
receiver: DYN_MEMBER memberName='prefixDecr' type=dynamic
GET_VAR 'tmp1_safe_receiver: dynamic' type=dynamic origin=null
VAR name:t3 type:dynamic flags:val
GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null
VAR name:t3 type:dynamic flags:[val]
BLOCK type=dynamic origin=SAFE_CALL
VAR IR_TEMPORARY_VARIABLE name:tmp2_safe_receiver type:dynamic flags:val
GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp2_safe_receiver type:dynamic flags:[val]
GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null
WHEN type=dynamic origin=null
BRANCH
if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'tmp2_safe_receiver: dynamic' type=dynamic origin=null
if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_safe_receiver type:dynamic flags:[val]' 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 'tmp2_safe_receiver: dynamic' type=dynamic origin=null
VAR name:t4 type:dynamic flags:val
GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp2_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null
VAR name:t4 type:dynamic flags:[val]
BLOCK type=dynamic origin=SAFE_CALL
VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:dynamic flags:val
GET_VAR 'value-parameter d: dynamic' type=dynamic origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:dynamic flags:[val]
GET_VAR 'VALUE_PARAMETER name:d index:0 type:dynamic flags:[]' type=dynamic origin=null
WHEN type=dynamic origin=null
BRANCH
if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'tmp3_safe_receiver: dynamic' type=dynamic origin=null
if: CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ
arg0: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:dynamic flags:[val]' 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 'tmp3_safe_receiver: dynamic' type=dynamic origin=null
GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp3_safe_receiver type:dynamic flags:[val]' type=dynamic origin=null