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
@@ -63,15 +63,15 @@ FILE fqName:<root> fileName:/destructuringInLambda.kt
BLOCK_BODY
RETURN type=kotlin.Nothing from='toString(): String'
STRING_CONCATENATION type=kotlin.String
CONST String type=kotlin.String value=A(
CONST String type=kotlin.String value=x=
CONST String type=kotlin.String value="A("
CONST String type=kotlin.String value="x="
CALL '<get-x>(): Int' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR 'this@A: A' type=A origin=null
CONST String type=kotlin.String value=,
CONST String type=kotlin.String value=y=
CONST String type=kotlin.String value=", "
CONST String type=kotlin.String value="y="
CALL '<get-y>(): Int' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR 'this@A: A' type=A origin=null
CONST String type=kotlin.String value=)
CONST String type=kotlin.String value=")"
FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:A) returnType:kotlin.Int flags:
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
+1 -1
View File
@@ -5,7 +5,7 @@ FILE fqName:<root> fileName:/extensionLambda.kt
CALL 'run(String.() -> Int) on String: Int' type=kotlin.Int origin=null
<T>: kotlin.String
<R>: kotlin.Int
$receiver: CONST String type=kotlin.String value=42
$receiver: CONST String type=kotlin.String value="42"
block: BLOCK type=kotlin.String.() -> kotlin.Int origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Int flags:
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String flags:
+1 -1
View File
@@ -8,7 +8,7 @@ FILE fqName:<root> fileName:/samAdapter.kt
BLOCK_BODY
RETURN type=kotlin.Nothing from='<anonymous>(): Unit'
CALL 'println(Any?): Unit' type=kotlin.Unit origin=null
message: CONST String type=kotlin.String value=Hello, world!
message: CONST String type=kotlin.String value="Hello, world!"
FUNCTION_REFERENCE '<anonymous>(): Unit' type=() -> kotlin.Unit origin=LAMBDA
CALL 'run(): Unit' type=kotlin.Unit origin=null
$this: GET_VAR 'hello: Runnable' type=java.lang.Runnable origin=null