[IR BE] Fix symbol remapping for IrField/IrProperty

- Use appropriate wrapped descriptor
 - Add test
This commit is contained in:
Roman Artemev
2019-06-18 17:07:18 +03:00
committed by romanart
parent f11a87e0c5
commit 50ad21e388
8 changed files with 68 additions and 5 deletions
@@ -61,7 +61,12 @@ internal class DeepCopyIrTreeWithSymbolsForInliner(
}
override fun visitField(declaration: IrField) {
(declaration.descriptor as? WrappedFieldDescriptor)?.bind(declaration)
(declaration.descriptor as WrappedFieldDescriptor).bind(declaration)
declaration.acceptChildrenVoid(this)
}
override fun visitProperty(declaration: IrProperty) {
(declaration.descriptor as WrappedPropertyDescriptor).bind(declaration)
declaration.acceptChildrenVoid(this)
}
@@ -122,6 +127,9 @@ internal class DeepCopyIrTreeWithSymbolsForInliner(
override fun remapDeclaredField(descriptor: PropertyDescriptor) =
WrappedFieldDescriptor(descriptor.annotations, descriptor.source)
override fun remapDeclaredProperty(descriptor: PropertyDescriptor) =
WrappedPropertyDescriptor(descriptor.annotations, descriptor.source)
override fun remapDeclaredSimpleFunction(descriptor: FunctionDescriptor) =
WrappedSimpleFunctionDescriptor(descriptor.annotations, descriptor.source)