Files
kotlin-fork/plugins/kotlin-serialization/kotlin-serialization-compiler/testData/codegen/Basic.ir.txt
T
Leonid Startsev 3e18350a1f Rewrite IR plugin infrastructure (and serialization plugin) so it won't emit LazyIR.
LazyIR was emitted because plugin was not able to declare symbols, only to reference them.
Moreover, declarations added by frontend plugin were also unbound symbols produced by psi2ir,
and declaration stub generator was stubbing them with LazyIR – therefore access to global symbol table is not enough for plugins. IrProvider won't help here, because some functions produced by plugin have circular dependencies.

By moving compiler plugins step between psi2ir and declaration stub generator, both problems are resolved
– unbound symbols produced by psi2ir and compiler plugins are declared where they would be declared if this was a user code,
and only unbound symbols left are external dependencies, which is a correct input for lazy ir.
2019-11-26 15:26:28 +03:00

966 lines
30 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.SerialDescriptor descriptor
public final static void <clinit>() {
NEW
DUP
INVOKESPECIAL (ListOfUsers$$serializer, <init>, ()V)
PUTSTATIC (INSTANCE, LListOfUsers$$serializer;)
RETURN
}
private void <init>() {
LABEL (L0)
ALOAD (0)
LABEL (L1)
LINENUMBER (12)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
NEW
DUP
LDC (ListOfUsers)
ALOAD (0)
CHECKCAST
INVOKESPECIAL (kotlinx/serialization/internal/SerialClassDescImpl, <init>, (Ljava/lang/String;Lkotlinx/serialization/internal/GeneratedSerializer;)V)
ASTORE (1)
ALOAD (1)
LDC (list)
ICONST_0
INVOKEVIRTUAL (kotlinx/serialization/internal/SerialClassDescImpl, addElement, (Ljava/lang/String;Z)V)
ALOAD (1)
CHECKCAST
PUTSTATIC (descriptor, Lkotlinx/serialization/SerialDescriptor;)
RETURN
LABEL (L2)
}
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)
AASTORE
ALOAD (1)
ARETURN
LABEL (L1)
}
public ListOfUsers deserialize(kotlinx.serialization.Decoder decoder) {
LABEL (L0)
ALOAD (1)
LDC (decoder)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
LABEL (L1)
LINENUMBER (12)
ALOAD (0)
INVOKEVIRTUAL (ListOfUsers$$serializer, getDescriptor, ()Lkotlinx/serialization/SerialDescriptor;)
ASTORE (2)
ICONST_1
ISTORE (3)
ICONST_0
ISTORE (4)
ICONST_0
ISTORE (5)
ACONST_NULL
ASTORE (6)
ALOAD (1)
ALOAD (2)
ICONST_0
ANEWARRAY
INVOKEINTERFACE (kotlinx/serialization/Decoder, beginStructure, (Lkotlinx/serialization/SerialDescriptor;[Lkotlinx/serialization/KSerializer;)Lkotlinx/serialization/CompositeDecoder;)
ASTORE (7)
LABEL (L2)
ILOAD (3)
IFEQ (L3)
ALOAD (7)
ALOAD (2)
INVOKEINTERFACE (kotlinx/serialization/CompositeDecoder, decodeElementIndex, (Lkotlinx/serialization/SerialDescriptor;)I)
ISTORE (4)
ILOAD (4)
TABLESWITCH
LABEL (L4)
ICONST_0
ISTORE (3)
GOTO (L5)
LABEL (L6)
ALOAD (7)
ALOAD (2)
ICONST_0
NEW
DUP
GETSTATIC (INSTANCE, LUser$$serializer;)
CHECKCAST
INVOKESPECIAL (kotlinx/serialization/internal/ArrayListSerializer, <init>, (Lkotlinx/serialization/KSerializer;)V)
CHECKCAST
INVOKEINTERFACE (kotlinx/serialization/CompositeDecoder, decodeSerializableElement, (Lkotlinx/serialization/SerialDescriptor;ILkotlinx/serialization/DeserializationStrategy;)Ljava/lang/Object;)
CHECKCAST
CHECKCAST
ASTORE (6)
ILOAD (5)
ICONST_1
IOR
ISTORE (5)
GOTO (L5)
LABEL (L7)
NEW
DUP
ILOAD (4)
INVOKESPECIAL (kotlinx/serialization/UnknownFieldException, <init>, (I)V)
ATHROW
LABEL (L5)
LINENUMBER (13)
GOTO (L2)
LABEL (L3)
ALOAD (7)
ALOAD (2)
LABEL (L8)
LINENUMBER (12)
INVOKEINTERFACE (kotlinx/serialization/CompositeDecoder, endStructure, (Lkotlinx/serialization/SerialDescriptor;)V)
NEW
DUP
ILOAD (5)
ALOAD (6)
CHECKCAST
ACONST_NULL
CHECKCAST
INVOKESPECIAL (ListOfUsers, <init>, (ILjava/util/List;Lkotlinx/serialization/SerializationConstructorMarker;)V)
ARETURN
LABEL (L9)
}
public java.lang.Object deserialize(kotlinx.serialization.Decoder p0) {
LABEL (L0)
ALOAD (0)
ALOAD (1)
INVOKEVIRTUAL (ListOfUsers$$serializer, deserialize, (Lkotlinx/serialization/Decoder;)LListOfUsers;)
ARETURN
LABEL (L1)
}
public kotlinx.serialization.SerialDescriptor getDescriptor()
public ListOfUsers patch(kotlinx.serialization.Decoder decoder, ListOfUsers old)
public java.lang.Object patch(kotlinx.serialization.Decoder p0, java.lang.Object p1)
public void serialize(kotlinx.serialization.Encoder encoder, ListOfUsers obj) {
LABEL (L0)
ALOAD (1)
LDC (encoder)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
ALOAD (2)
LDC (obj)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
LABEL (L1)
LINENUMBER (12)
ALOAD (0)
INVOKEVIRTUAL (ListOfUsers$$serializer, getDescriptor, ()Lkotlinx/serialization/SerialDescriptor;)
ASTORE (3)
ALOAD (1)
ALOAD (3)
ICONST_0
ANEWARRAY
INVOKEINTERFACE (kotlinx/serialization/Encoder, beginStructure, (Lkotlinx/serialization/SerialDescriptor;[Lkotlinx/serialization/KSerializer;)Lkotlinx/serialization/CompositeEncoder;)
ASTORE (4)
ALOAD (4)
ALOAD (3)
ICONST_0
NEW
DUP
GETSTATIC (INSTANCE, LUser$$serializer;)
CHECKCAST
INVOKESPECIAL (kotlinx/serialization/internal/ArrayListSerializer, <init>, (Lkotlinx/serialization/KSerializer;)V)
CHECKCAST
ALOAD (2)
INVOKESTATIC (ListOfUsers, access$prop$getList$3, (LListOfUsers;)Ljava/util/List;)
INVOKEINTERFACE (kotlinx/serialization/CompositeEncoder, encodeSerializableElement, (Lkotlinx/serialization/SerialDescriptor;ILkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;)V)
ALOAD (4)
ALOAD (3)
INVOKEINTERFACE (kotlinx/serialization/CompositeEncoder, endStructure, (Lkotlinx/serialization/SerialDescriptor;)V)
LABEL (L2)
LINENUMBER (13)
RETURN
LABEL (L3)
}
public void serialize(kotlinx.serialization.Encoder p0, java.lang.Object p1) {
LABEL (L0)
ALOAD (0)
ALOAD (1)
ALOAD (2)
CHECKCAST
INVOKEVIRTUAL (ListOfUsers$$serializer, serialize, (Lkotlinx/serialization/Encoder;LListOfUsers;)V)
RETURN
LABEL (L1)
}
}
public final class ListOfUsers$Companion : java/lang/Object {
private void <init>() {
LABEL (L0)
ALOAD (0)
LABEL (L1)
LINENUMBER (12)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
RETURN
LABEL (L2)
}
public void <init>(kotlin.jvm.internal.DefaultConstructorMarker p0) {
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
public final 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, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
ALOAD (0)
LABEL (L1)
LINENUMBER (12)
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.SerializationConstructorMarker serializationConstructorMarker) {
LABEL (L0)
ALOAD (0)
LABEL (L1)
LINENUMBER (12)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
ICONST_0
ILOAD (1)
ICONST_1
IAND
IF_ICMPNE (L2)
NEW
DUP
LDC (list)
INVOKESPECIAL (kotlinx/serialization/MissingFieldException, <init>, (Ljava/lang/String;)V)
ATHROW
LABEL (L2)
ALOAD (0)
ALOAD (2)
PUTFIELD (list, Ljava/util/List;)
LABEL (L3)
LINENUMBER (13)
RETURN
LABEL (L4)
}
public final static java.util.List access$prop$getList$3(ListOfUsers p0)
public final java.util.List getList()
}
public final class OptionalUser$$serializer : java/lang/Object, kotlinx/serialization/internal/GeneratedSerializer {
public final static OptionalUser$$serializer INSTANCE
public final static kotlinx.serialization.SerialDescriptor descriptor
public final static void <clinit>() {
NEW
DUP
INVOKESPECIAL (OptionalUser$$serializer, <init>, ()V)
PUTSTATIC (INSTANCE, LOptionalUser$$serializer;)
RETURN
}
private void <init>() {
LABEL (L0)
ALOAD (0)
LABEL (L1)
LINENUMBER (9)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
NEW
DUP
LDC (OptionalUser)
ALOAD (0)
CHECKCAST
INVOKESPECIAL (kotlinx/serialization/internal/SerialClassDescImpl, <init>, (Ljava/lang/String;Lkotlinx/serialization/internal/GeneratedSerializer;)V)
ASTORE (1)
ALOAD (1)
LDC (user)
ICONST_1
INVOKEVIRTUAL (kotlinx/serialization/internal/SerialClassDescImpl, addElement, (Ljava/lang/String;Z)V)
ALOAD (1)
CHECKCAST
PUTSTATIC (descriptor, Lkotlinx/serialization/SerialDescriptor;)
RETURN
LABEL (L2)
}
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.Decoder decoder) {
LABEL (L0)
ALOAD (1)
LDC (decoder)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
LABEL (L1)
LINENUMBER (9)
ALOAD (0)
INVOKEVIRTUAL (OptionalUser$$serializer, getDescriptor, ()Lkotlinx/serialization/SerialDescriptor;)
ASTORE (2)
ICONST_1
ISTORE (3)
ICONST_0
ISTORE (4)
ICONST_0
ISTORE (5)
ACONST_NULL
ASTORE (6)
ALOAD (1)
ALOAD (2)
ICONST_0
ANEWARRAY
INVOKEINTERFACE (kotlinx/serialization/Decoder, beginStructure, (Lkotlinx/serialization/SerialDescriptor;[Lkotlinx/serialization/KSerializer;)Lkotlinx/serialization/CompositeDecoder;)
ASTORE (7)
LABEL (L2)
ILOAD (3)
IFEQ (L3)
ALOAD (7)
ALOAD (2)
INVOKEINTERFACE (kotlinx/serialization/CompositeDecoder, decodeElementIndex, (Lkotlinx/serialization/SerialDescriptor;)I)
ISTORE (4)
ILOAD (4)
TABLESWITCH
LABEL (L4)
ICONST_0
ISTORE (3)
GOTO (L5)
LABEL (L6)
ALOAD (7)
ALOAD (2)
ICONST_0
GETSTATIC (INSTANCE, LUser$$serializer;)
CHECKCAST
INVOKEINTERFACE (kotlinx/serialization/CompositeDecoder, decodeSerializableElement, (Lkotlinx/serialization/SerialDescriptor;ILkotlinx/serialization/DeserializationStrategy;)Ljava/lang/Object;)
CHECKCAST
CHECKCAST
ASTORE (6)
ILOAD (5)
ICONST_1
IOR
ISTORE (5)
GOTO (L5)
LABEL (L7)
NEW
DUP
ILOAD (4)
INVOKESPECIAL (kotlinx/serialization/UnknownFieldException, <init>, (I)V)
ATHROW
LABEL (L5)
LINENUMBER (10)
GOTO (L2)
LABEL (L3)
ALOAD (7)
ALOAD (2)
LABEL (L8)
LINENUMBER (9)
INVOKEINTERFACE (kotlinx/serialization/CompositeDecoder, endStructure, (Lkotlinx/serialization/SerialDescriptor;)V)
NEW
DUP
ILOAD (5)
ALOAD (6)
CHECKCAST
ACONST_NULL
CHECKCAST
INVOKESPECIAL (OptionalUser, <init>, (ILUser;Lkotlinx/serialization/SerializationConstructorMarker;)V)
ARETURN
LABEL (L9)
}
public java.lang.Object deserialize(kotlinx.serialization.Decoder p0) {
LABEL (L0)
ALOAD (0)
ALOAD (1)
INVOKEVIRTUAL (OptionalUser$$serializer, deserialize, (Lkotlinx/serialization/Decoder;)LOptionalUser;)
ARETURN
LABEL (L1)
}
public kotlinx.serialization.SerialDescriptor getDescriptor()
public OptionalUser patch(kotlinx.serialization.Decoder decoder, OptionalUser old)
public java.lang.Object patch(kotlinx.serialization.Decoder p0, java.lang.Object p1)
public void serialize(kotlinx.serialization.Encoder encoder, OptionalUser obj) {
LABEL (L0)
ALOAD (1)
LDC (encoder)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
ALOAD (2)
LDC (obj)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
LABEL (L1)
LINENUMBER (9)
ALOAD (0)
INVOKEVIRTUAL (OptionalUser$$serializer, getDescriptor, ()Lkotlinx/serialization/SerialDescriptor;)
ASTORE (3)
ALOAD (1)
ALOAD (3)
ICONST_0
ANEWARRAY
INVOKEINTERFACE (kotlinx/serialization/Encoder, beginStructure, (Lkotlinx/serialization/SerialDescriptor;[Lkotlinx/serialization/KSerializer;)Lkotlinx/serialization/CompositeEncoder;)
ASTORE (4)
ALOAD (2)
INVOKESTATIC (OptionalUser, access$prop$getUser$2, (LOptionalUser;)LUser;)
NEW
DUP
LABEL (L2)
LINENUMBER (10)
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 (L3)
LABEL (L4)
LINENUMBER (9)
ICONST_1
GOTO (L5)
LABEL (L3)
ALOAD (4)
ALOAD (3)
ICONST_0
INVOKEINTERFACE (kotlinx/serialization/CompositeEncoder, shouldEncodeElementDefault, (Lkotlinx/serialization/SerialDescriptor;I)Z)
LABEL (L5)
IFEQ (L6)
ALOAD (4)
ALOAD (3)
ICONST_0
GETSTATIC (INSTANCE, LUser$$serializer;)
CHECKCAST
ALOAD (2)
INVOKESTATIC (OptionalUser, access$prop$getUser$2, (LOptionalUser;)LUser;)
INVOKEINTERFACE (kotlinx/serialization/CompositeEncoder, encodeSerializableElement, (Lkotlinx/serialization/SerialDescriptor;ILkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;)V)
LABEL (L6)
ALOAD (4)
ALOAD (3)
INVOKEINTERFACE (kotlinx/serialization/CompositeEncoder, endStructure, (Lkotlinx/serialization/SerialDescriptor;)V)
LABEL (L7)
LINENUMBER (10)
RETURN
LABEL (L8)
}
public void serialize(kotlinx.serialization.Encoder p0, java.lang.Object p1) {
LABEL (L0)
ALOAD (0)
ALOAD (1)
ALOAD (2)
CHECKCAST
INVOKEVIRTUAL (OptionalUser$$serializer, serialize, (Lkotlinx/serialization/Encoder;LOptionalUser;)V)
RETURN
LABEL (L1)
}
}
public final class OptionalUser$Companion : java/lang/Object {
private void <init>() {
LABEL (L0)
ALOAD (0)
LABEL (L1)
LINENUMBER (9)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
RETURN
LABEL (L2)
}
public void <init>(kotlin.jvm.internal.DefaultConstructorMarker p0) {
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
public final 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, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
ALOAD (0)
LABEL (L1)
LINENUMBER (9)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
LABEL (L2)
LINENUMBER (10)
ALOAD (0)
ALOAD (1)
PUTFIELD (user, LUser;)
RETURN
LABEL (L3)
}
public void <init>(User user, 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
LABEL (L2)
}
public void <init>(int seen1, User user, kotlinx.serialization.SerializationConstructorMarker serializationConstructorMarker) {
LABEL (L0)
ALOAD (0)
LABEL (L1)
LINENUMBER (9)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
ICONST_0
ILOAD (1)
ICONST_1
IAND
IF_ICMPNE (L2)
ALOAD (0)
NEW
DUP
LABEL (L3)
LINENUMBER (10)
LDC ()
LDC ()
INVOKESPECIAL (User, <init>, (Ljava/lang/String;Ljava/lang/String;)V)
PUTFIELD (user, LUser;)
GOTO (L4)
LABEL (L2)
LINENUMBER (9)
ALOAD (0)
ALOAD (2)
PUTFIELD (user, LUser;)
LABEL (L4)
LINENUMBER (10)
RETURN
LABEL (L5)
}
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 static User access$prop$getUser$2(OptionalUser p0)
public final User getUser()
}
public final class User$$serializer : java/lang/Object, kotlinx/serialization/internal/GeneratedSerializer {
public final static User$$serializer INSTANCE
public final static kotlinx.serialization.SerialDescriptor descriptor
public final static void <clinit>() {
NEW
DUP
INVOKESPECIAL (User$$serializer, <init>, ()V)
PUTSTATIC (INSTANCE, LUser$$serializer;)
RETURN
}
private void <init>() {
LABEL (L0)
ALOAD (0)
LABEL (L1)
LINENUMBER (6)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
NEW
DUP
LDC (User)
ALOAD (0)
CHECKCAST
INVOKESPECIAL (kotlinx/serialization/internal/SerialClassDescImpl, <init>, (Ljava/lang/String;Lkotlinx/serialization/internal/GeneratedSerializer;)V)
ASTORE (1)
ALOAD (1)
LDC (firstName)
ICONST_0
INVOKEVIRTUAL (kotlinx/serialization/internal/SerialClassDescImpl, addElement, (Ljava/lang/String;Z)V)
ALOAD (1)
LDC (lastName)
ICONST_0
INVOKEVIRTUAL (kotlinx/serialization/internal/SerialClassDescImpl, addElement, (Ljava/lang/String;Z)V)
ALOAD (1)
CHECKCAST
PUTSTATIC (descriptor, Lkotlinx/serialization/SerialDescriptor;)
RETURN
LABEL (L2)
}
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.Decoder decoder) {
LABEL (L0)
ALOAD (1)
LDC (decoder)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
LABEL (L1)
LINENUMBER (6)
ALOAD (0)
INVOKEVIRTUAL (User$$serializer, getDescriptor, ()Lkotlinx/serialization/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)
ICONST_0
ANEWARRAY
INVOKEINTERFACE (kotlinx/serialization/Decoder, beginStructure, (Lkotlinx/serialization/SerialDescriptor;[Lkotlinx/serialization/KSerializer;)Lkotlinx/serialization/CompositeDecoder;)
ASTORE (8)
LABEL (L2)
ILOAD (3)
IFEQ (L3)
ALOAD (8)
ALOAD (2)
INVOKEINTERFACE (kotlinx/serialization/CompositeDecoder, decodeElementIndex, (Lkotlinx/serialization/SerialDescriptor;)I)
ISTORE (4)
ILOAD (4)
TABLESWITCH
LABEL (L4)
ICONST_0
ISTORE (3)
GOTO (L5)
LABEL (L6)
ALOAD (8)
ALOAD (2)
ICONST_0
INVOKEINTERFACE (kotlinx/serialization/CompositeDecoder, decodeStringElement, (Lkotlinx/serialization/SerialDescriptor;I)Ljava/lang/String;)
CHECKCAST
ASTORE (6)
ILOAD (5)
ICONST_1
IOR
ISTORE (5)
GOTO (L5)
LABEL (L7)
ALOAD (8)
ALOAD (2)
ICONST_1
INVOKEINTERFACE (kotlinx/serialization/CompositeDecoder, decodeStringElement, (Lkotlinx/serialization/SerialDescriptor;I)Ljava/lang/String;)
CHECKCAST
ASTORE (7)
ILOAD (5)
ICONST_2
IOR
ISTORE (5)
GOTO (L5)
LABEL (L8)
NEW
DUP
ILOAD (4)
INVOKESPECIAL (kotlinx/serialization/UnknownFieldException, <init>, (I)V)
ATHROW
LABEL (L5)
LINENUMBER (7)
GOTO (L2)
LABEL (L3)
ALOAD (8)
ALOAD (2)
LABEL (L9)
LINENUMBER (6)
INVOKEINTERFACE (kotlinx/serialization/CompositeDecoder, endStructure, (Lkotlinx/serialization/SerialDescriptor;)V)
NEW
DUP
ILOAD (5)
ALOAD (6)
CHECKCAST
ALOAD (7)
CHECKCAST
ACONST_NULL
CHECKCAST
INVOKESPECIAL (User, <init>, (ILjava/lang/String;Ljava/lang/String;Lkotlinx/serialization/SerializationConstructorMarker;)V)
ARETURN
LABEL (L10)
}
public java.lang.Object deserialize(kotlinx.serialization.Decoder p0) {
LABEL (L0)
ALOAD (0)
ALOAD (1)
INVOKEVIRTUAL (User$$serializer, deserialize, (Lkotlinx/serialization/Decoder;)LUser;)
ARETURN
LABEL (L1)
}
public kotlinx.serialization.SerialDescriptor getDescriptor()
public User patch(kotlinx.serialization.Decoder decoder, User old)
public java.lang.Object patch(kotlinx.serialization.Decoder p0, java.lang.Object p1)
public void serialize(kotlinx.serialization.Encoder encoder, User obj) {
LABEL (L0)
ALOAD (1)
LDC (encoder)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
ALOAD (2)
LDC (obj)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
LABEL (L1)
LINENUMBER (6)
ALOAD (0)
INVOKEVIRTUAL (User$$serializer, getDescriptor, ()Lkotlinx/serialization/SerialDescriptor;)
ASTORE (3)
ALOAD (1)
ALOAD (3)
ICONST_0
ANEWARRAY
INVOKEINTERFACE (kotlinx/serialization/Encoder, beginStructure, (Lkotlinx/serialization/SerialDescriptor;[Lkotlinx/serialization/KSerializer;)Lkotlinx/serialization/CompositeEncoder;)
ASTORE (4)
ALOAD (4)
ALOAD (3)
ICONST_0
ALOAD (2)
INVOKESTATIC (User, access$prop$getFirstName$0, (LUser;)Ljava/lang/String;)
INVOKEINTERFACE (kotlinx/serialization/CompositeEncoder, encodeStringElement, (Lkotlinx/serialization/SerialDescriptor;ILjava/lang/String;)V)
ALOAD (4)
ALOAD (3)
ICONST_1
ALOAD (2)
INVOKESTATIC (User, access$prop$getLastName$1, (LUser;)Ljava/lang/String;)
INVOKEINTERFACE (kotlinx/serialization/CompositeEncoder, encodeStringElement, (Lkotlinx/serialization/SerialDescriptor;ILjava/lang/String;)V)
ALOAD (4)
ALOAD (3)
INVOKEINTERFACE (kotlinx/serialization/CompositeEncoder, endStructure, (Lkotlinx/serialization/SerialDescriptor;)V)
LABEL (L2)
LINENUMBER (7)
RETURN
LABEL (L3)
}
public void serialize(kotlinx.serialization.Encoder p0, java.lang.Object p1) {
LABEL (L0)
ALOAD (0)
ALOAD (1)
ALOAD (2)
CHECKCAST
INVOKEVIRTUAL (User$$serializer, serialize, (Lkotlinx/serialization/Encoder;LUser;)V)
RETURN
LABEL (L1)
}
}
public final class User$Companion : java/lang/Object {
private void <init>() {
LABEL (L0)
ALOAD (0)
LABEL (L1)
LINENUMBER (6)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
RETURN
LABEL (L2)
}
public void <init>(kotlin.jvm.internal.DefaultConstructorMarker p0) {
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
public final 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, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
ALOAD (2)
LDC (lastName)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
ALOAD (0)
LABEL (L1)
LINENUMBER (6)
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.SerializationConstructorMarker serializationConstructorMarker) {
LABEL (L0)
ALOAD (0)
LABEL (L1)
LINENUMBER (6)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
ICONST_0
ILOAD (1)
ICONST_1
IAND
IF_ICMPNE (L2)
NEW
DUP
LDC (firstName)
INVOKESPECIAL (kotlinx/serialization/MissingFieldException, <init>, (Ljava/lang/String;)V)
ATHROW
LABEL (L2)
ALOAD (0)
ALOAD (2)
PUTFIELD (firstName, Ljava/lang/String;)
LABEL (L3)
LINENUMBER (7)
LINENUMBER (6)
ICONST_0
ILOAD (1)
ICONST_2
IAND
IF_ICMPNE (L4)
NEW
DUP
LDC (lastName)
INVOKESPECIAL (kotlinx/serialization/MissingFieldException, <init>, (Ljava/lang/String;)V)
ATHROW
LABEL (L4)
ALOAD (0)
ALOAD (3)
PUTFIELD (lastName, Ljava/lang/String;)
LABEL (L5)
LINENUMBER (7)
RETURN
LABEL (L6)
}
public final static java.lang.String access$prop$getFirstName$0(User p0)
public final static java.lang.String access$prop$getLastName$1(User p0)
public final java.lang.String getFirstName()
public final java.lang.String getLastName()
}