Files
kotlin-fork/plugins/kotlin-serialization/kotlin-serialization-compiler/testData/codegen/Basic.ir.txt
T
Leonid Startsev 3b789448a3 Support static final write$Self method inside serializable classes on IR
to properly serialize class hierarchies with/or private fields.
JVM only for now, because Native/JS do not have private fields.
Update tests and test data and rebase fix.
Unify formEncodeDecodePropertyCall functions.
Fix incorrect reference to object in writeSelf,
so properties dependent on other properties would be correctly compared
with defaults.
2021-04-05 18:25:46 +03:00

1040 lines
35 KiB
Plaintext
Vendored

public final class ListOfUsers$$serializer : java/lang/Object, kotlinx/serialization/internal/GeneratedSerializer {
public final static ListOfUsers$$serializer INSTANCE
public final static kotlinx.serialization.descriptors.SerialDescriptor descriptor
static void <clinit>() {
NEW
DUP
INVOKESPECIAL (ListOfUsers$$serializer, <init>, ()V)
PUTSTATIC (INSTANCE, LListOfUsers$$serializer;)
LABEL (L0)
LINENUMBER (12)
NEW
DUP
LDC (ListOfUsers)
GETSTATIC (INSTANCE, LListOfUsers$$serializer;)
CHECKCAST
ICONST_1
INVOKESPECIAL (kotlinx/serialization/internal/PluginGeneratedSerialDescriptor, <init>, (Ljava/lang/String;Lkotlinx/serialization/internal/GeneratedSerializer;I)V)
ASTORE (0)
ALOAD (0)
LDC (list)
ICONST_0
INVOKEVIRTUAL (kotlinx/serialization/internal/PluginGeneratedSerialDescriptor, addElement, (Ljava/lang/String;Z)V)
ALOAD (0)
CHECKCAST
PUTSTATIC (descriptor, Lkotlinx/serialization/descriptors/SerialDescriptor;)
LABEL (L1)
LINENUMBER (13)
RETURN
}
private void <init>() {
LABEL (L0)
LINENUMBER (12)
ALOAD (0)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
RETURN
LABEL (L1)
}
public kotlinx.serialization.KSerializer[] childSerializers() {
LABEL (L0)
LINENUMBER (12)
ICONST_1
ANEWARRAY
ASTORE (1)
ALOAD (1)
ICONST_0
NEW
DUP
GETSTATIC (INSTANCE, LUser$$serializer;)
CHECKCAST
INVOKESPECIAL (kotlinx/serialization/internal/ArrayListSerializer, <init>, (Lkotlinx/serialization/KSerializer;)V)
CHECKCAST
AASTORE
ALOAD (1)
ARETURN
LABEL (L1)
}
public ListOfUsers deserialize(kotlinx.serialization.encoding.Decoder decoder) {
LABEL (L0)
ALOAD (1)
LDC (decoder)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
LABEL (L1)
LINENUMBER (12)
ALOAD (0)
INVOKEVIRTUAL (ListOfUsers$$serializer, getDescriptor, ()Lkotlinx/serialization/descriptors/SerialDescriptor;)
ASTORE (2)
ICONST_1
ISTORE (3)
ICONST_0
ISTORE (4)
ICONST_0
ISTORE (5)
ACONST_NULL
ASTORE (6)
ALOAD (1)
ALOAD (2)
INVOKEINTERFACE (kotlinx/serialization/encoding/Decoder, beginStructure, (Lkotlinx/serialization/descriptors/SerialDescriptor;)Lkotlinx/serialization/encoding/CompositeDecoder;)
ASTORE (7)
ALOAD (7)
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, decodeSequentially, ()Z)
IFEQ (L2)
ALOAD (7)
ALOAD (2)
ICONST_0
NEW
DUP
GETSTATIC (INSTANCE, LUser$$serializer;)
CHECKCAST
INVOKESPECIAL (kotlinx/serialization/internal/ArrayListSerializer, <init>, (Lkotlinx/serialization/KSerializer;)V)
CHECKCAST
ALOAD (6)
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, decodeSerializableElement, (Lkotlinx/serialization/descriptors/SerialDescriptor;ILkotlinx/serialization/DeserializationStrategy;Ljava/lang/Object;)Ljava/lang/Object;)
ASTORE (6)
ILOAD (5)
ICONST_1
IOR
ISTORE (5)
GOTO (L3)
LABEL (L2)
ILOAD (3)
IFEQ (L3)
ALOAD (7)
ALOAD (2)
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, decodeElementIndex, (Lkotlinx/serialization/descriptors/SerialDescriptor;)I)
ISTORE (4)
ILOAD (4)
TABLESWITCH
LABEL (L4)
ICONST_0
ISTORE (3)
GOTO (L2)
LABEL (L5)
ALOAD (7)
ALOAD (2)
ICONST_0
NEW
DUP
GETSTATIC (INSTANCE, LUser$$serializer;)
CHECKCAST
INVOKESPECIAL (kotlinx/serialization/internal/ArrayListSerializer, <init>, (Lkotlinx/serialization/KSerializer;)V)
CHECKCAST
ALOAD (6)
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, decodeSerializableElement, (Lkotlinx/serialization/descriptors/SerialDescriptor;ILkotlinx/serialization/DeserializationStrategy;Ljava/lang/Object;)Ljava/lang/Object;)
ASTORE (6)
ILOAD (5)
ICONST_1
IOR
ISTORE (5)
GOTO (L2)
LABEL (L6)
NEW
DUP
ILOAD (4)
INVOKESPECIAL (kotlinx/serialization/UnknownFieldException, <init>, (I)V)
ATHROW
LABEL (L3)
ALOAD (7)
ALOAD (2)
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, endStructure, (Lkotlinx/serialization/descriptors/SerialDescriptor;)V)
NEW
DUP
ILOAD (5)
ALOAD (6)
CHECKCAST
ACONST_NULL
INVOKESPECIAL (ListOfUsers, <init>, (ILjava/util/List;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V)
ARETURN
LABEL (L7)
}
public java.lang.Object deserialize(kotlinx.serialization.encoding.Decoder decoder) {
LABEL (L0)
LINENUMBER (12)
ALOAD (0)
ALOAD (1)
INVOKEVIRTUAL (ListOfUsers$$serializer, deserialize, (Lkotlinx/serialization/encoding/Decoder;)LListOfUsers;)
ARETURN
LABEL (L1)
}
public kotlinx.serialization.descriptors.SerialDescriptor getDescriptor()
public void serialize(kotlinx.serialization.encoding.Encoder encoder, ListOfUsers value) {
LABEL (L0)
ALOAD (1)
LDC (encoder)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
ALOAD (2)
LDC (value)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
LABEL (L1)
LINENUMBER (12)
ALOAD (0)
INVOKEVIRTUAL (ListOfUsers$$serializer, getDescriptor, ()Lkotlinx/serialization/descriptors/SerialDescriptor;)
ASTORE (3)
ALOAD (1)
ALOAD (3)
INVOKEINTERFACE (kotlinx/serialization/encoding/Encoder, beginStructure, (Lkotlinx/serialization/descriptors/SerialDescriptor;)Lkotlinx/serialization/encoding/CompositeEncoder;)
ASTORE (4)
ALOAD (2)
ALOAD (4)
ALOAD (3)
INVOKESTATIC (ListOfUsers, write$Self, (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)
RETURN
LABEL (L2)
}
public void serialize(kotlinx.serialization.encoding.Encoder encoder, java.lang.Object value) {
LABEL (L0)
LINENUMBER (12)
ALOAD (0)
ALOAD (1)
ALOAD (2)
CHECKCAST
INVOKEVIRTUAL (ListOfUsers$$serializer, serialize, (Lkotlinx/serialization/encoding/Encoder;LListOfUsers;)V)
RETURN
LABEL (L1)
}
public kotlinx.serialization.KSerializer[] typeParametersSerializers()
}
public final class ListOfUsers$Companion : java/lang/Object {
private void <init>() {
LABEL (L0)
LINENUMBER (12)
ALOAD (0)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
RETURN
LABEL (L1)
}
public void <init>(kotlin.jvm.internal.DefaultConstructorMarker $constructor_marker) {
LABEL (L0)
ALOAD (0)
INVOKESPECIAL (ListOfUsers$Companion, <init>, ()V)
RETURN
LABEL (L1)
}
public final kotlinx.serialization.KSerializer serializer()
}
public final class ListOfUsers : java/lang/Object {
public final static ListOfUsers$Companion Companion
private final java.util.List list
static void <clinit>() {
NEW
DUP
ACONST_NULL
INVOKESPECIAL (ListOfUsers$Companion, <init>, (Lkotlin/jvm/internal/DefaultConstructorMarker;)V)
PUTSTATIC (Companion, LListOfUsers$Companion;)
RETURN
}
public void <init>(java.util.List list) {
LABEL (L0)
ALOAD (1)
LDC (list)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
LABEL (L1)
LINENUMBER (12)
ALOAD (0)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
LABEL (L2)
LINENUMBER (13)
ALOAD (0)
ALOAD (1)
PUTFIELD (list, Ljava/util/List;)
RETURN
LABEL (L3)
}
public void <init>(int seen1, java.util.List list, kotlinx.serialization.internal.SerializationConstructorMarker serializationConstructorMarker) {
LABEL (L0)
LINENUMBER (12)
ICONST_1
ICONST_1
ILOAD (1)
IAND
IF_ICMPEQ (L1)
ILOAD (1)
ICONST_1
GETSTATIC (INSTANCE, LListOfUsers$$serializer;)
INVOKEVIRTUAL (ListOfUsers$$serializer, getDescriptor, ()Lkotlinx/serialization/descriptors/SerialDescriptor;)
INVOKESTATIC (kotlinx/serialization/internal/PluginExceptionsKt, throwMissingFieldException, (IILkotlinx/serialization/descriptors/SerialDescriptor;)V)
LABEL (L1)
ALOAD (0)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
ALOAD (0)
ALOAD (2)
PUTFIELD (list, Ljava/util/List;)
RETURN
LABEL (L2)
}
public final java.util.List getList()
public final static void write$Self(ListOfUsers self, kotlinx.serialization.encoding.CompositeEncoder output, kotlinx.serialization.descriptors.SerialDescriptor serialDesc) {
LABEL (L0)
ALOAD (0)
LDC (self)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
ALOAD (1)
LDC (output)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
ALOAD (2)
LDC (serialDesc)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
LABEL (L1)
LINENUMBER (12)
ALOAD (1)
ALOAD (2)
ICONST_0
NEW
DUP
GETSTATIC (INSTANCE, LUser$$serializer;)
CHECKCAST
INVOKESPECIAL (kotlinx/serialization/internal/ArrayListSerializer, <init>, (Lkotlinx/serialization/KSerializer;)V)
CHECKCAST
ALOAD (0)
GETFIELD (list, Ljava/util/List;)
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeEncoder, encodeSerializableElement, (Lkotlinx/serialization/descriptors/SerialDescriptor;ILkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;)V)
RETURN
LABEL (L2)
}
}
public final class OptionalUser$$serializer : java/lang/Object, kotlinx/serialization/internal/GeneratedSerializer {
public final static OptionalUser$$serializer INSTANCE
public final static kotlinx.serialization.descriptors.SerialDescriptor descriptor
static void <clinit>() {
NEW
DUP
INVOKESPECIAL (OptionalUser$$serializer, <init>, ()V)
PUTSTATIC (INSTANCE, LOptionalUser$$serializer;)
LABEL (L0)
LINENUMBER (9)
NEW
DUP
LDC (OptionalUser)
GETSTATIC (INSTANCE, LOptionalUser$$serializer;)
CHECKCAST
ICONST_1
INVOKESPECIAL (kotlinx/serialization/internal/PluginGeneratedSerialDescriptor, <init>, (Ljava/lang/String;Lkotlinx/serialization/internal/GeneratedSerializer;I)V)
ASTORE (0)
ALOAD (0)
LDC (user)
ICONST_1
INVOKEVIRTUAL (kotlinx/serialization/internal/PluginGeneratedSerialDescriptor, addElement, (Ljava/lang/String;Z)V)
ALOAD (0)
CHECKCAST
PUTSTATIC (descriptor, Lkotlinx/serialization/descriptors/SerialDescriptor;)
LABEL (L1)
LINENUMBER (10)
RETURN
}
private void <init>() {
LABEL (L0)
LINENUMBER (9)
ALOAD (0)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
RETURN
LABEL (L1)
}
public kotlinx.serialization.KSerializer[] childSerializers() {
LABEL (L0)
LINENUMBER (9)
ICONST_1
ANEWARRAY
ASTORE (1)
ALOAD (1)
ICONST_0
GETSTATIC (INSTANCE, LUser$$serializer;)
CHECKCAST
AASTORE
ALOAD (1)
ARETURN
LABEL (L1)
}
public OptionalUser deserialize(kotlinx.serialization.encoding.Decoder decoder) {
LABEL (L0)
ALOAD (1)
LDC (decoder)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
LABEL (L1)
LINENUMBER (9)
ALOAD (0)
INVOKEVIRTUAL (OptionalUser$$serializer, getDescriptor, ()Lkotlinx/serialization/descriptors/SerialDescriptor;)
ASTORE (2)
ICONST_1
ISTORE (3)
ICONST_0
ISTORE (4)
ICONST_0
ISTORE (5)
ACONST_NULL
ASTORE (6)
ALOAD (1)
ALOAD (2)
INVOKEINTERFACE (kotlinx/serialization/encoding/Decoder, beginStructure, (Lkotlinx/serialization/descriptors/SerialDescriptor;)Lkotlinx/serialization/encoding/CompositeDecoder;)
ASTORE (7)
ALOAD (7)
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, decodeSequentially, ()Z)
IFEQ (L2)
ALOAD (7)
ALOAD (2)
ICONST_0
GETSTATIC (INSTANCE, LUser$$serializer;)
CHECKCAST
ALOAD (6)
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, decodeSerializableElement, (Lkotlinx/serialization/descriptors/SerialDescriptor;ILkotlinx/serialization/DeserializationStrategy;Ljava/lang/Object;)Ljava/lang/Object;)
ASTORE (6)
ILOAD (5)
ICONST_1
IOR
ISTORE (5)
GOTO (L3)
LABEL (L2)
ILOAD (3)
IFEQ (L3)
ALOAD (7)
ALOAD (2)
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, decodeElementIndex, (Lkotlinx/serialization/descriptors/SerialDescriptor;)I)
ISTORE (4)
ILOAD (4)
TABLESWITCH
LABEL (L4)
ICONST_0
ISTORE (3)
GOTO (L2)
LABEL (L5)
ALOAD (7)
ALOAD (2)
ICONST_0
GETSTATIC (INSTANCE, LUser$$serializer;)
CHECKCAST
ALOAD (6)
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, decodeSerializableElement, (Lkotlinx/serialization/descriptors/SerialDescriptor;ILkotlinx/serialization/DeserializationStrategy;Ljava/lang/Object;)Ljava/lang/Object;)
ASTORE (6)
ILOAD (5)
ICONST_1
IOR
ISTORE (5)
GOTO (L2)
LABEL (L6)
NEW
DUP
ILOAD (4)
INVOKESPECIAL (kotlinx/serialization/UnknownFieldException, <init>, (I)V)
ATHROW
LABEL (L3)
ALOAD (7)
ALOAD (2)
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, endStructure, (Lkotlinx/serialization/descriptors/SerialDescriptor;)V)
NEW
DUP
ILOAD (5)
ALOAD (6)
CHECKCAST
ACONST_NULL
INVOKESPECIAL (OptionalUser, <init>, (ILUser;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V)
ARETURN
LABEL (L7)
}
public java.lang.Object deserialize(kotlinx.serialization.encoding.Decoder decoder) {
LABEL (L0)
LINENUMBER (9)
ALOAD (0)
ALOAD (1)
INVOKEVIRTUAL (OptionalUser$$serializer, deserialize, (Lkotlinx/serialization/encoding/Decoder;)LOptionalUser;)
ARETURN
LABEL (L1)
}
public kotlinx.serialization.descriptors.SerialDescriptor getDescriptor()
public void serialize(kotlinx.serialization.encoding.Encoder encoder, OptionalUser value) {
LABEL (L0)
ALOAD (1)
LDC (encoder)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
ALOAD (2)
LDC (value)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
LABEL (L1)
LINENUMBER (9)
ALOAD (0)
INVOKEVIRTUAL (OptionalUser$$serializer, getDescriptor, ()Lkotlinx/serialization/descriptors/SerialDescriptor;)
ASTORE (3)
ALOAD (1)
ALOAD (3)
INVOKEINTERFACE (kotlinx/serialization/encoding/Encoder, beginStructure, (Lkotlinx/serialization/descriptors/SerialDescriptor;)Lkotlinx/serialization/encoding/CompositeEncoder;)
ASTORE (4)
ALOAD (2)
ALOAD (4)
ALOAD (3)
INVOKESTATIC (OptionalUser, write$Self, (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)
RETURN
LABEL (L2)
}
public void serialize(kotlinx.serialization.encoding.Encoder encoder, java.lang.Object value) {
LABEL (L0)
LINENUMBER (9)
ALOAD (0)
ALOAD (1)
ALOAD (2)
CHECKCAST
INVOKEVIRTUAL (OptionalUser$$serializer, serialize, (Lkotlinx/serialization/encoding/Encoder;LOptionalUser;)V)
RETURN
LABEL (L1)
}
public kotlinx.serialization.KSerializer[] typeParametersSerializers()
}
public final class OptionalUser$Companion : java/lang/Object {
private void <init>() {
LABEL (L0)
LINENUMBER (9)
ALOAD (0)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
RETURN
LABEL (L1)
}
public void <init>(kotlin.jvm.internal.DefaultConstructorMarker $constructor_marker) {
LABEL (L0)
ALOAD (0)
INVOKESPECIAL (OptionalUser$Companion, <init>, ()V)
RETURN
LABEL (L1)
}
public final kotlinx.serialization.KSerializer serializer()
}
public final class OptionalUser : java/lang/Object {
public final static OptionalUser$Companion Companion
private final User user
static void <clinit>() {
NEW
DUP
ACONST_NULL
INVOKESPECIAL (OptionalUser$Companion, <init>, (Lkotlin/jvm/internal/DefaultConstructorMarker;)V)
PUTSTATIC (Companion, LOptionalUser$Companion;)
RETURN
}
public void <init>(User user) {
LABEL (L0)
ALOAD (1)
LDC (user)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
LABEL (L1)
LINENUMBER (9)
ALOAD (0)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
LABEL (L2)
LINENUMBER (10)
ALOAD (0)
ALOAD (1)
PUTFIELD (user, LUser;)
RETURN
LABEL (L3)
}
public void <init>(User p0, int p1, kotlin.jvm.internal.DefaultConstructorMarker p2) {
LABEL (L0)
LINENUMBER (10)
ILOAD (2)
ICONST_1
IAND
IFEQ (L1)
NEW
DUP
LDC ()
LDC ()
INVOKESPECIAL (User, <init>, (Ljava/lang/String;Ljava/lang/String;)V)
ASTORE (1)
LABEL (L1)
ALOAD (0)
ALOAD (1)
INVOKESPECIAL (OptionalUser, <init>, (LUser;)V)
RETURN
}
public void <init>(int seen1, User user, kotlinx.serialization.internal.SerializationConstructorMarker serializationConstructorMarker) {
LABEL (L0)
LINENUMBER (9)
ICONST_0
ILOAD (1)
IAND
IFEQ (L1)
ILOAD (1)
ICONST_0
GETSTATIC (INSTANCE, LOptionalUser$$serializer;)
INVOKEVIRTUAL (OptionalUser$$serializer, getDescriptor, ()Lkotlinx/serialization/descriptors/SerialDescriptor;)
INVOKESTATIC (kotlinx/serialization/internal/PluginExceptionsKt, throwMissingFieldException, (IILkotlinx/serialization/descriptors/SerialDescriptor;)V)
LABEL (L1)
ALOAD (0)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
ILOAD (1)
ICONST_1
IAND
IFNE (L2)
ALOAD (0)
LABEL (L3)
LINENUMBER (10)
NEW
DUP
LDC ()
LDC ()
INVOKESPECIAL (User, <init>, (Ljava/lang/String;Ljava/lang/String;)V)
LABEL (L4)
LINENUMBER (9)
PUTFIELD (user, LUser;)
GOTO (L5)
LABEL (L2)
ALOAD (0)
ALOAD (2)
PUTFIELD (user, LUser;)
LABEL (L5)
RETURN
LABEL (L6)
}
public void <init>() {
LABEL (L0)
ALOAD (0)
ACONST_NULL
ICONST_1
ACONST_NULL
INVOKESPECIAL (OptionalUser, <init>, (LUser;ILkotlin/jvm/internal/DefaultConstructorMarker;)V)
RETURN
LABEL (L1)
}
public final User getUser()
public final static void write$Self(OptionalUser self, kotlinx.serialization.encoding.CompositeEncoder output, kotlinx.serialization.descriptors.SerialDescriptor serialDesc) {
LABEL (L0)
ALOAD (0)
LDC (self)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
ALOAD (1)
LDC (output)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
ALOAD (2)
LDC (serialDesc)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
LABEL (L1)
LINENUMBER (9)
ALOAD (1)
ALOAD (2)
ICONST_0
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeEncoder, shouldEncodeElementDefault, (Lkotlinx/serialization/descriptors/SerialDescriptor;I)Z)
IFEQ (L2)
ICONST_1
GOTO (L3)
LABEL (L2)
ALOAD (0)
GETFIELD (user, LUser;)
LABEL (L4)
LINENUMBER (10)
NEW
DUP
LDC ()
LDC ()
INVOKESPECIAL (User, <init>, (Ljava/lang/String;Ljava/lang/String;)V)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, areEqual, (Ljava/lang/Object;Ljava/lang/Object;)Z)
IFNE (L5)
ICONST_1
GOTO (L3)
LABEL (L5)
ICONST_0
LABEL (L3)
IFEQ (L6)
LABEL (L7)
LINENUMBER (9)
ALOAD (1)
ALOAD (2)
ICONST_0
GETSTATIC (INSTANCE, LUser$$serializer;)
CHECKCAST
ALOAD (0)
GETFIELD (user, LUser;)
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeEncoder, encodeSerializableElement, (Lkotlinx/serialization/descriptors/SerialDescriptor;ILkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;)V)
LABEL (L6)
RETURN
LABEL (L8)
}
}
public final class User$$serializer : java/lang/Object, kotlinx/serialization/internal/GeneratedSerializer {
public final static User$$serializer INSTANCE
public final static kotlinx.serialization.descriptors.SerialDescriptor descriptor
static void <clinit>() {
NEW
DUP
INVOKESPECIAL (User$$serializer, <init>, ()V)
PUTSTATIC (INSTANCE, LUser$$serializer;)
LABEL (L0)
LINENUMBER (6)
NEW
DUP
LDC (User)
GETSTATIC (INSTANCE, LUser$$serializer;)
CHECKCAST
ICONST_2
INVOKESPECIAL (kotlinx/serialization/internal/PluginGeneratedSerialDescriptor, <init>, (Ljava/lang/String;Lkotlinx/serialization/internal/GeneratedSerializer;I)V)
ASTORE (0)
ALOAD (0)
LDC (firstName)
ICONST_0
INVOKEVIRTUAL (kotlinx/serialization/internal/PluginGeneratedSerialDescriptor, addElement, (Ljava/lang/String;Z)V)
ALOAD (0)
LDC (lastName)
ICONST_0
INVOKEVIRTUAL (kotlinx/serialization/internal/PluginGeneratedSerialDescriptor, addElement, (Ljava/lang/String;Z)V)
ALOAD (0)
CHECKCAST
PUTSTATIC (descriptor, Lkotlinx/serialization/descriptors/SerialDescriptor;)
LABEL (L1)
LINENUMBER (7)
RETURN
}
private void <init>() {
LABEL (L0)
LINENUMBER (6)
ALOAD (0)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
RETURN
LABEL (L1)
}
public kotlinx.serialization.KSerializer[] childSerializers() {
LABEL (L0)
LINENUMBER (6)
ICONST_2
ANEWARRAY
ASTORE (1)
ALOAD (1)
ICONST_0
GETSTATIC (INSTANCE, Lkotlinx/serialization/internal/StringSerializer;)
CHECKCAST
AASTORE
ALOAD (1)
ICONST_1
GETSTATIC (INSTANCE, Lkotlinx/serialization/internal/StringSerializer;)
CHECKCAST
AASTORE
ALOAD (1)
ARETURN
LABEL (L1)
}
public User deserialize(kotlinx.serialization.encoding.Decoder decoder) {
LABEL (L0)
ALOAD (1)
LDC (decoder)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
LABEL (L1)
LINENUMBER (6)
ALOAD (0)
INVOKEVIRTUAL (User$$serializer, getDescriptor, ()Lkotlinx/serialization/descriptors/SerialDescriptor;)
ASTORE (2)
ICONST_1
ISTORE (3)
ICONST_0
ISTORE (4)
ICONST_0
ISTORE (5)
ACONST_NULL
ASTORE (6)
ACONST_NULL
ASTORE (7)
ALOAD (1)
ALOAD (2)
INVOKEINTERFACE (kotlinx/serialization/encoding/Decoder, beginStructure, (Lkotlinx/serialization/descriptors/SerialDescriptor;)Lkotlinx/serialization/encoding/CompositeDecoder;)
ASTORE (8)
ALOAD (8)
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, decodeSequentially, ()Z)
IFEQ (L2)
ALOAD (8)
ALOAD (2)
ICONST_0
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, decodeStringElement, (Lkotlinx/serialization/descriptors/SerialDescriptor;I)Ljava/lang/String;)
ASTORE (6)
ILOAD (5)
ICONST_1
IOR
ISTORE (5)
ALOAD (8)
ALOAD (2)
ICONST_1
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, decodeStringElement, (Lkotlinx/serialization/descriptors/SerialDescriptor;I)Ljava/lang/String;)
ASTORE (7)
ILOAD (5)
ICONST_2
IOR
ISTORE (5)
GOTO (L3)
LABEL (L2)
ILOAD (3)
IFEQ (L3)
ALOAD (8)
ALOAD (2)
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, decodeElementIndex, (Lkotlinx/serialization/descriptors/SerialDescriptor;)I)
ISTORE (4)
ILOAD (4)
TABLESWITCH
LABEL (L4)
ICONST_0
ISTORE (3)
GOTO (L2)
LABEL (L5)
ALOAD (8)
ALOAD (2)
ICONST_0
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, decodeStringElement, (Lkotlinx/serialization/descriptors/SerialDescriptor;I)Ljava/lang/String;)
ASTORE (6)
ILOAD (5)
ICONST_1
IOR
ISTORE (5)
GOTO (L2)
LABEL (L6)
ALOAD (8)
ALOAD (2)
ICONST_1
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, decodeStringElement, (Lkotlinx/serialization/descriptors/SerialDescriptor;I)Ljava/lang/String;)
ASTORE (7)
ILOAD (5)
ICONST_2
IOR
ISTORE (5)
GOTO (L2)
LABEL (L7)
NEW
DUP
ILOAD (4)
INVOKESPECIAL (kotlinx/serialization/UnknownFieldException, <init>, (I)V)
ATHROW
LABEL (L3)
ALOAD (8)
ALOAD (2)
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, endStructure, (Lkotlinx/serialization/descriptors/SerialDescriptor;)V)
NEW
DUP
ILOAD (5)
ALOAD (6)
ALOAD (7)
ACONST_NULL
INVOKESPECIAL (User, <init>, (ILjava/lang/String;Ljava/lang/String;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V)
ARETURN
LABEL (L8)
}
public java.lang.Object deserialize(kotlinx.serialization.encoding.Decoder decoder) {
LABEL (L0)
LINENUMBER (6)
ALOAD (0)
ALOAD (1)
INVOKEVIRTUAL (User$$serializer, deserialize, (Lkotlinx/serialization/encoding/Decoder;)LUser;)
ARETURN
LABEL (L1)
}
public kotlinx.serialization.descriptors.SerialDescriptor getDescriptor()
public void serialize(kotlinx.serialization.encoding.Encoder encoder, User value) {
LABEL (L0)
ALOAD (1)
LDC (encoder)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
ALOAD (2)
LDC (value)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
LABEL (L1)
LINENUMBER (6)
ALOAD (0)
INVOKEVIRTUAL (User$$serializer, getDescriptor, ()Lkotlinx/serialization/descriptors/SerialDescriptor;)
ASTORE (3)
ALOAD (1)
ALOAD (3)
INVOKEINTERFACE (kotlinx/serialization/encoding/Encoder, beginStructure, (Lkotlinx/serialization/descriptors/SerialDescriptor;)Lkotlinx/serialization/encoding/CompositeEncoder;)
ASTORE (4)
ALOAD (2)
ALOAD (4)
ALOAD (3)
INVOKESTATIC (User, write$Self, (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)
RETURN
LABEL (L2)
}
public void serialize(kotlinx.serialization.encoding.Encoder encoder, java.lang.Object value) {
LABEL (L0)
LINENUMBER (6)
ALOAD (0)
ALOAD (1)
ALOAD (2)
CHECKCAST
INVOKEVIRTUAL (User$$serializer, serialize, (Lkotlinx/serialization/encoding/Encoder;LUser;)V)
RETURN
LABEL (L1)
}
public kotlinx.serialization.KSerializer[] typeParametersSerializers()
}
public final class User$Companion : java/lang/Object {
private void <init>() {
LABEL (L0)
LINENUMBER (6)
ALOAD (0)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
RETURN
LABEL (L1)
}
public void <init>(kotlin.jvm.internal.DefaultConstructorMarker $constructor_marker) {
LABEL (L0)
ALOAD (0)
INVOKESPECIAL (User$Companion, <init>, ()V)
RETURN
LABEL (L1)
}
public final kotlinx.serialization.KSerializer serializer()
}
public final class User : java/lang/Object {
public final static User$Companion Companion
private final java.lang.String firstName
private final java.lang.String lastName
static void <clinit>() {
NEW
DUP
ACONST_NULL
INVOKESPECIAL (User$Companion, <init>, (Lkotlin/jvm/internal/DefaultConstructorMarker;)V)
PUTSTATIC (Companion, LUser$Companion;)
RETURN
}
public void <init>(java.lang.String firstName, java.lang.String lastName) {
LABEL (L0)
ALOAD (1)
LDC (firstName)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
ALOAD (2)
LDC (lastName)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
LABEL (L1)
LINENUMBER (6)
ALOAD (0)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
LABEL (L2)
LINENUMBER (7)
ALOAD (0)
ALOAD (1)
PUTFIELD (firstName, Ljava/lang/String;)
ALOAD (0)
ALOAD (2)
PUTFIELD (lastName, Ljava/lang/String;)
RETURN
LABEL (L3)
}
public void <init>(int seen1, java.lang.String firstName, java.lang.String lastName, kotlinx.serialization.internal.SerializationConstructorMarker serializationConstructorMarker) {
LABEL (L0)
LINENUMBER (6)
ICONST_3
ICONST_3
ILOAD (1)
IAND
IF_ICMPEQ (L1)
ILOAD (1)
ICONST_3
GETSTATIC (INSTANCE, LUser$$serializer;)
INVOKEVIRTUAL (User$$serializer, getDescriptor, ()Lkotlinx/serialization/descriptors/SerialDescriptor;)
INVOKESTATIC (kotlinx/serialization/internal/PluginExceptionsKt, throwMissingFieldException, (IILkotlinx/serialization/descriptors/SerialDescriptor;)V)
LABEL (L1)
ALOAD (0)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
ALOAD (0)
ALOAD (2)
PUTFIELD (firstName, Ljava/lang/String;)
ALOAD (0)
ALOAD (3)
PUTFIELD (lastName, Ljava/lang/String;)
RETURN
LABEL (L2)
}
public final java.lang.String getFirstName()
public final java.lang.String getLastName()
public final static void write$Self(User self, kotlinx.serialization.encoding.CompositeEncoder output, kotlinx.serialization.descriptors.SerialDescriptor serialDesc) {
LABEL (L0)
ALOAD (0)
LDC (self)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
ALOAD (1)
LDC (output)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
ALOAD (2)
LDC (serialDesc)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
LABEL (L1)
LINENUMBER (6)
ALOAD (1)
ALOAD (2)
ICONST_0
ALOAD (0)
GETFIELD (firstName, Ljava/lang/String;)
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeEncoder, encodeStringElement, (Lkotlinx/serialization/descriptors/SerialDescriptor;ILjava/lang/String;)V)
ALOAD (1)
ALOAD (2)
ICONST_1
ALOAD (0)
GETFIELD (lastName, Ljava/lang/String;)
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeEncoder, encodeStringElement, (Lkotlinx/serialization/descriptors/SerialDescriptor;ILjava/lang/String;)V)
RETURN
LABEL (L2)
}
}