Make visibilities of writeSelf and deserialization constructor in FIR
same as they were in K1 (see KSerializerDescriptorResolver): internal for final classes and public for non-final. Unfortunately, there are no Klib API dumps tests in the compiler, so I tested manually. #KT-64124 Fixed
This commit is contained in:
committed by
Space Team
parent
9933423a0b
commit
a03fd2e29a
+2
-2
@@ -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())
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
+1
-1
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user