diff --git a/plugins/kotlinx-serialization/kotlinx-serialization.backend/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/IrPreGenerator.kt b/plugins/kotlinx-serialization/kotlinx-serialization.backend/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/IrPreGenerator.kt index 4f17a00afa9..3e6ecd8772b 100644 --- a/plugins/kotlinx-serialization/kotlinx-serialization.backend/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/IrPreGenerator.kt +++ b/plugins/kotlinx-serialization/kotlinx-serialization.backend/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/IrPreGenerator.kt @@ -56,7 +56,7 @@ class IrPreGenerator( val method = irClass.addFunction { name = SerialEntityNames.WRITE_SELF_NAME returnType = compilerContext.irBuiltIns.unitType - visibility = DescriptorVisibilities.PUBLIC + visibility = if (irClass.modality == Modality.FINAL) DescriptorVisibilities.INTERNAL else DescriptorVisibilities.PUBLIC modality = Modality.FINAL origin = SERIALIZATION_PLUGIN_ORIGIN } @@ -118,7 +118,7 @@ class IrPreGenerator( if (irClass.findSerializableSyntheticConstructor() != null) return val ctor = irClass.addConstructor { origin = SERIALIZATION_PLUGIN_ORIGIN - visibility = DescriptorVisibilities.PUBLIC + visibility = if (irClass.modality == Modality.FINAL) DescriptorVisibilities.INTERNAL else DescriptorVisibilities.PUBLIC }.apply { excludeFromJsExport() } val markerClassSymbol = compilerContext.getClassFromInternalSerializationPackage(SerialEntityNames.SERIAL_CTOR_MARKER_NAME.asString()) diff --git a/plugins/kotlinx-serialization/testData/codegen/Basic.asm.fir.txt b/plugins/kotlinx-serialization/testData/codegen/Basic.asm.fir.txt index 5cb45013dc3..93604f034c2 100644 --- a/plugins/kotlinx-serialization/testData/codegen/Basic.asm.fir.txt +++ b/plugins/kotlinx-serialization/testData/codegen/Basic.asm.fir.txt @@ -176,7 +176,7 @@ public final class ListOfUsers$$serializer : java/lang/Object, kotlinx/serializa ALOAD (2) ALOAD (4) ALOAD (3) - INVOKESTATIC (ListOfUsers, write$Self, (LListOfUsers;Lkotlinx/serialization/encoding/CompositeEncoder;Lkotlinx/serialization/descriptors/SerialDescriptor;)V) + INVOKESTATIC (ListOfUsers, write$Self$main, (LListOfUsers;Lkotlinx/serialization/encoding/CompositeEncoder;Lkotlinx/serialization/descriptors/SerialDescriptor;)V) ALOAD (4) ALOAD (3) INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeEncoder, endStructure, (Lkotlinx/serialization/descriptors/SerialDescriptor;)V) @@ -290,7 +290,7 @@ public final class ListOfUsers : java/lang/Object { public final java.util.List getList() - public final static void write$Self(ListOfUsers self, kotlinx.serialization.encoding.CompositeEncoder output, kotlinx.serialization.descriptors.SerialDescriptor serialDesc) { + public final static void write$Self$main(ListOfUsers self, kotlinx.serialization.encoding.CompositeEncoder output, kotlinx.serialization.descriptors.SerialDescriptor serialDesc) { LABEL (L0) LINENUMBER (12) GETSTATIC (ListOfUsers, $childSerializers, [Lkotlinx/serialization/KSerializer;) @@ -478,7 +478,7 @@ public final class OptionalUser$$serializer : java/lang/Object, kotlinx/serializ ALOAD (2) ALOAD (4) ALOAD (3) - INVOKESTATIC (OptionalUser, write$Self, (LOptionalUser;Lkotlinx/serialization/encoding/CompositeEncoder;Lkotlinx/serialization/descriptors/SerialDescriptor;)V) + INVOKESTATIC (OptionalUser, write$Self$main, (LOptionalUser;Lkotlinx/serialization/encoding/CompositeEncoder;Lkotlinx/serialization/descriptors/SerialDescriptor;)V) ALOAD (4) ALOAD (3) INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeEncoder, endStructure, (Lkotlinx/serialization/descriptors/SerialDescriptor;)V) @@ -623,7 +623,7 @@ public final class OptionalUser : java/lang/Object { public final User getUser() - public final static void write$Self(OptionalUser self, kotlinx.serialization.encoding.CompositeEncoder output, kotlinx.serialization.descriptors.SerialDescriptor serialDesc) { + public final static void write$Self$main(OptionalUser self, kotlinx.serialization.encoding.CompositeEncoder output, kotlinx.serialization.descriptors.SerialDescriptor serialDesc) { LABEL (L0) LINENUMBER (9) ALOAD (1) @@ -859,7 +859,7 @@ public final class User$$serializer : java/lang/Object, kotlinx/serialization/in ALOAD (2) ALOAD (4) ALOAD (3) - INVOKESTATIC (User, write$Self, (LUser;Lkotlinx/serialization/encoding/CompositeEncoder;Lkotlinx/serialization/descriptors/SerialDescriptor;)V) + INVOKESTATIC (User, write$Self$main, (LUser;Lkotlinx/serialization/encoding/CompositeEncoder;Lkotlinx/serialization/descriptors/SerialDescriptor;)V) ALOAD (4) ALOAD (3) INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeEncoder, endStructure, (Lkotlinx/serialization/descriptors/SerialDescriptor;)V) @@ -969,7 +969,7 @@ public final class User : java/lang/Object { public final java.lang.String getLastName() - public final static void write$Self(User self, kotlinx.serialization.encoding.CompositeEncoder output, kotlinx.serialization.descriptors.SerialDescriptor serialDesc) { + public final static void write$Self$main(User self, kotlinx.serialization.encoding.CompositeEncoder output, kotlinx.serialization.descriptors.SerialDescriptor serialDesc) { LABEL (L0) LINENUMBER (6) ALOAD (1) diff --git a/plugins/kotlinx-serialization/testData/codegen/Intrinsics.asm.fir.txt b/plugins/kotlinx-serialization/testData/codegen/Intrinsics.asm.fir.txt index 119dac4cc1b..eaaffa5314c 100644 --- a/plugins/kotlinx-serialization/testData/codegen/Intrinsics.asm.fir.txt +++ b/plugins/kotlinx-serialization/testData/codegen/Intrinsics.asm.fir.txt @@ -59,7 +59,7 @@ public final class Box : java/lang/Object { public java.lang.String toString() - public final static void write$Self(Box self, kotlinx.serialization.encoding.CompositeEncoder output, kotlinx.serialization.descriptors.SerialDescriptor serialDesc, kotlinx.serialization.KSerializer typeSerial0) + public final static void write$Self$main(Box self, kotlinx.serialization.encoding.CompositeEncoder output, kotlinx.serialization.descriptors.SerialDescriptor serialDesc, kotlinx.serialization.KSerializer typeSerial0) } public final class IntrinsicsKt : java/lang/Object { @@ -263,5 +263,5 @@ public final class Simple : java/lang/Object { public final java.lang.String getLastName() - public final static void write$Self(Simple self, kotlinx.serialization.encoding.CompositeEncoder output, kotlinx.serialization.descriptors.SerialDescriptor serialDesc) + public final static void write$Self$main(Simple self, kotlinx.serialization.encoding.CompositeEncoder output, kotlinx.serialization.descriptors.SerialDescriptor serialDesc) } diff --git a/plugins/kotlinx-serialization/testData/codegen/IntrinsicsAdvanced.asm.fir.txt b/plugins/kotlinx-serialization/testData/codegen/IntrinsicsAdvanced.asm.fir.txt index 71ffd304868..f4ebf35a38b 100644 --- a/plugins/kotlinx-serialization/testData/codegen/IntrinsicsAdvanced.asm.fir.txt +++ b/plugins/kotlinx-serialization/testData/codegen/IntrinsicsAdvanced.asm.fir.txt @@ -205,5 +205,5 @@ public final class Simple : java/lang/Object { public final java.lang.String getLastName() - public final static void write$Self(Simple self, kotlinx.serialization.encoding.CompositeEncoder output, kotlinx.serialization.descriptors.SerialDescriptor serialDesc) + public final static void write$Self$main(Simple self, kotlinx.serialization.encoding.CompositeEncoder output, kotlinx.serialization.descriptors.SerialDescriptor serialDesc) } diff --git a/plugins/kotlinx-serialization/testData/codegen/Sealed.asm.fir.txt b/plugins/kotlinx-serialization/testData/codegen/Sealed.asm.fir.txt index 7c2db4644f7..2479340eb30 100644 --- a/plugins/kotlinx-serialization/testData/codegen/Sealed.asm.fir.txt +++ b/plugins/kotlinx-serialization/testData/codegen/Sealed.asm.fir.txt @@ -256,7 +256,7 @@ public final class Container : java/lang/Object { public final Result getR() - public final static void write$Self(Container self, kotlinx.serialization.encoding.CompositeEncoder output, kotlinx.serialization.descriptors.SerialDescriptor serialDesc) { + public final static void write$Self$main(Container self, kotlinx.serialization.encoding.CompositeEncoder output, kotlinx.serialization.descriptors.SerialDescriptor serialDesc) { LABEL (L0) LINENUMBER (18) GETSTATIC (Container, $childSerializers, [Lkotlinx/serialization/KSerializer;) @@ -696,7 +696,7 @@ public final class Result$OK : Result { public final java.lang.String getS() - public final static void write$Self(Result$OK self, kotlinx.serialization.encoding.CompositeEncoder output, kotlinx.serialization.descriptors.SerialDescriptor serialDesc) { + public final static void write$Self$main(Result$OK self, kotlinx.serialization.encoding.CompositeEncoder output, kotlinx.serialization.descriptors.SerialDescriptor serialDesc) { LABEL (L0) LINENUMBER (14) ALOAD (0)