[Psi2Ir] Fix overridden symbols of Delegated Properties
This commit is contained in:
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,
|
||||||
|
|||||||
Reference in New Issue
Block a user