Psi2Ir: Fold constants when generating IR

This is necessary to avoid stack overflow errors on large constant
expressions.
This commit is contained in:
Steven Schäfer
2021-04-20 21:23:19 +02:00
committed by Dmitry Petrov
parent e87d816994
commit 8c9ad81c76
15 changed files with 69 additions and 31 deletions
+1 -1
View File
@@ -12,7 +12,7 @@ object Definitions {
get
val ktValue: String
field = super.#CONSTANT
field = "constant"
get
}
+1 -1
View File
@@ -19,7 +19,7 @@ FILE fqName:interop fileName:/Definitions.kt
PROPERTY name:ktValue visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:ktValue type:kotlin.String visibility:private [final]
EXPRESSION_BODY
GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:CONSTANT type:kotlin.String visibility:public [final,static]' type=kotlin.String origin=GET_PROPERTY
CONST String type=kotlin.String value="constant"
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-ktValue> visibility:public modality:FINAL <> ($this:interop.Definitions) returnType:kotlin.String
correspondingProperty: PROPERTY name:ktValue visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:interop.Definitions