From 021a00f4fff553a1ea0858229dd9b763a638cd66 Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Tue, 14 Nov 2023 14:26:04 +0100 Subject: [PATCH] [IR] Avoid depending from fir2ir on ir.actualization module ^KT-62292 --- .../kotlin/cli/js/klib/compilerPipeline.kt | 2 +- .../cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt | 4 +++- .../cli/jvm/compiler/pipeline/compilerPipeline.kt | 6 +++++- compiler/fir/fir2ir/build.gradle.kts | 1 - compiler/fir/fir2ir/jvm-backend/build.gradle.kts | 1 - .../fir/backend/jvm/FirJvmBackendExtension.kt | 6 +++--- .../kotlin/fir/backend/jvm/FirMetadataSerializer.kt | 13 +++++-------- .../jetbrains/kotlin/fir/backend/ConversionUtils.kt | 5 ++--- .../jetbrains/kotlin/fir/backend/Fir2IrConverter.kt | 2 +- .../kotlin/incremental/incrementalFirCacheUtils.kt | 2 +- .../backend/common/actualizer/IrActualizer.kt | 1 + .../kotlin/ir/overrides}/FakeOverrideRebuilder.kt | 3 +-- .../test/frontend/fir/Fir2IrJsResultsConverter.kt | 2 +- .../test/frontend/fir/Fir2IrJvmResultsConverter.kt | 2 +- .../test/frontend/fir/Fir2IrWasmResultsConverter.kt | 2 +- .../org/jetbrains/kotlin/codegen/GenerationUtils.kt | 2 +- .../kotlin/backend/konan/FirNativeSerializer.kt | 2 +- 17 files changed, 28 insertions(+), 28 deletions(-) rename compiler/ir/{ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer => ir.tree/src/org/jetbrains/kotlin/ir/overrides}/FakeOverrideRebuilder.kt (98%) diff --git a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/klib/compilerPipeline.kt b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/klib/compilerPipeline.kt index 33b45dd48d5..9d69467196f 100644 --- a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/klib/compilerPipeline.kt +++ b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/klib/compilerPipeline.kt @@ -280,7 +280,7 @@ private class Fir2KlibSerializer( } private val actualizedExpectDeclarations by lazy { - fir2IrActualizedResult.irActualizedResult.extractFirDeclarations() + fir2IrActualizedResult.irActualizedResult?.actualizedExpectDeclarations?.extractFirDeclarations() } private val metadataVersion = moduleStructure.compilerConfiguration.metadataVersion() diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt index 40242b2af7c..38a6dc6c173 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt @@ -37,6 +37,7 @@ import org.jetbrains.kotlin.config.CommonConfigurationKeys.LOOKUP_TRACKER import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.diagnostics.DiagnosticReporterFactory import org.jetbrains.kotlin.diagnostics.impl.BaseDiagnosticsCollector +import org.jetbrains.kotlin.fir.backend.extractFirDeclarations import org.jetbrains.kotlin.fir.backend.jvm.FirJvmBackendClassResolver import org.jetbrains.kotlin.fir.backend.jvm.FirJvmBackendExtension import org.jetbrains.kotlin.fir.backend.jvm.JvmFir2IrExtensions @@ -188,7 +189,8 @@ object KotlinToJVMBytecodeCompiler { NoScopeRecordCliBindingTrace().bindingContext, FirJvmBackendClassResolver(fir2IrAndIrActualizerResult.components), FirJvmBackendExtension( - fir2IrAndIrActualizerResult.components, fir2IrAndIrActualizerResult.irActualizedResult + fir2IrAndIrActualizerResult.components, + fir2IrAndIrActualizerResult.irActualizedResult?.actualizedExpectDeclarations?.extractFirDeclarations() ) ) } diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/pipeline/compilerPipeline.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/pipeline/compilerPipeline.kt index 5979497333e..a8c190a0411 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/pipeline/compilerPipeline.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/pipeline/compilerPipeline.kt @@ -47,6 +47,7 @@ import org.jetbrains.kotlin.diagnostics.DiagnosticReporter import org.jetbrains.kotlin.diagnostics.impl.BaseDiagnosticsCollector import org.jetbrains.kotlin.fir.backend.Fir2IrConfiguration import org.jetbrains.kotlin.fir.backend.Fir2IrExtensions +import org.jetbrains.kotlin.fir.backend.extractFirDeclarations import org.jetbrains.kotlin.fir.backend.jvm.* import org.jetbrains.kotlin.fir.extensions.FirAnalysisHandlerExtension import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar @@ -262,7 +263,10 @@ fun generateCodeFromIr( input.components.symbolTable, input.components.irProviders, input.extensions, - FirJvmBackendExtension(input.components, input.irActualizedResult), + FirJvmBackendExtension( + input.components, + input.irActualizedResult?.actualizedExpectDeclarations?.extractFirDeclarations() + ), input.pluginContext ) { performanceManager?.notifyIRLoweringFinished() diff --git a/compiler/fir/fir2ir/build.gradle.kts b/compiler/fir/fir2ir/build.gradle.kts index 06ffcfd305a..670e310fa14 100644 --- a/compiler/fir/fir2ir/build.gradle.kts +++ b/compiler/fir/fir2ir/build.gradle.kts @@ -15,7 +15,6 @@ dependencies { compileOnly(project(":compiler:fir:tree")) compileOnly(project(":compiler:ir.tree")) compileOnly(project(":compiler:ir.backend.common")) - compileOnly(project(":compiler:ir.actualization")) compileOnly(project(":compiler:ir.serialization.common")) compileOnly(project(":compiler:fir:fir-serialization")) compileOnly(project(":compiler:fir:fir-deserialization")) diff --git a/compiler/fir/fir2ir/jvm-backend/build.gradle.kts b/compiler/fir/fir2ir/jvm-backend/build.gradle.kts index 4b20aaae2e3..e9489c6e2ce 100644 --- a/compiler/fir/fir2ir/jvm-backend/build.gradle.kts +++ b/compiler/fir/fir2ir/jvm-backend/build.gradle.kts @@ -17,7 +17,6 @@ dependencies { compileOnly(project(":compiler:ir.tree")) compileOnly(project(":compiler:backend")) compileOnly(project(":compiler:backend.jvm")) - implementation(project(":compiler:ir.actualization")) api(project(":compiler:ir.serialization.common")) compileOnly(intellijCore()) diff --git a/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirJvmBackendExtension.kt b/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirJvmBackendExtension.kt index 9b212e072c7..83136ccb986 100644 --- a/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirJvmBackendExtension.kt +++ b/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirJvmBackendExtension.kt @@ -5,18 +5,18 @@ package org.jetbrains.kotlin.fir.backend.jvm -import org.jetbrains.kotlin.backend.common.actualizer.IrActualizedResult import org.jetbrains.kotlin.backend.jvm.JvmBackendContext import org.jetbrains.kotlin.backend.jvm.JvmBackendExtension import org.jetbrains.kotlin.backend.jvm.metadata.MetadataSerializer import org.jetbrains.kotlin.codegen.serialization.JvmSerializationBindings import org.jetbrains.kotlin.fir.backend.Fir2IrComponents +import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.ir.declarations.IrClass import org.jetbrains.org.objectweb.asm.Type class FirJvmBackendExtension( private val components: Fir2IrComponents, - private val irActualizedResult: IrActualizedResult? + private val actualizedExpectDeclarations: Set? ) : JvmBackendExtension { override fun createSerializer( context: JvmBackendContext, @@ -32,7 +32,7 @@ class FirJvmBackendExtension( bindings, components, parentSerializer, - irActualizedResult + actualizedExpectDeclarations ) } } diff --git a/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirMetadataSerializer.kt b/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirMetadataSerializer.kt index 33a35162151..67ded9f2068 100644 --- a/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirMetadataSerializer.kt +++ b/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirMetadataSerializer.kt @@ -6,7 +6,6 @@ package org.jetbrains.kotlin.fir.backend.jvm import org.jetbrains.kotlin.KtFakeSourceElementKind -import org.jetbrains.kotlin.backend.common.actualizer.IrActualizedResult import org.jetbrains.kotlin.backend.jvm.JvmBackendContext import org.jetbrains.kotlin.backend.jvm.JvmLoweredDeclarationOrigin import org.jetbrains.kotlin.backend.jvm.metadata.MetadataSerializer @@ -16,7 +15,6 @@ import org.jetbrains.kotlin.config.* import org.jetbrains.kotlin.fir.* import org.jetbrains.kotlin.fir.backend.Fir2IrComponents import org.jetbrains.kotlin.fir.backend.FirMetadataSource -import org.jetbrains.kotlin.fir.backend.extractFirDeclarations import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.builder.* import org.jetbrains.kotlin.fir.resolve.ScopeSession @@ -46,7 +44,7 @@ fun makeFirMetadataSerializerForIrClass( serializationBindings: JvmSerializationBindings, components: Fir2IrComponents, parent: MetadataSerializer?, - irActualizedResult: IrActualizedResult? + actualizedExpectDeclarations: Set? ): FirMetadataSerializer { val approximator = TypeApproximatorForMetadataSerializer(session) val localDelegatedProperties = context.localDelegatedProperties[irClass.attributeOwnerId]?.mapNotNull { @@ -64,7 +62,7 @@ fun makeFirMetadataSerializerForIrClass( irClass.metadata, components.session, components.scopeSession, firSerializerExtension, approximator, parent, context.config.languageVersionSettings, ), - irActualizedResult + actualizedExpectDeclarations ) } @@ -76,7 +74,7 @@ fun makeLocalFirMetadataSerializerForMetadataSource( parent: MetadataSerializer?, targetId: TargetId, configuration: CompilerConfiguration, - irActualizedResult: IrActualizedResult? + actualizedExpectDeclarations: Set? ): FirMetadataSerializer { val serializationBindings = JvmSerializationBindings() val approximator = TypeApproximatorForMetadataSerializer(session) @@ -110,7 +108,7 @@ fun makeLocalFirMetadataSerializerForMetadataSource( metadata, session, scopeSession, firSerializerExtension, approximator, parent, configuration.languageVersionSettings ), - irActualizedResult + actualizedExpectDeclarations ) } @@ -119,9 +117,8 @@ class FirMetadataSerializer( private val serializationBindings: JvmSerializationBindings, private val approximator: AbstractTypeApproximator, internal val serializer: FirElementSerializer?, - irActualizedResult: IrActualizedResult? + private val actualizedExpectDeclarations: Set? ) : MetadataSerializer { - private val actualizedExpectDeclarations = irActualizedResult.extractFirDeclarations() override fun serialize(metadata: MetadataSource): Pair? { val message = when (metadata) { diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt index e346781dffa..cbb3da54864 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt @@ -9,7 +9,6 @@ import com.intellij.psi.PsiCompiledElement import com.intellij.psi.PsiElement import com.intellij.psi.tree.IElementType import org.jetbrains.kotlin.* -import org.jetbrains.kotlin.backend.common.actualizer.IrActualizedResult import org.jetbrains.kotlin.builtins.StandardNames.DATA_CLASS_COMPONENT_PREFIX import org.jetbrains.kotlin.descriptors.ValueClassRepresentation import org.jetbrains.kotlin.diagnostics.startOffsetSkippingComments @@ -770,8 +769,8 @@ fun FirCallableDeclaration.contextReceiversForFunctionOrContainingProperty(): Li else this.contextReceivers -fun IrActualizedResult?.extractFirDeclarations(): Set? { - return this?.actualizedExpectDeclarations?.mapNotNullTo(mutableSetOf()) { ((it as IrMetadataSourceOwner).metadata as FirMetadataSource).fir } +fun List.extractFirDeclarations(): Set { + return this.mapNotNullTo(mutableSetOf()) { ((it as IrMetadataSourceOwner).metadata as FirMetadataSource).fir } } // This method is intended to be used for default values of annotation parameters (compile-time strings, numbers, enum values, KClasses) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt index 1a346e24d3e..8fa621bab55 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt @@ -10,7 +10,7 @@ import org.jetbrains.kotlin.KtFakeSourceElementKind import org.jetbrains.kotlin.KtPsiSourceFileLinesMapping import org.jetbrains.kotlin.KtSourceFileLinesMappingFromLineStartOffsets import org.jetbrains.kotlin.backend.common.CommonBackendErrors -import org.jetbrains.kotlin.backend.common.actualizer.FakeOverrideRebuilder +import org.jetbrains.kotlin.ir.overrides.FakeOverrideRebuilder import org.jetbrains.kotlin.backend.common.sourceElement import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.config.LanguageFeature diff --git a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/incrementalFirCacheUtils.kt b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/incrementalFirCacheUtils.kt index 993fc13b67e..65e9578d8b7 100644 --- a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/incrementalFirCacheUtils.kt +++ b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/incrementalFirCacheUtils.kt @@ -53,7 +53,7 @@ internal fun collectNewDirtySources( data.lastOrNull(), targetId, configuration, - irActualizedResult = null + actualizedExpectDeclarations = null ) data.push(serializer) body(serializer) diff --git a/compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/IrActualizer.kt b/compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/IrActualizer.kt index b7ce9f2be79..490bf5d9ba0 100644 --- a/compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/IrActualizer.kt +++ b/compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/IrActualizer.kt @@ -9,6 +9,7 @@ import org.jetbrains.kotlin.ir.IrDiagnosticReporter import org.jetbrains.kotlin.backend.common.actualizer.checker.IrExpectActualCheckers import org.jetbrains.kotlin.incremental.components.ExpectActualTracker import org.jetbrains.kotlin.ir.declarations.* +import org.jetbrains.kotlin.ir.overrides.FakeOverrideRebuilder import org.jetbrains.kotlin.ir.overrides.IrFakeOverrideBuilder import org.jetbrains.kotlin.ir.symbols.IrSymbol import org.jetbrains.kotlin.ir.types.IrTypeSystemContext diff --git a/compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/FakeOverrideRebuilder.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/FakeOverrideRebuilder.kt similarity index 98% rename from compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/FakeOverrideRebuilder.kt rename to compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/FakeOverrideRebuilder.kt index 28fc6106526..662a7a7422a 100644 --- a/compiler/ir/ir.actualization/src/main/kotlin/org/jetbrains/kotlin/backend/common/actualizer/FakeOverrideRebuilder.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/overrides/FakeOverrideRebuilder.kt @@ -3,7 +3,7 @@ * 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.actualizer +package org.jetbrains.kotlin.ir.overrides import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.declarations.* @@ -12,7 +12,6 @@ import org.jetbrains.kotlin.ir.expressions.IrCall import org.jetbrains.kotlin.ir.expressions.IrFunctionReference import org.jetbrains.kotlin.ir.expressions.IrLocalDelegatedPropertyReference import org.jetbrains.kotlin.ir.expressions.IrPropertyReference -import org.jetbrains.kotlin.ir.overrides.IrFakeOverrideBuilder import org.jetbrains.kotlin.ir.symbols.IrClassSymbol import org.jetbrains.kotlin.ir.symbols.IrSymbol import org.jetbrains.kotlin.ir.types.getClass diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/Fir2IrJsResultsConverter.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/Fir2IrJsResultsConverter.kt index 596ffa4d434..3959a278e53 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/Fir2IrJsResultsConverter.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/Fir2IrJsResultsConverter.kt @@ -131,7 +131,7 @@ class Fir2IrJsResultsConverter( val (firFile, components) = firFilesAndComponentsBySourceFile[file] ?: error("cannot find FIR file by source file ${file.name} (${file.path})") if (actualizedExpectDeclarations == null && irActualizedResult != null) { - actualizedExpectDeclarations = irActualizedResult.extractFirDeclarations() + actualizedExpectDeclarations = irActualizedResult.actualizedExpectDeclarations.extractFirDeclarations() } serializeSingleFirFile( firFile, diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/Fir2IrJvmResultsConverter.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/Fir2IrJvmResultsConverter.kt index f6baf89777a..28a6a67588a 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/Fir2IrJvmResultsConverter.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/Fir2IrJvmResultsConverter.kt @@ -131,7 +131,7 @@ class Fir2IrJvmResultsConverter( phaseConfig, components.irProviders, fir2IrExtensions, - FirJvmBackendExtension(components, irActualizedResult = null), + FirJvmBackendExtension(components, actualizedExpectDeclarations = null), pluginContext, notifyCodegenStart = {}, ) diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/Fir2IrWasmResultsConverter.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/Fir2IrWasmResultsConverter.kt index f03beba86bf..cf5ecb47944 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/Fir2IrWasmResultsConverter.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/Fir2IrWasmResultsConverter.kt @@ -132,7 +132,7 @@ class Fir2IrWasmResultsConverter( val (firFile, components) = firFilesAndComponentsBySourceFile[file] ?: error("cannot find FIR file by source file ${file.name} (${file.path})") if (actualizedExpectDeclarations == null && irActualizedResult != null) { - actualizedExpectDeclarations = irActualizedResult.extractFirDeclarations() + actualizedExpectDeclarations = irActualizedResult.actualizedExpectDeclarations.extractFirDeclarations() } serializeSingleFirFile( firFile, diff --git a/compiler/tests-compiler-utils/tests/org/jetbrains/kotlin/codegen/GenerationUtils.kt b/compiler/tests-compiler-utils/tests/org/jetbrains/kotlin/codegen/GenerationUtils.kt index 7010dcd0812..46de2b43640 100644 --- a/compiler/tests-compiler-utils/tests/org/jetbrains/kotlin/codegen/GenerationUtils.kt +++ b/compiler/tests-compiler-utils/tests/org/jetbrains/kotlin/codegen/GenerationUtils.kt @@ -176,7 +176,7 @@ object GenerationUtils { generationState.oldBEInitTrace(files) codegenFactory.generateModuleInFrontendIRMode( generationState, moduleFragment, components.symbolTable, components.irProviders, - fir2IrExtensions, FirJvmBackendExtension(components, irActualizedResult = null), pluginContext, + fir2IrExtensions, FirJvmBackendExtension(components, actualizedExpectDeclarations = null), pluginContext, ) {} generationState.factory.done() diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/FirNativeSerializer.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/FirNativeSerializer.kt index 8e1ad7eb0dd..849932efcad 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/FirNativeSerializer.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/FirNativeSerializer.kt @@ -64,7 +64,7 @@ internal fun PhaseContext.firSerializerBase( } } - val actualizedFirDeclarations = fir2IrInput?.irActualizedResult?.extractFirDeclarations() + val actualizedFirDeclarations = fir2IrInput?.irActualizedResult?.actualizedExpectDeclarations?.extractFirDeclarations() return serializeNativeModule( configuration = configuration, messageLogger = configuration.get(IrMessageLogger.IR_MESSAGE_LOGGER) ?: IrMessageLogger.None,