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
+50 -51
View File
@@ -1,76 +1,75 @@
FILE fqName:<root> fileName:/smartCasts.kt
FUN name:expectsString visibility:public modality:FINAL <> (s:kotlin.String) returnType:kotlin.Unit flags:
VALUE_PARAMETER name:s index:0 type:kotlin.String flags:
FUN name:expectsString visibility:public modality:FINAL <> (s:kotlin.String) returnType:kotlin.Unit flags:[]
VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[]
BLOCK_BODY
FUN name:expectsInt visibility:public modality:FINAL <> (i:kotlin.Int) returnType:kotlin.Unit flags:
VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:
FUN name:expectsInt visibility:public modality:FINAL <> (i:kotlin.Int) returnType:kotlin.Unit flags:[]
VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[]
BLOCK_BODY
FUN name:overloaded visibility:public modality:FINAL <> (s:kotlin.String) returnType:kotlin.String flags:
VALUE_PARAMETER name:s index:0 type:kotlin.String flags:
FUN name:overloaded visibility:public modality:FINAL <> (s:kotlin.String) returnType:kotlin.String flags:[]
VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='overloaded(String): String'
GET_VAR 'value-parameter s: String' type=kotlin.String origin=null
FUN name:overloaded visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Any flags:
VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:
RETURN type=kotlin.Nothing from='FUN name:overloaded visibility:public modality:FINAL <> (s:kotlin.String) returnType:kotlin.String flags:[]'
GET_VAR 'VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[]' type=kotlin.String origin=null
FUN name:overloaded visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Any flags:[]
VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='overloaded(Any): Any'
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Unit flags:
VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:
RETURN type=kotlin.Nothing from='FUN name:overloaded visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Any flags:[]'
GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Unit flags:[]
VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]
BLOCK_BODY
WHEN type=kotlin.Unit origin=IF
BRANCH
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.String
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags: superTypes:[kotlin.Comparable<kotlin.String>; kotlin.CharSequence; java.io.Serializable]
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
then: RETURN type=kotlin.Nothing from='test1(Any): Unit'
GET_OBJECT 'Unit' type=kotlin.Unit
CALL 'println(Int): Unit' type=kotlin.Unit origin=null
message: CALL '<get-length>(): Int' type=kotlin.Int origin=GET_PROPERTY
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable<kotlin.String>; kotlin.CharSequence; java.io.Serializable]
GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
then: RETURN type=kotlin.Nothing from='FUN name:test1 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.Unit flags:[]'
GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]' type=kotlin.Unit
CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Int) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null
message: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:<get-length> visibility:public modality:OPEN <> ($this:kotlin.String) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY
$this: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags: superTypes:[kotlin.Comparable<kotlin.String>; kotlin.CharSequence; java.io.Serializable]
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
CALL 'expectsString(String): Unit' type=kotlin.Unit origin=null
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable<kotlin.String>; kotlin.CharSequence; java.io.Serializable]
GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
CALL 'FUN name:expectsString visibility:public modality:FINAL <> (s:kotlin.String) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null
s: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags: superTypes:[kotlin.Comparable<kotlin.String>; kotlin.CharSequence; java.io.Serializable]
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
CALL 'expectsInt(Int): Unit' type=kotlin.Unit origin=null
i: CALL '<get-length>(): Int' type=kotlin.Int origin=GET_PROPERTY
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable<kotlin.String>; kotlin.CharSequence; java.io.Serializable]
GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
CALL 'FUN name:expectsInt visibility:public modality:FINAL <> (i:kotlin.Int) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null
i: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:<get-length> visibility:public modality:OPEN <> ($this:kotlin.String) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=GET_PROPERTY
$this: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags: superTypes:[kotlin.Comparable<kotlin.String>; kotlin.CharSequence; java.io.Serializable]
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
CALL 'expectsString(String): Unit' type=kotlin.Unit origin=null
s: CALL 'overloaded(String): String' type=kotlin.String origin=null
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable<kotlin.String>; kotlin.CharSequence; java.io.Serializable]
GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
CALL 'FUN name:expectsString visibility:public modality:FINAL <> (s:kotlin.String) returnType:kotlin.Unit flags:[]' type=kotlin.Unit origin=null
s: CALL 'FUN name:overloaded visibility:public modality:FINAL <> (s:kotlin.String) returnType:kotlin.String flags:[]' type=kotlin.String origin=null
s: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags: superTypes:[kotlin.Comparable<kotlin.String>; kotlin.CharSequence; java.io.Serializable]
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.String flags:
VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable<kotlin.String>; kotlin.CharSequence; java.io.Serializable]
GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.String flags:[]
VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]
BLOCK_BODY
WHEN type=kotlin.Unit origin=IF
BRANCH
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.String
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags: superTypes:[kotlin.Comparable<kotlin.String>; kotlin.CharSequence; java.io.Serializable]
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
then: RETURN type=kotlin.Nothing from='test2(Any): String'
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable<kotlin.String>; kotlin.CharSequence; java.io.Serializable]
GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
then: RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.String flags:[]'
CONST String type=kotlin.String value=""
RETURN type=kotlin.Nothing from='test2(Any): String'
CALL 'overloaded(String): String' type=kotlin.String origin=null
RETURN type=kotlin.Nothing from='FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.String flags:[]'
CALL 'FUN name:overloaded visibility:public modality:FINAL <> (s:kotlin.String) returnType:kotlin.String flags:[]' type=kotlin.String origin=null
s: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags: superTypes:[kotlin.Comparable<kotlin.String>; kotlin.CharSequence; java.io.Serializable]
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.String flags:
VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable<kotlin.String>; kotlin.CharSequence; java.io.Serializable]
GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.String flags:[]
VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]
BLOCK_BODY
WHEN type=kotlin.Unit origin=IF
BRANCH
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.String
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags: superTypes:[kotlin.Comparable<kotlin.String>; kotlin.CharSequence; java.io.Serializable]
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
then: RETURN type=kotlin.Nothing from='test3(Any): String'
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable<kotlin.String>; kotlin.CharSequence; java.io.Serializable]
GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
then: RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.String flags:[]'
CONST String type=kotlin.String value=""
RETURN type=kotlin.Nothing from='test3(Any): String'
RETURN type=kotlin.Nothing from='FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:kotlin.String flags:[]'
TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags: superTypes:[kotlin.Comparable<kotlin.String>; kotlin.CharSequence; java.io.Serializable]
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:[] superTypes:[kotlin.Comparable<kotlin.String>; kotlin.CharSequence; java.io.Serializable]
GET_VAR 'VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null