Refactor IrWhen.
This commit is contained in:
+54
-37
@@ -18,11 +18,14 @@ FILE /elvis.kt
|
||||
VAR IR_TEMPORARY_VARIABLE val tmp0_elvis_lhs: kotlin.Any?
|
||||
GET_VAR 'value-parameter a: Any?' type=kotlin.Any? origin=null
|
||||
WHEN type=kotlin.Any origin=null
|
||||
if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? origin=null
|
||||
arg1: CONST Null type=kotlin.Nothing? value='null'
|
||||
then: GET_VAR 'value-parameter b: Any' type=kotlin.Any origin=null
|
||||
else: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? origin=null
|
||||
BRANCH
|
||||
if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? origin=null
|
||||
arg1: CONST Null type=kotlin.Nothing? value='null'
|
||||
then: GET_VAR 'value-parameter b: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value='true'
|
||||
then: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? origin=null
|
||||
FUN public fun test2(a: kotlin.String?, b: kotlin.Any): kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='test2(String?, Any): Any'
|
||||
@@ -30,35 +33,43 @@ FILE /elvis.kt
|
||||
VAR IR_TEMPORARY_VARIABLE val tmp0_elvis_lhs: kotlin.String?
|
||||
GET_VAR 'value-parameter a: String?' type=kotlin.String? origin=null
|
||||
WHEN type=kotlin.Any origin=null
|
||||
if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'tmp0_elvis_lhs: String?' type=kotlin.String? origin=null
|
||||
arg1: CONST Null type=kotlin.Nothing? value='null'
|
||||
then: GET_VAR 'value-parameter b: Any' type=kotlin.Any origin=null
|
||||
else: GET_VAR 'tmp0_elvis_lhs: String?' type=kotlin.String? origin=null
|
||||
BRANCH
|
||||
if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'tmp0_elvis_lhs: String?' type=kotlin.String? origin=null
|
||||
arg1: CONST Null type=kotlin.Nothing? value='null'
|
||||
then: GET_VAR 'value-parameter b: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value='true'
|
||||
then: GET_VAR 'tmp0_elvis_lhs: String?' type=kotlin.String? origin=null
|
||||
FUN public fun test3(a: kotlin.Any?, b: kotlin.Any?): kotlin.String
|
||||
BLOCK_BODY
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
if: TYPE_OP origin=NOT_INSTANCEOF typeOperand=kotlin.String
|
||||
GET_VAR 'value-parameter b: Any?' type=kotlin.Any? origin=null
|
||||
then: RETURN type=kotlin.Nothing from='test3(Any?, Any?): String'
|
||||
CONST String type=kotlin.String value=''
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
if: TYPE_OP origin=NOT_INSTANCEOF typeOperand=kotlin.String?
|
||||
GET_VAR 'value-parameter a: Any?' type=kotlin.Any? origin=null
|
||||
then: RETURN type=kotlin.Nothing from='test3(Any?, Any?): String'
|
||||
CONST String type=kotlin.String value=''
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP origin=NOT_INSTANCEOF typeOperand=kotlin.String
|
||||
GET_VAR 'value-parameter b: Any?' type=kotlin.Any? origin=null
|
||||
then: RETURN type=kotlin.Nothing from='test3(Any?, Any?): String'
|
||||
CONST String type=kotlin.String value=''
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP origin=NOT_INSTANCEOF typeOperand=kotlin.String?
|
||||
GET_VAR 'value-parameter a: Any?' type=kotlin.Any? origin=null
|
||||
then: RETURN type=kotlin.Nothing from='test3(Any?, Any?): String'
|
||||
CONST String type=kotlin.String value=''
|
||||
RETURN type=kotlin.Nothing from='test3(Any?, Any?): String'
|
||||
BLOCK type=kotlin.String origin=ELVIS
|
||||
VAR IR_TEMPORARY_VARIABLE val tmp0_elvis_lhs: kotlin.Any?
|
||||
GET_VAR 'value-parameter a: Any?' type=kotlin.Any? origin=null
|
||||
WHEN type=kotlin.String origin=null
|
||||
if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? origin=null
|
||||
arg1: CONST Null type=kotlin.Nothing? value='null'
|
||||
then: TYPE_OP origin=IMPLICIT_CAST typeOperand=kotlin.String
|
||||
GET_VAR 'value-parameter b: Any?' type=kotlin.Any? origin=null
|
||||
else: TYPE_OP origin=IMPLICIT_CAST typeOperand=kotlin.String
|
||||
GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? origin=null
|
||||
BRANCH
|
||||
if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? origin=null
|
||||
arg1: CONST Null type=kotlin.Nothing? value='null'
|
||||
then: TYPE_OP origin=IMPLICIT_CAST typeOperand=kotlin.String
|
||||
GET_VAR 'value-parameter b: Any?' type=kotlin.Any? origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value='true'
|
||||
then: TYPE_OP origin=IMPLICIT_CAST typeOperand=kotlin.String
|
||||
GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? origin=null
|
||||
FUN public fun test4(x: kotlin.Any): kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='test4(Any): Any'
|
||||
@@ -66,11 +77,14 @@ FILE /elvis.kt
|
||||
VAR IR_TEMPORARY_VARIABLE val tmp0_elvis_lhs: kotlin.Any?
|
||||
CALL '<get-p>(): Any?' type=kotlin.Any? origin=GET_PROPERTY
|
||||
WHEN type=kotlin.Any origin=null
|
||||
if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? origin=null
|
||||
arg1: CONST Null type=kotlin.Nothing? value='null'
|
||||
then: GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
else: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? origin=null
|
||||
BRANCH
|
||||
if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? origin=null
|
||||
arg1: CONST Null type=kotlin.Nothing? value='null'
|
||||
then: GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value='true'
|
||||
then: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? origin=null
|
||||
FUN public fun test5(x: kotlin.Any): kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='test5(Any): Any'
|
||||
@@ -78,8 +92,11 @@ FILE /elvis.kt
|
||||
VAR IR_TEMPORARY_VARIABLE val tmp0_elvis_lhs: kotlin.Any?
|
||||
CALL 'foo(): Any?' type=kotlin.Any? origin=null
|
||||
WHEN type=kotlin.Any origin=null
|
||||
if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? origin=null
|
||||
arg1: CONST Null type=kotlin.Nothing? value='null'
|
||||
then: GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
else: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? origin=null
|
||||
BRANCH
|
||||
if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? origin=null
|
||||
arg1: CONST Null type=kotlin.Nothing? value='null'
|
||||
then: GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value='true'
|
||||
then: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? origin=null
|
||||
|
||||
Reference in New Issue
Block a user