Skip to content

Commit e6c6a4e

Browse files
committed
Set IrFileSerializer.publicAbiOnly for header mode.
^KT-78422
1 parent b5899d8 commit e6c6a4e

File tree

5 files changed

+13
-9
lines changed

5 files changed

+13
-9
lines changed

compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -441,7 +441,7 @@ fun serializeModuleIntoKlib(
441441
dependencies = dependencies,
442442
createModuleSerializer = { irDiagnosticReporter ->
443443
JsIrModuleSerializer(
444-
settings = IrSerializationSettings(configuration),
444+
settings = IrSerializationSettings(configuration, publicAbiOnly = configuration.headerCompilation),
445445
irDiagnosticReporter,
446446
irBuiltIns,
447447
) { JsIrFileMetadata(moduleExportedNames[it]?.values?.toSmartList() ?: emptyList()) }

compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/backend/jvm/serialization/JvmIrSerializerSession.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.backend.common.serialization.IrSerializationSettings
1111
import org.jetbrains.kotlin.backend.jvm.serialization.proto.JvmIr
1212
import org.jetbrains.kotlin.config.CompilerConfiguration
1313
import org.jetbrains.kotlin.config.JvmSerializeIrMode
14+
import org.jetbrains.kotlin.config.headerCompilation
1415
import org.jetbrains.kotlin.ir.IrElement
1516
import org.jetbrains.kotlin.ir.declarations.*
1617
import org.jetbrains.kotlin.ir.visitors.IrVisitor
@@ -26,6 +27,7 @@ class JvmIrSerializerSession(
2627
IrSerializationSettings(
2728
configuration = configuration,
2829
bodiesOnlyForInlines = mode == JvmSerializeIrMode.INLINE,
30+
publicAbiOnly = configuration.headerCompilation
2931
),
3032
declarationTable,
3133
) {

js/js.tests/tests/org/jetbrains/kotlin/benchmarks/GenerateIrRuntime.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -502,7 +502,7 @@ class GenerateIrRuntime {
502502
val messageCollector = configuration.getNotNull(CommonConfigurationKeys.MESSAGE_COLLECTOR_KEY)
503503

504504
return JsIrModuleSerializer(
505-
settings = IrSerializationSettings(configuration),
505+
settings = IrSerializationSettings(configuration, publicAbiOnly = configuration.headerCompilation),
506506
KtDiagnosticReporterWithImplicitIrBasedContext(
507507
DiagnosticReporterFactory.createPendingReporter(messageCollector),
508508
configuration.languageVersionSettings,

kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/FirNativeSerializer.kt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.backend.konan.serialization.KonanIrModuleSerializer
1111
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
1212
import org.jetbrains.kotlin.cli.common.fir.reportToMessageCollector
1313
import org.jetbrains.kotlin.config.CommonConfigurationKeys
14+
import org.jetbrains.kotlin.config.headerCompilation
1415
import org.jetbrains.kotlin.diagnostics.DiagnosticReporterFactory
1516
import org.jetbrains.kotlin.fir.moduleData
1617
import org.jetbrains.kotlin.fir.pipeline.Fir2KlibMetadataSerializer
@@ -58,12 +59,12 @@ internal fun PhaseContext.firSerializerBase(
5859
dependencies = usedResolvedLibraries?.map { it.library as KonanLibrary }.orEmpty(),
5960
createModuleSerializer = { irDiagnosticReporter ->
6061
KonanIrModuleSerializer(
61-
settings = IrSerializationSettings(
62-
configuration = configuration,
63-
publicAbiOnly = produceHeaderKlib,
64-
),
65-
diagnosticReporter = irDiagnosticReporter,
66-
irBuiltIns = fir2IrOutput?.fir2irActualizedResult?.irBuiltIns!!,
62+
settings = IrSerializationSettings(
63+
configuration = configuration,
64+
publicAbiOnly = produceHeaderKlib || configuration.headerCompilation,
65+
),
66+
diagnosticReporter = irDiagnosticReporter,
67+
irBuiltIns = fir2IrOutput?.fir2irActualizedResult?.irBuiltIns!!,
6768
)
6869
},
6970
)

kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/driver/phases/Serializer.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.backend.konan.PsiToIrOutput
1313
import org.jetbrains.kotlin.backend.konan.driver.PhaseContext
1414
import org.jetbrains.kotlin.backend.konan.serialization.KonanIrModuleSerializer
1515
import org.jetbrains.kotlin.config.CommonConfigurationKeys
16+
import org.jetbrains.kotlin.config.headerCompilation
1617
import org.jetbrains.kotlin.config.languageVersionSettings
1718
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
1819
import org.jetbrains.kotlin.diagnostics.DiagnosticReporterFactory
@@ -40,7 +41,7 @@ internal val SerializerPhase = createSimpleNamedCompilerPhase<PhaseContext, Seri
4041
KonanIrModuleSerializer(
4142
settings = IrSerializationSettings(
4243
configuration = config.configuration,
43-
publicAbiOnly = input.produceHeaderKlib,
44+
publicAbiOnly = input.produceHeaderKlib || config.configuration.headerCompilation,
4445
),
4546
KtDiagnosticReporterWithImplicitIrBasedContext(
4647
DiagnosticReporterFactory.createPendingReporter(messageCollector),

0 commit comments

Comments
 (0)