JS IR: make PIR Carriers immutable
This commit is contained in:
committed by
TeamCityServer
parent
93fb7597e9
commit
027f656790
+7
-6
@@ -143,7 +143,8 @@ internal object PersistentIrGenerator {
|
||||
+"v.container = this"
|
||||
),
|
||||
id
|
||||
) else id) + "setCarrier().${name}Field = v"
|
||||
) else id) + "setCarrier()",
|
||||
+"${name}Field = v"
|
||||
)
|
||||
)
|
||||
).indent()
|
||||
@@ -161,7 +162,7 @@ internal object PersistentIrGenerator {
|
||||
fun carriers(name: String, vararg fields: Field): E = lines(
|
||||
id,
|
||||
+"internal interface ${name}Carrier : DeclarationCarrier" + block(
|
||||
*(fields.map { +"var ${it.name}Field: " + it.type + if (it.lateinit) "?" else "" }.toTypedArray()),
|
||||
*(fields.map { +"val ${it.name}Field: " + it.type + if (it.lateinit) "?" else "" }.toTypedArray()),
|
||||
id,
|
||||
+"override fun clone(): ${name}Carrier " + block(
|
||||
+"return ${name}CarrierImpl(",
|
||||
@@ -179,10 +180,10 @@ internal object PersistentIrGenerator {
|
||||
+"internal class ${name}CarrierImpl(",
|
||||
arrayOf(
|
||||
+"override val lastModified: Int",
|
||||
+"override var parentField: " + IrDeclarationParent + "?",
|
||||
+"override var originField: " + IrDeclarationOrigin,
|
||||
+"override var annotationsField: List<" + IrConstructorCall + ">",
|
||||
*(fields.map { +"override var ${it.name}Field: " + it.type + if (it.lateinit) "?" else "" }.toTypedArray()),
|
||||
+"override val parentField: " + IrDeclarationParent + "?",
|
||||
+"override val originField: " + IrDeclarationOrigin,
|
||||
+"override val annotationsField: List<" + IrConstructorCall + ">",
|
||||
*(fields.map { +"override val ${it.name}Field: " + it.type + if (it.lateinit) "?" else "" }.toTypedArray()),
|
||||
).join(separator = ",\n").indent(),
|
||||
+") : ${name}Carrier",
|
||||
id,
|
||||
|
||||
Reference in New Issue
Block a user