[IR] Fix mangling generic properties from IR-based descriptors
For type parameters of generic properties, `DeclarationDescriptor#getContainingDeclaration` must return the property descriptor instead of the accessor function descriptor. ^KT-57436 Fixed
This commit is contained in:
committed by
Space Team
parent
5f1976c450
commit
5d3fe7547a
@@ -1146,6 +1146,9 @@ fun IrErrorDeclaration.toIrBasedDescriptor() = IrBasedErrorDescriptor(this)
|
||||
@OptIn(ObsoleteDescriptorBasedAPI::class)
|
||||
private fun getContainingDeclaration(declaration: IrDeclaration): DeclarationDescriptor {
|
||||
val parent = declaration.parent
|
||||
if (declaration is IrTypeParameter && parent is IrSimpleFunction) {
|
||||
parent.correspondingPropertySymbol?.owner?.let { return it.toIrBasedDescriptor() }
|
||||
}
|
||||
val parentDescriptor = (parent as IrSymbolOwner).let {
|
||||
if (it is IrDeclaration) it.toIrBasedDescriptor() else it.symbol.descriptor
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user