From cb130181a201fcecfe451e8896dabe4b2726485f Mon Sep 17 00:00:00 2001 From: Roman Artemev Date: Mon, 7 Jun 2021 14:52:27 +0300 Subject: [PATCH] [Psi2Ir] Fix overridden symbols of Delegated Properties --- .../jetbrains/kotlin/psi2ir/generators/ClassGenerator.kt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ClassGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ClassGenerator.kt index 8c51b446a9d..9de5c0db90b 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ClassGenerator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ClassGenerator.kt @@ -292,11 +292,20 @@ class ClassGenerator( irProperty.setter = generateDelegatedFunction(irDelegate, delegatedDescriptor.setter!!, delegateToDescriptor.setter!!) } + irProperty.generateOverrides(delegatedDescriptor) + irProperty.linkCorrespondingPropertySymbol() return irProperty } + private fun IrProperty.generateOverrides(propertyDescriptor: PropertyDescriptor) { + overriddenSymbols = + propertyDescriptor.overriddenDescriptors.map { overriddenPropertyDescriptor -> + context.symbolTable.referenceProperty(overriddenPropertyDescriptor.original) + } + } + private fun generateDelegatedFunction( irClass: IrClass, irDelegate: IrField,