diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/descriptors/WrappedDescriptors.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/descriptors/WrappedDescriptors.kt index 6bdeec6edc1..ab60545d2da 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/descriptors/WrappedDescriptors.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/descriptors/WrappedDescriptors.kt @@ -272,6 +272,14 @@ open class WrappedSimpleFunctionDescriptor( annotations: Annotations = Annotations.EMPTY, sourceElement: SourceElement = SourceElement.NO_SOURCE ) : SimpleFunctionDescriptor, WrappedCallableDescriptor(annotations, sourceElement) { + + // TODO: Remove as soon as all IR declarations have their originalDescriptor. + constructor(originalDescriptor: FunctionDescriptor) : this(originalDescriptor.annotations, originalDescriptor.source) { + this.originalDescriptor = originalDescriptor + } + + var originalDescriptor: FunctionDescriptor? = null + override fun getOverriddenDescriptors() = owner.overriddenSymbols.map { it.descriptor } override fun getContainingDeclaration() = (owner.parent as IrSymbolOwner).symbol.descriptor override fun getModality() = owner.modality @@ -810,7 +818,8 @@ open class WrappedFieldDescriptor( override fun isLateInit() = owner.correspondingProperty?.isLateinit ?: false - override fun getExtensionReceiverParameter(): ReceiverParameterDescriptor? = owner.correspondingProperty?.descriptor?.extensionReceiverParameter + override fun getExtensionReceiverParameter(): ReceiverParameterDescriptor? = + owner.correspondingProperty?.descriptor?.extensionReceiverParameter override fun isExternal() = owner.isExternal diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt index dfe9581e99c..e8b036f5369 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt @@ -493,7 +493,7 @@ class LocalDeclarationsLowering( val oldDeclaration = localFunctionContext.declaration as IrSimpleFunction val memberOwner = memberDeclaration.parent - val newDescriptor = WrappedSimpleFunctionDescriptor(oldDeclaration.descriptor.annotations, oldDeclaration.descriptor.source) + val newDescriptor = WrappedSimpleFunctionDescriptor(oldDeclaration.descriptor) val newSymbol = IrSimpleFunctionSymbolImpl(newDescriptor) val newName = generateNameForLiftedDeclaration(oldDeclaration, memberOwner)