Add type operand symbol for type operator expression

This commit is contained in:
Dmitry Petrov
2018-02-22 12:39:04 +03:00
parent e89047d2cc
commit b206bf199f
65 changed files with 442 additions and 61 deletions
@@ -356,11 +356,13 @@ FILE fqName:<root> fileName:/dataClassWithArrayMembers.kt
WHEN type=kotlin.Unit origin=null
BRANCH
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=Test1
typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public flags:data
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
CONST Boolean type=kotlin.Boolean value=false
VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test1 flags:val
TYPE_OP type=Test1 origin=CAST typeOperand=Test1
typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public flags:data
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
WHEN type=kotlin.Unit origin=null
BRANCH
@@ -535,11 +537,13 @@ FILE fqName:<root> fileName:/dataClassWithArrayMembers.kt
WHEN type=kotlin.Unit origin=null
BRANCH
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=Test2<T>
typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public flags:data
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
CONST Boolean type=kotlin.Boolean value=false
VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test2<T> flags:val
TYPE_OP type=Test2<T> origin=CAST typeOperand=Test2<T>
typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public flags:data
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
WHEN type=kotlin.Unit origin=null
BRANCH
@@ -641,11 +645,13 @@ FILE fqName:<root> fileName:/dataClassWithArrayMembers.kt
WHEN type=kotlin.Unit origin=null
BRANCH
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=Test3
typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public flags:data
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
CONST Boolean type=kotlin.Boolean value=false
VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test3 flags:val
TYPE_OP type=Test3 origin=CAST typeOperand=Test3
typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public flags:data
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
WHEN type=kotlin.Unit origin=null
BRANCH
+6
View File
@@ -143,11 +143,13 @@ FILE fqName:<root> fileName:/dataClasses.kt
WHEN type=kotlin.Unit origin=null
BRANCH
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=Test1
typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public flags:data
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
CONST Boolean type=kotlin.Boolean value=false
VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test1 flags:val
TYPE_OP type=Test1 origin=CAST typeOperand=Test1
typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public flags:data
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
WHEN type=kotlin.Unit origin=null
BRANCH
@@ -268,11 +270,13 @@ FILE fqName:<root> fileName:/dataClasses.kt
WHEN type=kotlin.Unit origin=null
BRANCH
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=Test2
typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public flags:data
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
CONST Boolean type=kotlin.Boolean value=false
VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test2 flags:val
TYPE_OP type=Test2 origin=CAST typeOperand=Test2
typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public flags:data
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
WHEN type=kotlin.Unit origin=null
BRANCH
@@ -486,11 +490,13 @@ FILE fqName:<root> fileName:/dataClasses.kt
WHEN type=kotlin.Unit origin=null
BRANCH
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=Test3
typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public flags:data
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
CONST Boolean type=kotlin.Boolean value=false
VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test3 flags:val
TYPE_OP type=Test3 origin=CAST typeOperand=Test3
typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public flags:data
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
WHEN type=kotlin.Unit origin=null
BRANCH
@@ -72,6 +72,7 @@ FILE fqName:<root> fileName:/dataClassesGeneric.kt
if: CONST Boolean type=kotlin.Boolean value=true
then: CALL 'hashCode(): Int' type=kotlin.Int origin=null
$this: TYPE_OP type=kotlin.Any origin=IMPLICIT_CAST typeOperand=kotlin.Any
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
GET_VAR 'tmp1: T' type=T origin=null
RETURN type=kotlin.Nothing from='hashCode(): Int'
GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null
@@ -91,11 +92,13 @@ FILE fqName:<root> fileName:/dataClassesGeneric.kt
WHEN type=kotlin.Unit origin=null
BRANCH
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=Test1<T>
typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public flags:data
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
CONST Boolean type=kotlin.Boolean value=false
VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test1<T> flags:val
TYPE_OP type=Test1<T> origin=CAST typeOperand=Test1<T>
typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public flags:data
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
WHEN type=kotlin.Unit origin=null
BRANCH
@@ -84,11 +84,13 @@ FILE fqName:<root> fileName:/lambdaInDataClassDefaultParameter.kt
WHEN type=kotlin.Unit origin=null
BRANCH
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=A
typeOperand: CLASS CLASS name:A modality:FINAL visibility:public flags:data
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
CONST Boolean type=kotlin.Boolean value=false
VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:A flags:val
TYPE_OP type=A origin=CAST typeOperand=A
typeOperand: CLASS CLASS name:A modality:FINAL visibility:public flags:data
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
WHEN type=kotlin.Unit origin=null
BRANCH
@@ -202,11 +204,13 @@ FILE fqName:<root> fileName:/lambdaInDataClassDefaultParameter.kt
WHEN type=kotlin.Unit origin=null
BRANCH
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=B
typeOperand: CLASS CLASS name:B modality:FINAL visibility:public flags:data
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
CONST Boolean type=kotlin.Boolean value=false
VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:B flags:val
TYPE_OP type=B origin=CAST typeOperand=B
typeOperand: CLASS CLASS name:B modality:FINAL visibility:public flags:data
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
WHEN type=kotlin.Unit origin=null
BRANCH