[IR] Drop inlineArgumentsWithOriginalOffset from inliner
#KT-66509
This commit is contained in:
@@ -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",
|
||||
|
||||
+1
-4
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user