IR: remove some usages of deepCopyWithVariables

At this point, `deepCopyWithVariables` is the same as
`deepCopyWithSymbols` except that the former doesn't call
`patchDeclarationParents`, which most likely produces incorrect IR in
some call sites.
This commit is contained in:
Alexander Udalov
2024-03-07 14:05:14 +01:00
committed by Space Team
parent e7e8cba1b4
commit 1d38c01afc
8 changed files with 28 additions and 43 deletions
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.backend.common.lower.inline.*
import org.jetbrains.kotlin.backend.konan.*
import org.jetbrains.kotlin.ir.declarations.IrFile
import org.jetbrains.kotlin.ir.declarations.IrFunction
import org.jetbrains.kotlin.ir.deepCopyWithVariables
import org.jetbrains.kotlin.ir.inline.InlineFunctionResolverReplacingCoroutineIntrinsics
import org.jetbrains.kotlin.ir.symbols.IrFunctionSymbol
import org.jetbrains.kotlin.ir.util.*
@@ -21,8 +20,7 @@ internal class InlineFunctionsSupport(mapping: NativeMapping) {
private val partiallyLoweredInlineFunctions = mapping.partiallyLoweredInlineFunctions
fun savePartiallyLoweredInlineFunction(function: IrFunction) =
function.deepCopyWithVariables().also {
it.patchDeclarationParents(function.parent)
function.deepCopyWithSymbols(function.parent).also {
partiallyLoweredInlineFunctions[function.symbol] = it
}