diff --git a/compiler/ir/backend.js/build.gradle.kts b/compiler/ir/backend.js/build.gradle.kts index 7c4b4f41bbf..5e6a9120663 100644 --- a/compiler/ir/backend.js/build.gradle.kts +++ b/compiler/ir/backend.js/build.gradle.kts @@ -9,6 +9,7 @@ dependencies { api(project(":compiler:backend-common")) api(project(":compiler:ir.tree")) api(project(":compiler:ir.backend.common")) + api(project(":compiler:ir.inline")) api(project(":compiler:ir.serialization.common")) api(project(":compiler:ir.serialization.js")) api(project(":js:js.ast")) 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 41953eca011..4fd9ac4769b 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 @@ -8,7 +8,6 @@ package org.jetbrains.kotlin.ir.backend.js import org.jetbrains.kotlin.backend.common.lower.* import org.jetbrains.kotlin.backend.common.lower.coroutines.AddContinuationToLocalSuspendFunctionsLowering import org.jetbrains.kotlin.backend.common.lower.coroutines.AddContinuationToNonLocalSuspendFunctionsLowering -import org.jetbrains.kotlin.backend.common.lower.inline.FunctionInlining import org.jetbrains.kotlin.backend.common.lower.inline.LocalClassesExtractionFromInlineFunctionsLowering import org.jetbrains.kotlin.backend.common.lower.inline.LocalClassesInInlineFunctionsLowering import org.jetbrains.kotlin.backend.common.lower.inline.LocalClassesInInlineLambdasLowering @@ -22,6 +21,7 @@ import org.jetbrains.kotlin.ir.backend.js.lower.coroutines.* import org.jetbrains.kotlin.ir.backend.js.lower.inline.* import org.jetbrains.kotlin.ir.backend.js.utils.compileSuspendAsJsGenerator import org.jetbrains.kotlin.ir.declarations.IrModuleFragment +import org.jetbrains.kotlin.ir.inline.FunctionInlining import org.jetbrains.kotlin.ir.interpreter.IrInterpreterConfiguration import org.jetbrains.kotlin.platform.js.JsPlatforms diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/inline/SaveInlineFunctionsBeforeInlining.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/inline/SaveInlineFunctionsBeforeInlining.kt index 5fc2f31452f..cbc6ba5f4d3 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/inline/SaveInlineFunctionsBeforeInlining.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/inline/SaveInlineFunctionsBeforeInlining.kt @@ -6,11 +6,11 @@ package org.jetbrains.kotlin.ir.backend.js.lower.inline import org.jetbrains.kotlin.backend.common.DeclarationTransformer -import org.jetbrains.kotlin.backend.common.lower.inline.InlineFunctionResolverReplacingCoroutineIntrinsics import org.jetbrains.kotlin.ir.backend.js.JsIrBackendContext import org.jetbrains.kotlin.ir.declarations.IrDeclaration import org.jetbrains.kotlin.ir.declarations.IrFunction import org.jetbrains.kotlin.ir.deepCopyWithVariables +import org.jetbrains.kotlin.ir.inline.InlineFunctionResolverReplacingCoroutineIntrinsics import org.jetbrains.kotlin.ir.symbols.IrFunctionSymbol import org.jetbrains.kotlin.ir.util.patchDeclarationParents diff --git a/compiler/ir/backend.jvm/lower/build.gradle.kts b/compiler/ir/backend.jvm/lower/build.gradle.kts index a19a5fb6a34..959d1a666b0 100644 --- a/compiler/ir/backend.jvm/lower/build.gradle.kts +++ b/compiler/ir/backend.jvm/lower/build.gradle.kts @@ -6,6 +6,7 @@ plugins { dependencies { api(project(":compiler:ir.tree")) api(project(":compiler:ir.backend.common")) + api(project(":compiler:ir.inline")) api(project(":compiler:backend.jvm")) compileOnly(intellijCore()) } 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 fc235ab1532..b5616ac6b66 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 @@ -9,8 +9,6 @@ import org.jetbrains.kotlin.backend.common.CommonBackendContext import org.jetbrains.kotlin.backend.common.FileLoweringPass import org.jetbrains.kotlin.backend.common.checkDeclarationParents import org.jetbrains.kotlin.backend.common.lower.* -import org.jetbrains.kotlin.backend.common.lower.inline.FunctionInlining -import org.jetbrains.kotlin.backend.common.lower.inline.InlineFunctionResolver import org.jetbrains.kotlin.backend.common.lower.loops.forLoopsPhase import org.jetbrains.kotlin.backend.common.phaser.* import org.jetbrains.kotlin.backend.jvm.ir.constantValue @@ -19,6 +17,7 @@ import org.jetbrains.kotlin.backend.jvm.lower.* 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 diff --git a/compiler/ir/backend.wasm/build.gradle.kts b/compiler/ir/backend.wasm/build.gradle.kts index 8008d985c65..f021c4458b4 100644 --- a/compiler/ir/backend.wasm/build.gradle.kts +++ b/compiler/ir/backend.wasm/build.gradle.kts @@ -9,6 +9,7 @@ dependencies { api(project(":compiler:backend-common")) api(project(":compiler:ir.tree")) api(project(":compiler:ir.backend.common")) + api(project(":compiler:ir.inline")) api(project(":compiler:ir.serialization.common")) api(project(":compiler:ir.serialization.js")) api(project(":js:js.ast")) diff --git a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmLoweringPhases.kt b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmLoweringPhases.kt index 876cc78f3ba..4f74a00f615 100644 --- a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmLoweringPhases.kt +++ b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmLoweringPhases.kt @@ -7,7 +7,6 @@ package org.jetbrains.kotlin.backend.wasm import org.jetbrains.kotlin.backend.common.lower.* import org.jetbrains.kotlin.backend.common.lower.coroutines.AddContinuationToNonLocalSuspendFunctionsLowering -import org.jetbrains.kotlin.backend.common.lower.inline.FunctionInlining import org.jetbrains.kotlin.backend.common.lower.inline.LocalClassesExtractionFromInlineFunctionsLowering import org.jetbrains.kotlin.backend.common.lower.inline.LocalClassesInInlineFunctionsLowering import org.jetbrains.kotlin.backend.common.lower.inline.LocalClassesInInlineLambdasLowering @@ -21,6 +20,7 @@ import org.jetbrains.kotlin.ir.backend.js.lower.coroutines.JsSuspendFunctionsLow import org.jetbrains.kotlin.ir.backend.js.lower.inline.RemoveInlineDeclarationsWithReifiedTypeParametersLowering import org.jetbrains.kotlin.ir.backend.wasm.lower.generateMainFunctionCalls import org.jetbrains.kotlin.ir.declarations.IrModuleFragment +import org.jetbrains.kotlin.ir.inline.FunctionInlining import org.jetbrains.kotlin.ir.interpreter.IrInterpreterConfiguration import org.jetbrains.kotlin.ir.util.patchDeclarationParents import org.jetbrains.kotlin.platform.WasmPlatform diff --git a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/lower/WasmInlineFunctionResolver.kt b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/lower/WasmInlineFunctionResolver.kt index 06edace04e5..ad98f5e1c35 100644 --- a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/lower/WasmInlineFunctionResolver.kt +++ b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/lower/WasmInlineFunctionResolver.kt @@ -5,8 +5,8 @@ package org.jetbrains.kotlin.backend.wasm.lower -import org.jetbrains.kotlin.backend.common.lower.inline.InlineFunctionResolverReplacingCoroutineIntrinsics import org.jetbrains.kotlin.backend.wasm.WasmBackendContext +import org.jetbrains.kotlin.ir.inline.InlineFunctionResolverReplacingCoroutineIntrinsics import org.jetbrains.kotlin.ir.symbols.IrFunctionSymbol class WasmInlineFunctionResolver(context: WasmBackendContext) : InlineFunctionResolverReplacingCoroutineIntrinsics(context) { diff --git a/compiler/ir/ir.inline/build.gradle.kts b/compiler/ir/ir.inline/build.gradle.kts index 2dd2e453202..6597f5b926c 100644 --- a/compiler/ir/ir.inline/build.gradle.kts +++ b/compiler/ir/ir.inline/build.gradle.kts @@ -5,6 +5,7 @@ plugins { dependencies { compileOnly(project(":compiler:ir.tree")) + compileOnly(project(":compiler:ir.backend.common")) } optInToUnsafeDuringIrConstructionAPI() diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/inline/DeepCopyIrTreeWithDescriptors.kt b/compiler/ir/ir.inline/src/org/jetbrains/kotlin/ir/inline/DeepCopyIrTreeWithDescriptors.kt similarity index 98% rename from compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/inline/DeepCopyIrTreeWithDescriptors.kt rename to compiler/ir/ir.inline/src/org/jetbrains/kotlin/ir/inline/DeepCopyIrTreeWithDescriptors.kt index 3c0d8682c7c..b036326f91a 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/inline/DeepCopyIrTreeWithDescriptors.kt +++ b/compiler/ir/ir.inline/src/org/jetbrains/kotlin/ir/inline/DeepCopyIrTreeWithDescriptors.kt @@ -1,9 +1,9 @@ /* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ -package org.jetbrains.kotlin.backend.common.lower.inline +package org.jetbrains.kotlin.ir.inline import org.jetbrains.kotlin.backend.common.ir.Symbols import org.jetbrains.kotlin.ir.IrElement diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/inline/FunctionInlining.kt b/compiler/ir/ir.inline/src/org/jetbrains/kotlin/ir/inline/FunctionInlining.kt similarity index 99% rename from compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/inline/FunctionInlining.kt rename to compiler/ir/ir.inline/src/org/jetbrains/kotlin/ir/inline/FunctionInlining.kt index ff9b949fb38..20a37a46aec 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/inline/FunctionInlining.kt +++ b/compiler/ir/ir.inline/src/org/jetbrains/kotlin/ir/inline/FunctionInlining.kt @@ -1,9 +1,9 @@ /* - * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ -package org.jetbrains.kotlin.backend.common.lower.inline +package org.jetbrains.kotlin.ir.inline import org.jetbrains.kotlin.backend.common.BodyLoweringPass diff --git a/kotlin-native/backend.native/build.gradle b/kotlin-native/backend.native/build.gradle index a2a67fd4e81..ef91abb1de6 100644 --- a/kotlin-native/backend.native/build.gradle +++ b/kotlin-native/backend.native/build.gradle @@ -164,6 +164,7 @@ dependencies { compilerApi project(":core:compiler.common.native") compilerApi project(":compiler:ir.tree") compilerApi project(":compiler:ir.backend.common") + compilerApi project(":compiler:ir.inline") compilerApi project(":compiler:ir.objcinterop") compilerApi project(":compiler:util") compilerApi project(":native:frontend.native") diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/driver/phases/NativeLoweringPhases.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/driver/phases/NativeLoweringPhases.kt index 5e3dac5e7c2..8aa8ec847b1 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/driver/phases/NativeLoweringPhases.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/driver/phases/NativeLoweringPhases.kt @@ -9,7 +9,7 @@ import org.jetbrains.kotlin.backend.common.BodyLoweringPass import org.jetbrains.kotlin.backend.common.FileLoweringPass import org.jetbrains.kotlin.backend.common.lower.* import org.jetbrains.kotlin.backend.common.lower.coroutines.AddContinuationToNonLocalSuspendFunctionsLowering -import org.jetbrains.kotlin.backend.common.lower.inline.FunctionInlining +import org.jetbrains.kotlin.ir.inline.FunctionInlining import org.jetbrains.kotlin.backend.common.lower.inline.LocalClassesExtractionFromInlineFunctionsLowering import org.jetbrains.kotlin.backend.common.lower.inline.LocalClassesInInlineFunctionsLowering import org.jetbrains.kotlin.backend.common.lower.inline.LocalClassesInInlineLambdasLowering diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/NativeInlineFunctionResolver.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/NativeInlineFunctionResolver.kt index fe2869709e2..a97e917c748 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/NativeInlineFunctionResolver.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/NativeInlineFunctionResolver.kt @@ -12,6 +12,7 @@ import org.jetbrains.kotlin.backend.konan.* import org.jetbrains.kotlin.ir.declarations.IrFile import org.jetbrains.kotlin.ir.declarations.IrFunction import org.jetbrains.kotlin.ir.deepCopyWithVariables +import org.jetbrains.kotlin.ir.inline.InlineFunctionResolverReplacingCoroutineIntrinsics import org.jetbrains.kotlin.ir.symbols.IrFunctionSymbol import org.jetbrains.kotlin.ir.util.*