From 6163a8cf56170d20260828a1b182b30c7d733efb Mon Sep 17 00:00:00 2001 From: pyos Date: Tue, 1 Oct 2019 11:22:00 +0200 Subject: [PATCH] IR: keep source container when making functions static --- .../src/org/jetbrains/kotlin/backend/common/ir/IrUtils.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/IrUtils.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/IrUtils.kt index 5c880875172..bf34e6ff7c4 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/IrUtils.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/IrUtils.kt @@ -38,6 +38,7 @@ import org.jetbrains.kotlin.ir.types.impl.makeTypeProjection import org.jetbrains.kotlin.ir.util.* import org.jetbrains.kotlin.ir.visitors.IrElementVisitor import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.serialization.deserialization.descriptors.DescriptorWithContainerSource import java.io.StringWriter @@ -506,7 +507,9 @@ fun createStaticFunctionWithReceivers( origin: IrDeclarationOrigin = oldFunction.origin, modality: Modality = Modality.FINAL ): IrSimpleFunction { - val descriptor = WrappedSimpleFunctionDescriptor(Annotations.EMPTY, oldFunction.descriptor.source) + val descriptor = (oldFunction.descriptor as? DescriptorWithContainerSource)?.let { + WrappedFunctionDescriptorWithContainerSource(it.containerSource) + } ?: WrappedSimpleFunctionDescriptor(Annotations.EMPTY, oldFunction.descriptor.source) return IrFunctionImpl( oldFunction.startOffset, oldFunction.endOffset, origin,