Fixed containing declaration during copying of function descriptor
This commit is contained in:
+3
-2
@@ -150,7 +150,8 @@ internal class DeepCopyIrTreeWithDescriptors(val targetFunction: IrFunction, val
|
|||||||
|
|
||||||
private fun copySimpleFunctionDescriptor(oldDescriptor: SimpleFunctionDescriptor) : FunctionDescriptor {
|
private fun copySimpleFunctionDescriptor(oldDescriptor: SimpleFunctionDescriptor) : FunctionDescriptor {
|
||||||
|
|
||||||
val memberOwner = targetFunction.descriptor
|
val oldContainingDeclaration = oldDescriptor.containingDeclaration
|
||||||
|
val memberOwner = descriptorSubstituteMap[oldContainingDeclaration] ?: targetFunction.descriptor
|
||||||
val newDescriptor = SimpleFunctionDescriptorImpl.create(
|
val newDescriptor = SimpleFunctionDescriptorImpl.create(
|
||||||
memberOwner,
|
memberOwner,
|
||||||
oldDescriptor.annotations,
|
oldDescriptor.annotations,
|
||||||
@@ -164,7 +165,7 @@ internal class DeepCopyIrTreeWithDescriptors(val targetFunction: IrFunction, val
|
|||||||
if (oldDispatchReceiverParameter == null) null
|
if (oldDispatchReceiverParameter == null) null
|
||||||
else descriptorSubstituteMap[oldDispatchReceiverParameter]
|
else descriptorSubstituteMap[oldDispatchReceiverParameter]
|
||||||
val newTypeParameters = oldDescriptor.typeParameters
|
val newTypeParameters = oldDescriptor.typeParameters
|
||||||
val newValueParameters = copyValueParameters(oldDescriptor.valueParameters, memberOwner)
|
val newValueParameters = copyValueParameters(oldDescriptor.valueParameters, newDescriptor)
|
||||||
|
|
||||||
newDescriptor.initialize(
|
newDescriptor.initialize(
|
||||||
oldDescriptor.extensionReceiverParameter?.type,
|
oldDescriptor.extensionReceiverParameter?.type,
|
||||||
|
|||||||
Reference in New Issue
Block a user