[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.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",
|
||||||
|
|||||||
+1
-4
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user