[IR] Make IrMemberAccessExpression.origin mutable

Align it with all other element types where origin is mutable.
This was left unchanged previously probably because the
IrMemberAccessExpression was not handled by the tree generator.
This commit is contained in:
mcpiroman
2023-03-06 16:01:57 +01:00
committed by Alexander Udalov
parent 9831a4b9ec
commit 7a189dc0ac
9 changed files with 9 additions and 11 deletions
@@ -26,7 +26,7 @@ abstract class IrMemberAccessExpression<S : IrSymbol> : IrDeclarationReference()
abstract override val symbol: S
abstract val origin: IrStatementOrigin?
abstract var origin: IrStatementOrigin?
protected abstract val valueArguments: Array<IrExpression?>
@@ -34,7 +34,7 @@ class IrCallImpl(
override val symbol: IrSimpleFunctionSymbol,
typeArgumentsCount: Int,
valueArgumentsCount: Int,
override val origin: IrStatementOrigin? = null,
override var origin: IrStatementOrigin? = null,
override var superQualifierSymbol: IrClassSymbol? = null
) : IrCall() {
@@ -23,7 +23,7 @@ class IrConstructorCallImpl(
typeArgumentsCount: Int,
override var constructorTypeArgumentsCount: Int,
valueArgumentsCount: Int,
override val origin: IrStatementOrigin? = null,
override var origin: IrStatementOrigin? = null,
override var source: SourceElement = SourceElement.NO_SOURCE
) : IrConstructorCall() {
override val typeArguments: Array<IrType?> = arrayOfNulls(typeArgumentsCount)
@@ -33,8 +33,7 @@ class IrDelegatingConstructorCallImpl(
typeArgumentsCount: Int,
valueArgumentsCount: Int,
) : IrDelegatingConstructorCall() {
override val origin: IrStatementOrigin?
get() = null
override var origin: IrStatementOrigin? = null
override val typeArguments: Array<IrType?> = arrayOfNulls(typeArgumentsCount)
@@ -31,8 +31,7 @@ class IrEnumConstructorCallImpl(
typeArgumentsCount: Int,
valueArgumentsCount: Int
) : IrEnumConstructorCall() {
override val origin: IrStatementOrigin?
get() = null
override var origin: IrStatementOrigin? = null
override val typeArguments: Array<IrType?> = arrayOfNulls(typeArgumentsCount)
@@ -31,7 +31,7 @@ class IrFunctionReferenceImpl(
typeArgumentsCount: Int,
valueArgumentsCount: Int,
override var reflectionTarget: IrFunctionSymbol? = symbol,
override val origin: IrStatementOrigin? = null,
override var origin: IrStatementOrigin? = null,
) : IrFunctionReference() {
override val typeArguments: Array<IrType?> = arrayOfNulls(typeArgumentsCount)
@@ -32,7 +32,7 @@ class IrLocalDelegatedPropertyReferenceImpl(
override var delegate: IrVariableSymbol,
override var getter: IrSimpleFunctionSymbol,
override var setter: IrSimpleFunctionSymbol?,
override val origin: IrStatementOrigin? = null,
override var origin: IrStatementOrigin? = null,
) : IrLocalDelegatedPropertyReference() {
override val typeArguments: Array<IrType?>
get() = EMPTY_TYPE_ARGUMENTS
@@ -33,7 +33,7 @@ class IrPropertyReferenceImpl(
override var field: IrFieldSymbol?,
override var getter: IrSimpleFunctionSymbol?,
override var setter: IrSimpleFunctionSymbol?,
override val origin: IrStatementOrigin? = null,
override var origin: IrStatementOrigin? = null,
) : IrPropertyReference() {
override val typeArguments: Array<IrType?> = arrayOfNulls(typeArgumentsCount)
@@ -608,7 +608,7 @@ object IrTree : AbstractTreeBuilder() {
baseDefaultValue = code("null")
}
+symbol(s)
+field("origin", statementOriginType, nullable = true, mutable = false)
+field("origin", statementOriginType, nullable = true)
+listField("valueArguments", expression.copy(nullable = true), mutability = Array, isChild = true) {
generationCallback = {
addModifiers(KModifier.PROTECTED)