From b7c336217fa17dda7895b06fbc97bfff18a4a23d Mon Sep 17 00:00:00 2001 From: Svyatoslav Scherbina Date: Tue, 10 Jan 2023 17:43:37 +0100 Subject: [PATCH] K2: fix accept() impl for IrBasedPropertyAccessorDescriptor Otherwise IdSignatureDescriptor computes wrong signatures for such descriptors. --- .../jetbrains/kotlin/ir/descriptors/IrBasedDescriptors.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/IrBasedDescriptors.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/IrBasedDescriptors.kt index ac67388ca7a..d8b529bba88 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/IrBasedDescriptors.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/IrBasedDescriptors.kt @@ -926,12 +926,18 @@ open class IrBasedPropertyGetterDescriptor(owner: IrSimpleFunction) : IrBasedPro override fun getOverriddenDescriptors() = super.getOverriddenDescriptors().map { it as PropertyGetterDescriptor } override fun getOriginal(): IrBasedPropertyGetterDescriptor = this + + override fun accept(visitor: DeclarationDescriptorVisitor?, data: D): R = + visitor!!.visitPropertyGetterDescriptor(this, data) } open class IrBasedPropertySetterDescriptor(owner: IrSimpleFunction) : IrBasedPropertyAccessorDescriptor(owner), PropertySetterDescriptor { override fun getOverriddenDescriptors() = super.getOverriddenDescriptors().map { it as PropertySetterDescriptor } override fun getOriginal(): IrBasedPropertySetterDescriptor = this + + override fun accept(visitor: DeclarationDescriptorVisitor?, data: D): R = + visitor!!.visitPropertySetterDescriptor(this, data) } open class IrBasedTypeAliasDescriptor(owner: IrTypeAlias) : IrBasedDeclarationDescriptor(owner), TypeAliasDescriptor {