diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/Ir.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/Ir.kt index 38a42a7c8dc..b1017bcdffa 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/Ir.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/Ir.kt @@ -23,7 +23,7 @@ import org.jetbrains.kotlin.ir.util.* import org.jetbrains.kotlin.name.Name // This is what Context collects about IR. -abstract class Ir(val context: T, val irModule: IrModuleFragment) { +abstract class Ir(val context: T) { abstract val symbols: Symbols diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIrBackendContext.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIrBackendContext.kt index fd651a5dfd9..b03a6062df0 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIrBackendContext.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIrBackendContext.kt @@ -59,7 +59,6 @@ class JsIrBackendContext( val module: ModuleDescriptor, override val irBuiltIns: IrBuiltIns, val symbolTable: SymbolTable, - irModuleFragment: IrModuleFragment, val additionalExportedDeclarationNames: Set, keep: Set, override val configuration: CompilerConfiguration, // TODO: remove configuration from backend context @@ -193,7 +192,7 @@ class JsIrBackendContext( .find { it.valueParameters.firstOrNull()?.type?.isFunctionType == true } .let { symbolTable.referenceSimpleFunction(it!!) } - override val ir = object : Ir(this, irModuleFragment) { + override val ir = object : Ir(this) { override val symbols = object : Symbols(irBuiltIns, symbolTable) { private val context = this@JsIrBackendContext diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/compiler.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/compiler.kt index 224a94c3056..0168b54470a 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/compiler.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/compiler.kt @@ -105,7 +105,6 @@ fun compileIr( moduleDescriptor, irBuiltIns, symbolTable, - allModules.first(), exportedDeclarations, keep, configuration, diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/compilerWithIC.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/compilerWithIC.kt index ce6fe5b58a4..68bf591c57f 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/compilerWithIC.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/compilerWithIC.kt @@ -39,7 +39,6 @@ class JsIrCompilerWithIC( mainModule.descriptor, irBuiltIns, symbolTable, - mainModule, exportedDeclarations, keep = emptySet(), configuration = configuration, diff --git a/compiler/ir/backend.jvm/entrypoint/src/org/jetbrains/kotlin/backend/jvm/JvmIrCodegenFactory.kt b/compiler/ir/backend.jvm/entrypoint/src/org/jetbrains/kotlin/backend/jvm/JvmIrCodegenFactory.kt index 3ae2b2393aa..d5046ba13b2 100644 --- a/compiler/ir/backend.jvm/entrypoint/src/org/jetbrains/kotlin/backend/jvm/JvmIrCodegenFactory.kt +++ b/compiler/ir/backend.jvm/entrypoint/src/org/jetbrains/kotlin/backend/jvm/JvmIrCodegenFactory.kt @@ -284,7 +284,7 @@ open class JvmIrCodegenFactory( val phases = if (evaluatorFragmentInfoForPsi2Ir != null) jvmFragmentLoweringPhases else jvmLoweringPhases val phaseConfig = customPhaseConfig ?: PhaseConfig(phases) val context = JvmBackendContext( - state, irModuleFragment.irBuiltins, irModuleFragment, symbolTable, phaseConfig, extensions, backendExtension, irSerializer, + state, irModuleFragment.irBuiltins, symbolTable, phaseConfig, extensions, backendExtension, irSerializer, ) if (evaluatorFragmentInfoForPsi2Ir != null) { context.localDeclarationsLoweringData = mutableMapOf() diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmBackendContext.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmBackendContext.kt index baa23430e54..b0ba960bd6f 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmBackendContext.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmBackendContext.kt @@ -43,7 +43,6 @@ import java.util.concurrent.ConcurrentHashMap class JvmBackendContext( val state: GenerationState, override val irBuiltIns: IrBuiltIns, - irModuleFragment: IrModuleFragment, val symbolTable: SymbolTable, val phaseConfig: PhaseConfig, val generatorExtensions: JvmGeneratorExtensions, @@ -85,7 +84,7 @@ class JvmBackendContext( val ktDiagnosticReporter = KtDiagnosticReporterWithImplicitIrBasedContext(state.diagnosticReporter, state.languageVersionSettings) - override val ir = JvmIr(irModuleFragment, this.symbolTable) + override val ir = JvmIr(this.symbolTable) override val sharedVariablesManager = JvmSharedVariablesManager(state.module, ir.symbols, irBuiltIns, irFactory) @@ -270,9 +269,8 @@ class JvmBackendContext( get() = false inner class JvmIr( - irModuleFragment: IrModuleFragment, symbolTable: SymbolTable - ) : Ir(this, irModuleFragment) { + ) : Ir(this) { override val symbols = JvmSymbols(this@JvmBackendContext, symbolTable) override fun unfoldInlineClassType(irType: IrType): IrType? { diff --git a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmBackendContext.kt b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmBackendContext.kt index 6349b59737e..84affb911ab 100644 --- a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmBackendContext.kt +++ b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmBackendContext.kt @@ -123,7 +123,7 @@ class WasmBackendContext( override val propertyLazyInitialization: PropertyLazyInitialization = PropertyLazyInitialization(enabled = propertyLazyInitialization, eagerInitialization = wasmSymbols.eagerInitialization) - override val ir = object : Ir(this, irModuleFragment) { + override val ir = object : Ir(this) { override val symbols: Symbols = wasmSymbols override fun shouldGenerateHandlerParameterForDefaultBodyFun() = true } diff --git a/js/js.tests/test/org/jetbrains/kotlin/benchmarks/GenerateIrRuntime.kt b/js/js.tests/test/org/jetbrains/kotlin/benchmarks/GenerateIrRuntime.kt index 42242c1eddf..e0235031eb5 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/benchmarks/GenerateIrRuntime.kt +++ b/js/js.tests/test/org/jetbrains/kotlin/benchmarks/GenerateIrRuntime.kt @@ -601,7 +601,6 @@ class GenerateIrRuntime { module.descriptor, irBuiltIns, symbolTable, - module, additionalExportedDeclarationNames = emptySet(), keep = emptySet(), configuration diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Context.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Context.kt index c24c6fd6b41..f56e080b539 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Context.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Context.kt @@ -40,8 +40,6 @@ import org.jetbrains.kotlin.ir.util.SymbolTable import org.jetbrains.kotlin.konan.library.KonanLibraryLayout import org.jetbrains.kotlin.konan.target.Architecture import org.jetbrains.kotlin.konan.target.KonanTarget -import org.jetbrains.kotlin.library.SerializedIrModule -import org.jetbrains.kotlin.library.SerializedMetadata import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.resolve.BindingContext @@ -83,7 +81,7 @@ internal class Context( irModules = psiToIrOutput.irModules irModule = psiToIrOutput.irModule expectDescriptorToSymbol = psiToIrOutput.expectDescriptorToSymbol - ir = KonanIr(this, psiToIrOutput.irModule) + ir = KonanIr(this) ir.symbols = psiToIrOutput.symbols if (psiToIrOutput.irLinker is KonanIrLinker) { irLinker = psiToIrOutput.irLinker @@ -158,7 +156,7 @@ internal class Context( throw Error("Another IrModule in the context.") } field = module!! - ir = KonanIr(this, module) + ir = KonanIr(this) } override lateinit var ir: KonanIr diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/Ir.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/Ir.kt index aa0c511cf2f..27a12f82383 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/Ir.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/Ir.kt @@ -41,7 +41,7 @@ object KonanNameConventions { } // This is what Context collects about IR. -internal class KonanIr(context: Context, irModule: IrModuleFragment): Ir(context, irModule) { +internal class KonanIr(context: Context): Ir(context) { override var symbols: KonanSymbols by Delegates.notNull() }