From 354e5d86ee216c51ce549440bf9a0b2ab8e2a9bc Mon Sep 17 00:00:00 2001 From: pyos Date: Fri, 4 Oct 2019 10:50:50 +0200 Subject: [PATCH] JVM_IR: use correct descriptor type in JvmStaticAnnotationLowering --- .../kotlin/backend/jvm/lower/JvmStaticAnnotationLowering.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStaticAnnotationLowering.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStaticAnnotationLowering.kt index 78512e8650e..a20560070a5 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStaticAnnotationLowering.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStaticAnnotationLowering.kt @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.backend.jvm.lower import org.jetbrains.kotlin.backend.common.ClassLoweringPass import org.jetbrains.kotlin.backend.common.FileLoweringPass +import org.jetbrains.kotlin.backend.common.descriptors.WrappedFunctionDescriptorWithContainerSource import org.jetbrains.kotlin.backend.common.descriptors.WrappedSimpleFunctionDescriptor import org.jetbrains.kotlin.backend.common.ir.* import org.jetbrains.kotlin.backend.common.lower.createIrBuilder @@ -34,6 +35,7 @@ import org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid import org.jetbrains.kotlin.ir.visitors.transformChildrenVoid import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.resolve.annotations.JVM_STATIC_ANNOTATION_FQ_NAME +import org.jetbrains.kotlin.serialization.deserialization.descriptors.DescriptorWithContainerSource internal val jvmStaticAnnotationPhase = makeIrFilePhase( ::JvmStaticAnnotationLowering, @@ -221,7 +223,9 @@ private class MakeCallsStatic( } private fun IrSimpleFunction.copyRemovingDispatchReceiver(): IrSimpleFunction { - val newDescriptor = WrappedSimpleFunctionDescriptor(descriptor) + val newDescriptor = (descriptor as? DescriptorWithContainerSource)?.let { + WrappedFunctionDescriptorWithContainerSource(it.containerSource) + } ?: WrappedSimpleFunctionDescriptor(descriptor) return IrFunctionImpl( startOffset, endOffset, origin, IrSimpleFunctionSymbolImpl(newDescriptor),