JS PIR: store signatures for lowered declarations inside PIR declarations

This commit is contained in:
Anton Bannykh
2021-06-24 14:35:11 +03:00
committed by Anton Bannykh
parent e0bdabcf61
commit bd4e7ffef8
17 changed files with 55 additions and 0 deletions
@@ -24,6 +24,8 @@ internal fun PersistentIrGenerator.generateErrorDeclaration() {
+" get() = _descriptor ?: this." + import("toIrBasedDescriptor", "org.jetbrains.kotlin.ir.descriptors") + "()"
),
id,
signature,
id,
lastModified,
loweredUpTo,
values,
@@ -97,6 +97,8 @@ internal object PersistentIrGenerator {
val IrValueParameterSymbol = irSymbol("IrValueParameterSymbol")
val IrTypeParameterSymbol = irSymbol("IrTypeParameterSymbol")
val IdSignature = import("IdSignature", "org.jetbrains.kotlin.ir.util")
// Constructor parameters
val startOffset = +"override val startOffset: Int"
@@ -196,6 +198,8 @@ internal object PersistentIrGenerator {
)
// Fields
val signature = +"override var signature: " + IdSignature + "? = factory.currentSignature(this)"
val lastModified = +"override var lastModified: Int = factory.stageController.currentStage"
val loweredUpTo = +"override var loweredUpTo: Int = factory.stageController.currentStage"
val values = +"override var values: Array<" + Carrier + ">? = null"
@@ -207,6 +211,8 @@ internal object PersistentIrGenerator {
val annotationsField = +"override var annotationsField: List<" + IrConstructorCall + "> = emptyList()"
val commonFields = lines(
signature,
id,
lastModified,
loweredUpTo,
values,