[Psi2Ir] Fix overridden symbols of Delegated Properties

This commit is contained in:
Roman Artemev
2021-06-07 14:52:27 +03:00
committed by teamcityserver
parent 32bbc3b8ad
commit cb130181a2
@@ -292,11 +292,20 @@ class ClassGenerator(
irProperty.setter = generateDelegatedFunction(irDelegate, delegatedDescriptor.setter!!, delegateToDescriptor.setter!!) irProperty.setter = generateDelegatedFunction(irDelegate, delegatedDescriptor.setter!!, delegateToDescriptor.setter!!)
} }
irProperty.generateOverrides(delegatedDescriptor)
irProperty.linkCorrespondingPropertySymbol() irProperty.linkCorrespondingPropertySymbol()
return irProperty return irProperty
} }
private fun IrProperty.generateOverrides(propertyDescriptor: PropertyDescriptor) {
overriddenSymbols =
propertyDescriptor.overriddenDescriptors.map { overriddenPropertyDescriptor ->
context.symbolTable.referenceProperty(overriddenPropertyDescriptor.original)
}
}
private fun generateDelegatedFunction( private fun generateDelegatedFunction(
irClass: IrClass, irClass: IrClass,
irDelegate: IrField, irDelegate: IrField,