[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.inline.LocalClassesInInlineLambdasLowering
import org.jetbrains.kotlin.backend.common.lower.loops.ForLoopsLowering import org.jetbrains.kotlin.backend.common.lower.loops.ForLoopsLowering
import org.jetbrains.kotlin.backend.common.phaser.* 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.*
import org.jetbrains.kotlin.ir.backend.js.lower.calls.CallsLowering import org.jetbrains.kotlin.ir.backend.js.lower.calls.CallsLowering
import org.jetbrains.kotlin.ir.backend.js.lower.cleanup.CleanupLowering import org.jetbrains.kotlin.ir.backend.js.lower.cleanup.CleanupLowering
@@ -207,7 +206,6 @@ private val functionInliningPhase = makeIrModulePhase(
it, it,
JsInlineFunctionResolver(it), JsInlineFunctionResolver(it),
it.innerClassesSupport, it.innerClassesSupport,
inlineArgumentsWithOriginalOffset = true,
) )
}, },
name = "FunctionInliningPhase", name = "FunctionInliningPhase",
@@ -18,13 +18,11 @@ import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibility import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.inline.FunctionInlining 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.symbols.IrValueSymbol
import org.jetbrains.kotlin.ir.util.PatchDeclarationParentsVisitor import org.jetbrains.kotlin.ir.util.PatchDeclarationParentsVisitor
import org.jetbrains.kotlin.ir.util.isAnonymousObject import org.jetbrains.kotlin.ir.util.isAnonymousObject
import org.jetbrains.kotlin.ir.util.isExpect import org.jetbrains.kotlin.ir.util.isExpect
import org.jetbrains.kotlin.ir.util.parentAsClass 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.ir.visitors.acceptVoid
import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities import org.jetbrains.kotlin.load.java.JavaDescriptorVisibilities
import org.jetbrains.kotlin.name.NameUtils import org.jetbrains.kotlin.name.NameUtils
@@ -297,8 +295,7 @@ internal val functionInliningPhase = makeIrModulePhase(
FunctionInlining( FunctionInlining(
context, context,
innerClassesSupport = context.innerClassesSupport, innerClassesSupport = context.innerClassesSupport,
regenerateInlinedAnonymousObjects = true, regenerateInlinedAnonymousObjects = true
inlineArgumentsWithOriginalOffset = true
) )
}, },
name = "FunctionInliningPhase", name = "FunctionInliningPhase",
@@ -81,7 +81,6 @@ class FunctionInlining(
private val innerClassesSupport: InnerClassesSupport? = null, private val innerClassesSupport: InnerClassesSupport? = null,
private val insertAdditionalImplicitCasts: Boolean = false, private val insertAdditionalImplicitCasts: Boolean = false,
private val regenerateInlinedAnonymousObjects: Boolean = false, private val regenerateInlinedAnonymousObjects: Boolean = false,
private val inlineArgumentsWithOriginalOffset: Boolean = false,
) : IrElementTransformerVoidWithContext(), BodyLoweringPass { ) : IrElementTransformerVoidWithContext(), BodyLoweringPass {
private var containerScope: ScopeWithIr? = null private var containerScope: ScopeWithIr? = null
private val elementsWithLocationToPatch = hashSetOf<IrGetValue>() private val elementsWithLocationToPatch = hashSetOf<IrGetValue>()
@@ -412,8 +411,8 @@ class FunctionInlining(
is IrConstructor -> { is IrConstructor -> {
val classTypeParametersCount = inlinedFunction.parentAsClass.typeParameters.size val classTypeParametersCount = inlinedFunction.parentAsClass.typeParameters.size
IrConstructorCallImpl.fromSymbolOwner( IrConstructorCallImpl.fromSymbolOwner(
if (inlineArgumentsWithOriginalOffset) irFunctionReference.startOffset else irCall.startOffset, irFunctionReference.startOffset,
if (inlineArgumentsWithOriginalOffset) irFunctionReference.endOffset else irCall.endOffset, irFunctionReference.endOffset,
functionReferenceReturnType, functionReferenceReturnType,
inlinedFunction.symbol, inlinedFunction.symbol,
classTypeParametersCount, classTypeParametersCount,
@@ -422,8 +421,8 @@ class FunctionInlining(
} }
is IrSimpleFunction -> is IrSimpleFunction ->
IrCallImpl( IrCallImpl(
if (inlineArgumentsWithOriginalOffset) irFunctionReference.startOffset else irCall.startOffset, irFunctionReference.startOffset,
if (inlineArgumentsWithOriginalOffset) irFunctionReference.endOffset else irCall.endOffset, irFunctionReference.endOffset,
functionReferenceReturnType, functionReferenceReturnType,
inlinedFunction.symbol, inlinedFunction.symbol,
inlinedFunction.typeParameters.size, inlinedFunction.typeParameters.size,
@@ -29,7 +29,7 @@ fun g() {}
// EXPECTATIONS WASM // EXPECTATIONS WASM
// test.kt:4 $box (12, 4) // test.kt:4 $box (12, 4)
// test.kt:5 $box // test.kt:5 $box (4, 6)
// test.kt:9 $box (4, 4) // test.kt:9 $box
// test.kt:12 $g // test.kt:12 $g
// test.kt:6 $box // test.kt:6 $box