diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTree.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTree.kt index 83d83cd2875..01138bcf583 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTree.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeepCopyIrTree.kt @@ -120,20 +120,20 @@ open class DeepCopyIrTree : IrElementTransformerVoid() { declaration.body!!.transform() ).transformParameters(declaration) - private fun T.transformTypeParameters(original: T, myTypeParameters: List): T = + protected fun T.transformTypeParameters(original: T, myTypeParameters: List): T = apply { original.typeParameters.mapTo(typeParameters) { originalTypeParameter -> copyTypeParameter(originalTypeParameter, myTypeParameters[originalTypeParameter.descriptor.index]) } } - private fun T.transformParameters(original: T): T = + protected fun T.transformParameters(original: T): T = apply { transformTypeParameters(original, descriptor.typeParameters) transformValueParameters(original) } - private fun T.transformValueParameters(original: T) = + protected fun T.transformValueParameters(original: T) = apply { dispatchReceiverParameter = original.dispatchReceiverParameter?.let { copyValueParameter(it, descriptor.dispatchReceiverParameter ?: throw AssertionError("No dispatch receiver in $descriptor")) @@ -148,7 +148,7 @@ open class DeepCopyIrTree : IrElementTransformerVoid() { } } - private fun copyTypeParameter( + protected fun copyTypeParameter( originalTypeParameter: IrTypeParameter, newTypeParameterDescriptor: TypeParameterDescriptor ): IrTypeParameterImpl = @@ -158,7 +158,7 @@ open class DeepCopyIrTree : IrElementTransformerVoid() { newTypeParameterDescriptor ) - private fun copyValueParameter( + protected fun copyValueParameter( originalValueParameter: IrValueParameter, newParameterDescriptor: ParameterDescriptor ): IrValueParameterImpl =