Implemented caching of child serializers
Resolves Kotlin/kotlinx.serialization#1918 Merge-request: KT-MR-7578 Merged-by: Sergey Shanshin <Sergey.Shanshin@jetbrains.com>
This commit is contained in:
committed by
Space Team
parent
3e8f7b8ee4
commit
339b152390
+42
-23
@@ -41,19 +41,18 @@ public final class ListOfUsers$$serializer : java/lang/Object, kotlinx/serializa
|
||||
public kotlinx.serialization.KSerializer[] childSerializers() {
|
||||
LABEL (L0)
|
||||
LINENUMBER (12)
|
||||
INVOKESTATIC (ListOfUsers, access$get$childSerializers$cp, ()[Lkotlinx/serialization/KSerializer;)
|
||||
ASTORE (1)
|
||||
ICONST_1
|
||||
ANEWARRAY (kotlinx/serialization/KSerializer)
|
||||
ASTORE (1)
|
||||
ASTORE (2)
|
||||
ALOAD (2)
|
||||
ICONST_0
|
||||
ALOAD (1)
|
||||
ICONST_0
|
||||
NEW (kotlinx/serialization/internal/ArrayListSerializer)
|
||||
DUP
|
||||
GETSTATIC (User$$serializer, INSTANCE, LUser$$serializer;)
|
||||
CHECKCAST (kotlinx/serialization/KSerializer)
|
||||
INVOKESPECIAL (kotlinx/serialization/internal/ArrayListSerializer, <init>, (Lkotlinx/serialization/KSerializer;)V)
|
||||
CHECKCAST (kotlinx/serialization/KSerializer)
|
||||
AALOAD
|
||||
AASTORE
|
||||
ALOAD (1)
|
||||
ALOAD (2)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
@@ -78,17 +77,17 @@ public final class ListOfUsers$$serializer : java/lang/Object, kotlinx/serializa
|
||||
ALOAD (2)
|
||||
INVOKEINTERFACE (kotlinx/serialization/encoding/Decoder, beginStructure, (Lkotlinx/serialization/descriptors/SerialDescriptor;)Lkotlinx/serialization/encoding/CompositeDecoder;)
|
||||
ASTORE (7)
|
||||
INVOKESTATIC (ListOfUsers, access$get$childSerializers$cp, ()[Lkotlinx/serialization/KSerializer;)
|
||||
ASTORE (8)
|
||||
ALOAD (7)
|
||||
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, decodeSequentially, ()Z)
|
||||
IFEQ (L2)
|
||||
ALOAD (7)
|
||||
ALOAD (2)
|
||||
ICONST_0
|
||||
NEW (kotlinx/serialization/internal/ArrayListSerializer)
|
||||
DUP
|
||||
GETSTATIC (User$$serializer, INSTANCE, LUser$$serializer;)
|
||||
CHECKCAST (kotlinx/serialization/KSerializer)
|
||||
INVOKESPECIAL (kotlinx/serialization/internal/ArrayListSerializer, <init>, (Lkotlinx/serialization/KSerializer;)V)
|
||||
ALOAD (8)
|
||||
ICONST_0
|
||||
AALOAD
|
||||
CHECKCAST (kotlinx/serialization/DeserializationStrategy)
|
||||
ALOAD (6)
|
||||
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, decodeSerializableElement, (Lkotlinx/serialization/descriptors/SerialDescriptor;ILkotlinx/serialization/DeserializationStrategy;Ljava/lang/Object;)Ljava/lang/Object;)
|
||||
@@ -118,11 +117,9 @@ public final class ListOfUsers$$serializer : java/lang/Object, kotlinx/serializa
|
||||
ALOAD (7)
|
||||
ALOAD (2)
|
||||
ICONST_0
|
||||
NEW (kotlinx/serialization/internal/ArrayListSerializer)
|
||||
DUP
|
||||
GETSTATIC (User$$serializer, INSTANCE, LUser$$serializer;)
|
||||
CHECKCAST (kotlinx/serialization/KSerializer)
|
||||
INVOKESPECIAL (kotlinx/serialization/internal/ArrayListSerializer, <init>, (Lkotlinx/serialization/KSerializer;)V)
|
||||
ALOAD (8)
|
||||
ICONST_0
|
||||
AALOAD
|
||||
CHECKCAST (kotlinx/serialization/DeserializationStrategy)
|
||||
ALOAD (6)
|
||||
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, decodeSerializableElement, (Lkotlinx/serialization/descriptors/SerialDescriptor;ILkotlinx/serialization/DeserializationStrategy;Ljava/lang/Object;)Ljava/lang/Object;)
|
||||
@@ -237,6 +234,8 @@ public final class ListOfUsers$Companion : java/lang/Object {
|
||||
}
|
||||
|
||||
public final class ListOfUsers : java/lang/Object {
|
||||
private final static kotlinx.serialization.KSerializer[] $childSerializers
|
||||
|
||||
public final static ListOfUsers$Companion Companion
|
||||
|
||||
private final java.util.List list
|
||||
@@ -247,6 +246,24 @@ public final class ListOfUsers : java/lang/Object {
|
||||
ACONST_NULL
|
||||
INVOKESPECIAL (ListOfUsers$Companion, <init>, (Lkotlin/jvm/internal/DefaultConstructorMarker;)V)
|
||||
PUTSTATIC (ListOfUsers, Companion, LListOfUsers$Companion;)
|
||||
LABEL (L0)
|
||||
LINENUMBER (12)
|
||||
ICONST_1
|
||||
ANEWARRAY (kotlinx/serialization/KSerializer)
|
||||
ASTORE (0)
|
||||
ALOAD (0)
|
||||
ICONST_0
|
||||
NEW (kotlinx/serialization/internal/ArrayListSerializer)
|
||||
DUP
|
||||
GETSTATIC (User$$serializer, INSTANCE, LUser$$serializer;)
|
||||
CHECKCAST (kotlinx/serialization/KSerializer)
|
||||
INVOKESPECIAL (kotlinx/serialization/internal/ArrayListSerializer, <init>, (Lkotlinx/serialization/KSerializer;)V)
|
||||
CHECKCAST (kotlinx/serialization/KSerializer)
|
||||
AASTORE
|
||||
ALOAD (0)
|
||||
PUTSTATIC (ListOfUsers, $childSerializers, [Lkotlinx/serialization/KSerializer;)
|
||||
LABEL (L1)
|
||||
LINENUMBER (13)
|
||||
RETURN
|
||||
}
|
||||
|
||||
@@ -291,19 +308,21 @@ public final class ListOfUsers : java/lang/Object {
|
||||
LABEL (L2)
|
||||
}
|
||||
|
||||
public final static kotlinx.serialization.KSerializer[] access$get$childSerializers$cp()
|
||||
|
||||
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)
|
||||
LINENUMBER (12)
|
||||
GETSTATIC (ListOfUsers, $childSerializers, [Lkotlinx/serialization/KSerializer;)
|
||||
ASTORE (3)
|
||||
ALOAD (1)
|
||||
ALOAD (2)
|
||||
ICONST_0
|
||||
NEW (kotlinx/serialization/internal/ArrayListSerializer)
|
||||
DUP
|
||||
GETSTATIC (User$$serializer, INSTANCE, LUser$$serializer;)
|
||||
CHECKCAST (kotlinx/serialization/KSerializer)
|
||||
INVOKESPECIAL (kotlinx/serialization/internal/ArrayListSerializer, <init>, (Lkotlinx/serialization/KSerializer;)V)
|
||||
ALOAD (3)
|
||||
ICONST_0
|
||||
AALOAD
|
||||
CHECKCAST (kotlinx/serialization/SerializationStrategy)
|
||||
ALOAD (0)
|
||||
GETFIELD (ListOfUsers, list, Ljava/util/List;)
|
||||
|
||||
@@ -29,8 +29,6 @@ public final class Box$Companion : java/lang/Object {
|
||||
|
||||
public void <init>(kotlin.jvm.internal.DefaultConstructorMarker $constructor_marker)
|
||||
|
||||
private final kotlinx.serialization.descriptors.SerialDescriptor get$cachedDescriptor()
|
||||
|
||||
public final kotlinx.serialization.KSerializer serializer(kotlinx.serialization.KSerializer typeSerial0)
|
||||
}
|
||||
|
||||
@@ -47,8 +45,6 @@ public final class Box : java/lang/Object {
|
||||
|
||||
public void <init>(int seen1, java.lang.Object boxed, kotlinx.serialization.internal.SerializationConstructorMarker serializationConstructorMarker)
|
||||
|
||||
public final static kotlinx.serialization.descriptors.SerialDescriptor access$get$cachedDescriptor$cp()
|
||||
|
||||
public final java.lang.Object component1()
|
||||
|
||||
public final Box copy(java.lang.Object boxed)
|
||||
@@ -191,8 +187,8 @@ public final class IntrinsicsKt : java/lang/Object {
|
||||
}
|
||||
}
|
||||
|
||||
final class SerializableObject$$cachedSerializer$delegate$1 : kotlin/jvm/internal/Lambda, kotlin/jvm/functions/Function0 {
|
||||
public final static SerializableObject$$cachedSerializer$delegate$1 INSTANCE
|
||||
final class SerializableObject$1 : kotlin/jvm/internal/Lambda, kotlin/jvm/functions/Function0 {
|
||||
public final static SerializableObject$1 INSTANCE
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
@@ -212,7 +208,7 @@ public final class SerializableObject : java/lang/Object {
|
||||
|
||||
private void <init>()
|
||||
|
||||
private final kotlin.Lazy get$cachedSerializer$delegate()
|
||||
private final kotlinx.serialization.KSerializer get$cachedSerializer()
|
||||
|
||||
public final kotlinx.serialization.KSerializer serializer()
|
||||
}
|
||||
|
||||
@@ -41,15 +41,18 @@ public final class Container$$serializer : java/lang/Object, kotlinx/serializati
|
||||
public kotlinx.serialization.KSerializer[] childSerializers() {
|
||||
LABEL (L0)
|
||||
LINENUMBER (18)
|
||||
INVOKESTATIC (Container, access$get$childSerializers$cp, ()[Lkotlinx/serialization/KSerializer;)
|
||||
ASTORE (1)
|
||||
ICONST_1
|
||||
ANEWARRAY (kotlinx/serialization/KSerializer)
|
||||
ASTORE (1)
|
||||
ASTORE (2)
|
||||
ALOAD (2)
|
||||
ICONST_0
|
||||
ALOAD (1)
|
||||
ICONST_0
|
||||
GETSTATIC (Result, Companion, LResult$Companion;)
|
||||
INVOKEVIRTUAL (Result$Companion, serializer, ()Lkotlinx/serialization/KSerializer;)
|
||||
AALOAD
|
||||
AASTORE
|
||||
ALOAD (1)
|
||||
ALOAD (2)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
@@ -74,14 +77,17 @@ public final class Container$$serializer : java/lang/Object, kotlinx/serializati
|
||||
ALOAD (2)
|
||||
INVOKEINTERFACE (kotlinx/serialization/encoding/Decoder, beginStructure, (Lkotlinx/serialization/descriptors/SerialDescriptor;)Lkotlinx/serialization/encoding/CompositeDecoder;)
|
||||
ASTORE (7)
|
||||
INVOKESTATIC (Container, access$get$childSerializers$cp, ()[Lkotlinx/serialization/KSerializer;)
|
||||
ASTORE (8)
|
||||
ALOAD (7)
|
||||
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, decodeSequentially, ()Z)
|
||||
IFEQ (L2)
|
||||
ALOAD (7)
|
||||
ALOAD (2)
|
||||
ICONST_0
|
||||
GETSTATIC (Result, Companion, LResult$Companion;)
|
||||
INVOKEVIRTUAL (Result$Companion, serializer, ()Lkotlinx/serialization/KSerializer;)
|
||||
ALOAD (8)
|
||||
ICONST_0
|
||||
AALOAD
|
||||
CHECKCAST (kotlinx/serialization/DeserializationStrategy)
|
||||
ALOAD (6)
|
||||
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, decodeSerializableElement, (Lkotlinx/serialization/descriptors/SerialDescriptor;ILkotlinx/serialization/DeserializationStrategy;Ljava/lang/Object;)Ljava/lang/Object;)
|
||||
@@ -111,8 +117,9 @@ public final class Container$$serializer : java/lang/Object, kotlinx/serializati
|
||||
ALOAD (7)
|
||||
ALOAD (2)
|
||||
ICONST_0
|
||||
GETSTATIC (Result, Companion, LResult$Companion;)
|
||||
INVOKEVIRTUAL (Result$Companion, serializer, ()Lkotlinx/serialization/KSerializer;)
|
||||
ALOAD (8)
|
||||
ICONST_0
|
||||
AALOAD
|
||||
CHECKCAST (kotlinx/serialization/DeserializationStrategy)
|
||||
ALOAD (6)
|
||||
INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, decodeSerializableElement, (Lkotlinx/serialization/descriptors/SerialDescriptor;ILkotlinx/serialization/DeserializationStrategy;Ljava/lang/Object;)Ljava/lang/Object;)
|
||||
@@ -191,6 +198,8 @@ public final class Container$Companion : java/lang/Object {
|
||||
}
|
||||
|
||||
public final class Container : java/lang/Object {
|
||||
private final static kotlinx.serialization.KSerializer[] $childSerializers
|
||||
|
||||
public final static Container$Companion Companion
|
||||
|
||||
private final Result r
|
||||
@@ -201,6 +210,20 @@ public final class Container : java/lang/Object {
|
||||
ACONST_NULL
|
||||
INVOKESPECIAL (Container$Companion, <init>, (Lkotlin/jvm/internal/DefaultConstructorMarker;)V)
|
||||
PUTSTATIC (Container, Companion, LContainer$Companion;)
|
||||
LABEL (L0)
|
||||
LINENUMBER (18)
|
||||
ICONST_1
|
||||
ANEWARRAY (kotlinx/serialization/KSerializer)
|
||||
ASTORE (0)
|
||||
ALOAD (0)
|
||||
ICONST_0
|
||||
GETSTATIC (Result, Companion, LResult$Companion;)
|
||||
INVOKEVIRTUAL (Result$Companion, serializer, ()Lkotlinx/serialization/KSerializer;)
|
||||
AASTORE
|
||||
ALOAD (0)
|
||||
PUTSTATIC (Container, $childSerializers, [Lkotlinx/serialization/KSerializer;)
|
||||
LABEL (L1)
|
||||
LINENUMBER (19)
|
||||
RETURN
|
||||
}
|
||||
|
||||
@@ -245,16 +268,21 @@ public final class Container : java/lang/Object {
|
||||
LABEL (L2)
|
||||
}
|
||||
|
||||
public final static kotlinx.serialization.KSerializer[] access$get$childSerializers$cp()
|
||||
|
||||
public final Result getR()
|
||||
|
||||
public final static void write$Self(Container self, kotlinx.serialization.encoding.CompositeEncoder output, kotlinx.serialization.descriptors.SerialDescriptor serialDesc) {
|
||||
LABEL (L0)
|
||||
LINENUMBER (18)
|
||||
GETSTATIC (Container, $childSerializers, [Lkotlinx/serialization/KSerializer;)
|
||||
ASTORE (3)
|
||||
ALOAD (1)
|
||||
ALOAD (2)
|
||||
ICONST_0
|
||||
GETSTATIC (Result, Companion, LResult$Companion;)
|
||||
INVOKEVIRTUAL (Result$Companion, serializer, ()Lkotlinx/serialization/KSerializer;)
|
||||
ALOAD (3)
|
||||
ICONST_0
|
||||
AALOAD
|
||||
CHECKCAST (kotlinx/serialization/SerializationStrategy)
|
||||
ALOAD (0)
|
||||
GETFIELD (Container, r, LResult;)
|
||||
@@ -264,14 +292,14 @@ public final class Container : java/lang/Object {
|
||||
}
|
||||
}
|
||||
|
||||
final class Result$Companion$$cachedSerializer$delegate$1 : kotlin/jvm/internal/Lambda, kotlin/jvm/functions/Function0 {
|
||||
public final static Result$Companion$$cachedSerializer$delegate$1 INSTANCE
|
||||
final class Result$Companion$1 : kotlin/jvm/internal/Lambda, kotlin/jvm/functions/Function0 {
|
||||
public final static Result$Companion$1 INSTANCE
|
||||
|
||||
static void <clinit>() {
|
||||
NEW (Result$Companion$$cachedSerializer$delegate$1)
|
||||
NEW (Result$Companion$1)
|
||||
DUP
|
||||
INVOKESPECIAL (Result$Companion$$cachedSerializer$delegate$1, <init>, ()V)
|
||||
PUTSTATIC (Result$Companion$$cachedSerializer$delegate$1, INSTANCE, LResult$Companion$$cachedSerializer$delegate$1;)
|
||||
INVOKESPECIAL (Result$Companion$1, <init>, ()V)
|
||||
PUTSTATIC (Result$Companion$1, INSTANCE, LResult$Companion$1;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
@@ -338,7 +366,7 @@ final class Result$Companion$$cachedSerializer$delegate$1 : kotlin/jvm/internal/
|
||||
LABEL (L0)
|
||||
LINENUMBER (12)
|
||||
ALOAD (0)
|
||||
INVOKEVIRTUAL (Result$Companion$$cachedSerializer$delegate$1, invoke, ()Lkotlinx/serialization/KSerializer;)
|
||||
INVOKEVIRTUAL (Result$Companion$1, invoke, ()Lkotlinx/serialization/KSerializer;)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
@@ -362,28 +390,26 @@ public final class Result$Companion : java/lang/Object {
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
private final kotlin.Lazy get$cachedSerializer$delegate()
|
||||
private final kotlinx.serialization.KSerializer get$cachedSerializer()
|
||||
|
||||
public final kotlinx.serialization.KSerializer serializer() {
|
||||
LABEL (L0)
|
||||
LINENUMBER (12)
|
||||
ALOAD (0)
|
||||
INVOKESPECIAL (Result$Companion, get$cachedSerializer$delegate, ()Lkotlin/Lazy;)
|
||||
INVOKEINTERFACE (kotlin/Lazy, getValue, ()Ljava/lang/Object;)
|
||||
CHECKCAST (kotlinx/serialization/KSerializer)
|
||||
INVOKESPECIAL (Result$Companion, get$cachedSerializer, ()Lkotlinx/serialization/KSerializer;)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
|
||||
final class Result$Err$$cachedSerializer$delegate$1 : kotlin/jvm/internal/Lambda, kotlin/jvm/functions/Function0 {
|
||||
public final static Result$Err$$cachedSerializer$delegate$1 INSTANCE
|
||||
final class Result$Err$1 : kotlin/jvm/internal/Lambda, kotlin/jvm/functions/Function0 {
|
||||
public final static Result$Err$1 INSTANCE
|
||||
|
||||
static void <clinit>() {
|
||||
NEW (Result$Err$$cachedSerializer$delegate$1)
|
||||
NEW (Result$Err$1)
|
||||
DUP
|
||||
INVOKESPECIAL (Result$Err$$cachedSerializer$delegate$1, <init>, ()V)
|
||||
PUTSTATIC (Result$Err$$cachedSerializer$delegate$1, INSTANCE, LResult$Err$$cachedSerializer$delegate$1;)
|
||||
INVOKESPECIAL (Result$Err$1, <init>, ()V)
|
||||
PUTSTATIC (Result$Err$1, INSTANCE, LResult$Err$1;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
@@ -415,7 +441,7 @@ final class Result$Err$$cachedSerializer$delegate$1 : kotlin/jvm/internal/Lambda
|
||||
LABEL (L0)
|
||||
LINENUMBER (15)
|
||||
ALOAD (0)
|
||||
INVOKEVIRTUAL (Result$Err$$cachedSerializer$delegate$1, invoke, ()Lkotlinx/serialization/KSerializer;)
|
||||
INVOKEVIRTUAL (Result$Err$1, invoke, ()Lkotlinx/serialization/KSerializer;)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
@@ -434,7 +460,7 @@ public final class Result$Err : Result {
|
||||
LABEL (L0)
|
||||
LINENUMBER (15)
|
||||
GETSTATIC (kotlin/LazyThreadSafetyMode, PUBLICATION, Lkotlin/LazyThreadSafetyMode;)
|
||||
GETSTATIC (Result$Err$$cachedSerializer$delegate$1, INSTANCE, LResult$Err$$cachedSerializer$delegate$1;)
|
||||
GETSTATIC (Result$Err$1, INSTANCE, LResult$Err$1;)
|
||||
CHECKCAST (kotlin/jvm/functions/Function0)
|
||||
INVOKESTATIC (kotlin/LazyKt, lazy, (Lkotlin/LazyThreadSafetyMode;Lkotlin/jvm/functions/Function0;)Lkotlin/Lazy;)
|
||||
PUTSTATIC (Result$Err, $cachedSerializer$delegate, Lkotlin/Lazy;)
|
||||
@@ -451,15 +477,13 @@ public final class Result$Err : Result {
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
private final kotlin.Lazy get$cachedSerializer$delegate()
|
||||
private final kotlinx.serialization.KSerializer get$cachedSerializer()
|
||||
|
||||
public final kotlinx.serialization.KSerializer serializer() {
|
||||
LABEL (L0)
|
||||
LINENUMBER (15)
|
||||
ALOAD (0)
|
||||
INVOKESPECIAL (Result$Err, get$cachedSerializer$delegate, ()Lkotlin/Lazy;)
|
||||
INVOKEINTERFACE (kotlin/Lazy, getValue, ()Ljava/lang/Object;)
|
||||
CHECKCAST (kotlinx/serialization/KSerializer)
|
||||
INVOKESPECIAL (Result$Err, get$cachedSerializer, ()Lkotlinx/serialization/KSerializer;)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
@@ -737,10 +761,12 @@ public abstract class Result : java/lang/Object, X {
|
||||
LABEL (L0)
|
||||
LINENUMBER (12)
|
||||
GETSTATIC (kotlin/LazyThreadSafetyMode, PUBLICATION, Lkotlin/LazyThreadSafetyMode;)
|
||||
GETSTATIC (Result$Companion$$cachedSerializer$delegate$1, INSTANCE, LResult$Companion$$cachedSerializer$delegate$1;)
|
||||
GETSTATIC (Result$Companion$1, INSTANCE, LResult$Companion$1;)
|
||||
CHECKCAST (kotlin/jvm/functions/Function0)
|
||||
INVOKESTATIC (kotlin/LazyKt, lazy, (Lkotlin/LazyThreadSafetyMode;Lkotlin/jvm/functions/Function0;)Lkotlin/Lazy;)
|
||||
PUTSTATIC (Result, $cachedSerializer$delegate, Lkotlin/Lazy;)
|
||||
LABEL (L1)
|
||||
LINENUMBER (16)
|
||||
RETURN
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user