[IR] Drop inlineArgumentsWithOriginalOffset from inliner

#KT-66509
This commit is contained in:
Ivan Kylchik
2024-03-12 12:21:44 +01:00
committed by Space Team
parent 3ee126de74
commit ddcef6396e
4 changed files with 7 additions and 13 deletions
@@ -13,7 +13,6 @@ import org.jetbrains.kotlin.backend.common.lower.inline.LocalClassesInInlineFunc
import org.jetbrains.kotlin.backend.common.lower.inline.LocalClassesInInlineLambdasLowering
import org.jetbrains.kotlin.backend.common.lower.loops.ForLoopsLowering
import org.jetbrains.kotlin.backend.common.phaser.*
import org.jetbrains.kotlin.config.CommonConfigurationKeys
import org.jetbrains.kotlin.ir.backend.js.lower.*
import org.jetbrains.kotlin.ir.backend.js.lower.calls.CallsLowering
import org.jetbrains.kotlin.ir.backend.js.lower.cleanup.CleanupLowering
@@ -207,7 +206,6 @@ private val functionInliningPhase = makeIrModulePhase(
it,
JsInlineFunctionResolver(it),
it.innerClassesSupport,
inlineArgumentsWithOriginalOffset = true,
)
},
name = "FunctionInliningPhase",
@@ -18,13 +18,11 @@ import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.inline.FunctionInlining
import org.jetbrains.kotlin.ir.symbols.IrFunctionSymbol
import org.jetbrains.kotlin.ir.symbols.IrValueSymbol
import org.jetbrains.kotlin.ir.util.PatchDeclarationParentsVisitor
import org.jetbrains.kotlin.ir.util.isAnonymousObject
import org.jetbrains.kotlin.ir.util.isExpect
import org.jetbrains.kotlin.ir.util.parentAsClass
import org.jetbrains.kotlin.ir.util.resolveFakeOverride
import org.jetbrains.kotlin.ir.visitors.acceptVoid
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
import org.jetbrains.kotlin.name.NameUtils
@@ -297,8 +295,7 @@ internal val functionInliningPhase = makeIrModulePhase(
FunctionInlining(
context,
innerClassesSupport = context.innerClassesSupport,
regenerateInlinedAnonymousObjects = true,
inlineArgumentsWithOriginalOffset = true
regenerateInlinedAnonymousObjects = true
)
},
name = "FunctionInliningPhase",
@@ -81,7 +81,6 @@ class FunctionInlining(
private val innerClassesSupport: InnerClassesSupport? = null,
private val insertAdditionalImplicitCasts: Boolean = false,
private val regenerateInlinedAnonymousObjects: Boolean = false,
private val inlineArgumentsWithOriginalOffset: Boolean = false,
) : IrElementTransformerVoidWithContext(), BodyLoweringPass {
private var containerScope: ScopeWithIr? = null
private val elementsWithLocationToPatch = hashSetOf<IrGetValue>()
@@ -412,8 +411,8 @@ class FunctionInlining(
is IrConstructor -> {
val classTypeParametersCount = inlinedFunction.parentAsClass.typeParameters.size
IrConstructorCallImpl.fromSymbolOwner(
if (inlineArgumentsWithOriginalOffset) irFunctionReference.startOffset else irCall.startOffset,
if (inlineArgumentsWithOriginalOffset) irFunctionReference.endOffset else irCall.endOffset,
irFunctionReference.startOffset,
irFunctionReference.endOffset,
functionReferenceReturnType,
inlinedFunction.symbol,
classTypeParametersCount,
@@ -422,8 +421,8 @@ class FunctionInlining(
}
is IrSimpleFunction ->
IrCallImpl(
if (inlineArgumentsWithOriginalOffset) irFunctionReference.startOffset else irCall.startOffset,
if (inlineArgumentsWithOriginalOffset) irFunctionReference.endOffset else irCall.endOffset,
irFunctionReference.startOffset,
irFunctionReference.endOffset,
functionReferenceReturnType,
inlinedFunction.symbol,
inlinedFunction.typeParameters.size,
@@ -29,7 +29,7 @@ fun g() {}
// EXPECTATIONS WASM
// test.kt:4 $box (12, 4)
// test.kt:5 $box
// test.kt:9 $box (4, 4)
// test.kt:5 $box (4, 6)
// test.kt:9 $box
// test.kt:12 $g
// test.kt:6 $box