JVM_IR. Copy annotations properly in MoveCompanionObjectFieldsLowering
This commit is contained in:
+4
-2
@@ -123,8 +123,8 @@ class MoveCompanionObjectFieldsLowering(val context: CommonBackendContext) : Cla
|
|||||||
val variableMap = mutableMapOf<IrVariable, IrVariable>()
|
val variableMap = mutableMapOf<IrVariable, IrVariable>()
|
||||||
|
|
||||||
override fun visitVariable(declaration: IrVariable): IrStatement {
|
override fun visitVariable(declaration: IrVariable): IrStatement {
|
||||||
val newDescriptor = WrappedVariableDescriptor(declaration.descriptor.annotations, declaration.descriptor.source)
|
|
||||||
if (declaration.parent == oldParent) {
|
if (declaration.parent == oldParent) {
|
||||||
|
val newDescriptor = WrappedVariableDescriptor(declaration.descriptor.annotations, declaration.descriptor.source)
|
||||||
val newVariable = IrVariableImpl(
|
val newVariable = IrVariableImpl(
|
||||||
declaration.startOffset, declaration.endOffset,
|
declaration.startOffset, declaration.endOffset,
|
||||||
declaration.origin, IrVariableSymbolImpl(newDescriptor),
|
declaration.origin, IrVariableSymbolImpl(newDescriptor),
|
||||||
@@ -133,6 +133,8 @@ class MoveCompanionObjectFieldsLowering(val context: CommonBackendContext) : Cla
|
|||||||
newDescriptor.bind(this)
|
newDescriptor.bind(this)
|
||||||
parent = newParent
|
parent = newParent
|
||||||
initializer = declaration.initializer
|
initializer = declaration.initializer
|
||||||
|
annotations.addAll(declaration.annotations)
|
||||||
|
|
||||||
}
|
}
|
||||||
variableMap[declaration] = newVariable
|
variableMap[declaration] = newVariable
|
||||||
return super.visitVariable(newVariable)
|
return super.visitVariable(newVariable)
|
||||||
@@ -181,7 +183,7 @@ class MoveCompanionObjectFieldsLowering(val context: CommonBackendContext) : Cla
|
|||||||
).apply {
|
).apply {
|
||||||
descriptor.bind(this)
|
descriptor.bind(this)
|
||||||
parent = fieldParent
|
parent = fieldParent
|
||||||
oldField.annotations.mapTo(annotations) { it }
|
annotations.addAll(oldField.annotations)
|
||||||
}
|
}
|
||||||
val oldInitializer = oldField.initializer
|
val oldInitializer = oldField.initializer
|
||||||
if (oldInitializer != null) {
|
if (oldInitializer != null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user