From ddcef6396e3fe92dfa4c289970c798c3a8847ad6 Mon Sep 17 00:00:00 2001 From: Ivan Kylchik Date: Tue, 12 Mar 2024 12:21:44 +0100 Subject: [PATCH] [IR] Drop `inlineArgumentsWithOriginalOffset` from inliner #KT-66509 --- .../jetbrains/kotlin/ir/backend/js/JsLoweringPhases.kt | 2 -- .../jetbrains/kotlin/backend/jvm/JvmLoweringPhases.kt | 5 +---- .../org/jetbrains/kotlin/ir/inline/FunctionInlining.kt | 9 ++++----- .../debug/stepping/inlineNamedCallableReference.kt | 4 ++-- 4 files changed, 7 insertions(+), 13 deletions(-) diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsLoweringPhases.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsLoweringPhases.kt index f79e441e168..33bbe006c08 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsLoweringPhases.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsLoweringPhases.kt @@ -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", diff --git a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/JvmLoweringPhases.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/JvmLoweringPhases.kt index 5f11890db43..db43c668345 100644 --- a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/JvmLoweringPhases.kt +++ b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/JvmLoweringPhases.kt @@ -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", diff --git a/compiler/ir/ir.inline/src/org/jetbrains/kotlin/ir/inline/FunctionInlining.kt b/compiler/ir/ir.inline/src/org/jetbrains/kotlin/ir/inline/FunctionInlining.kt index cec65de7df2..522b21bcaa5 100644 --- a/compiler/ir/ir.inline/src/org/jetbrains/kotlin/ir/inline/FunctionInlining.kt +++ b/compiler/ir/ir.inline/src/org/jetbrains/kotlin/ir/inline/FunctionInlining.kt @@ -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() @@ -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, diff --git a/compiler/testData/debug/stepping/inlineNamedCallableReference.kt b/compiler/testData/debug/stepping/inlineNamedCallableReference.kt index 10dfcbb4337..f07b6aa43c2 100644 --- a/compiler/testData/debug/stepping/inlineNamedCallableReference.kt +++ b/compiler/testData/debug/stepping/inlineNamedCallableReference.kt @@ -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