psi2ir: Merge constant entries in string template expressions

This is required to handle UCNs properly, see KT-28006.

 #KT-28006
This commit is contained in:
Dmitry Petrov
2018-11-06 18:00:35 +03:00
parent 6bb5e028a5
commit bd1491ac8a
84 changed files with 476 additions and 351 deletions
+4 -4
View File
@@ -84,13 +84,13 @@ FILE fqName:<root> fileName:/classMembers.kt
$this: VALUE_PARAMETER name:<this> type:C flags:
BLOCK_BODY
CALL 'println(Any?): Unit' type=kotlin.Unit origin=null
message: CONST String type=kotlin.String value=1
message: CONST String type=kotlin.String value="1"
FUN name:memberExtensionFunction visibility:public modality:FINAL <> ($this:C, $receiver:kotlin.Int) returnType:kotlin.Unit flags:
$this: VALUE_PARAMETER name:<this> type:C flags:
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Int flags:
BLOCK_BODY
CALL 'println(Any?): Unit' type=kotlin.Unit origin=null
message: CONST String type=kotlin.String value=2
message: CONST String type=kotlin.String value="2"
CLASS CLASS name:NestedClass modality:FINAL visibility:public flags: superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:C.NestedClass flags:
CONSTRUCTOR visibility:public <> () returnType:C.NestedClass flags:primary
@@ -101,13 +101,13 @@ FILE fqName:<root> fileName:/classMembers.kt
$this: VALUE_PARAMETER name:<this> type:C.NestedClass flags:
BLOCK_BODY
CALL 'println(Any?): Unit' type=kotlin.Unit origin=null
message: CONST String type=kotlin.String value=3
message: CONST String type=kotlin.String value="3"
FUN name:memberExtensionFunction visibility:public modality:FINAL <> ($this:C.NestedClass, $receiver:kotlin.Int) returnType:kotlin.Unit flags:
$this: VALUE_PARAMETER name:<this> type:C.NestedClass flags:
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Int flags:
BLOCK_BODY
CALL 'println(Any?): Unit' type=kotlin.Unit origin=null
message: CONST String type=kotlin.String value=4
message: CONST String type=kotlin.String value="4"
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags: