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
@@ -37,17 +37,17 @@ FILE fqName:<root> fileName:/enumEntriesWithAnnotations.kt
ENUM_ENTRY name:ENTRY1
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=ENTRY1
x: CONST String type=kotlin.String value="ENTRY1"
init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum()'
ENUM_ENTRY name:ENTRY2
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=ENTRY2
x: CONST String type=kotlin.String value="ENTRY2"
init: ENUM_CONSTRUCTOR_CALL 'constructor ENTRY2()'
class: CLASS ENUM_ENTRY name:ENTRY2 modality:FINAL visibility:public flags: superTypes:[TestEnum]
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=ENTRY2
x: CONST String type=kotlin.String value="ENTRY2"
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:TestEnum.ENTRY2 flags:
CONSTRUCTOR visibility:private <> () returnType:TestEnum.ENTRY2 flags:primary
BLOCK_BODY