IR: remove IrConstantObject.putArgument, IrConstantArray.putElement

Change `valueArguments` and `elements` types to be mutable lists. This
will simplify IR tree generator.
This commit is contained in:
Alexander Udalov
2022-01-12 02:01:11 +01:00
parent 816acaadc3
commit 81106526b1
3 changed files with 4 additions and 17 deletions
@@ -19,12 +19,10 @@ abstract class IrConstantPrimitive : IrConstantValue() {
abstract class IrConstantObject : IrConstantValue() {
abstract val constructor: IrConstructorSymbol
abstract val valueArguments: List<IrConstantValue>
abstract val valueArguments: MutableList<IrConstantValue>
abstract val typeArguments: List<IrType>
abstract fun putArgument(index: Int, value: IrConstantValue)
}
abstract class IrConstantArray : IrConstantValue() {
abstract val elements: List<IrConstantValue>
abstract fun putElement(index: Int, value: IrConstantValue)
abstract val elements: MutableList<IrConstantValue>
}
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.ir.expressions.impl
import org.jetbrains.kotlin.ir.expressions.*
import org.jetbrains.kotlin.ir.symbols.IrConstructorSymbol
import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol
import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.ir.util.constructedClassType
import org.jetbrains.kotlin.ir.util.transformInPlace
@@ -58,10 +57,6 @@ class IrConstantObjectImpl constructor(
return visitor.visitConstantObject(this, data)
}
override fun putArgument(index: Int, value: IrConstantValue) {
valueArguments[index] = value
}
override fun contentEquals(other: IrConstantValue): Boolean =
other is IrConstantObject &&
other.type == type &&
@@ -99,9 +94,6 @@ class IrConstantArrayImpl(
initElements: List<IrConstantValue>,
) : IrConstantArray() {
override val elements = SmartList(initElements)
override fun putElement(index: Int, value: IrConstantValue) {
elements[index] = value
}
override fun contentEquals(other: IrConstantValue): Boolean =
other is IrConstantArray &&