Add inspections and quickfixes of redundant Json format instantiation

Resolves KT-45075
This commit is contained in:
Sergey Shanshin
2021-03-18 05:44:03 +03:00
committed by GitHub
parent 27174de891
commit cfca7183e5
43 changed files with 702 additions and 136 deletions
@@ -165,10 +165,6 @@ public final class ListOfUsers$$serializer : java/lang/Object, kotlinx/serializa
public kotlinx.serialization.descriptors.SerialDescriptor getDescriptor()
public ListOfUsers patch(kotlinx.serialization.encoding.Decoder decoder, ListOfUsers old)
public java.lang.Object patch(kotlinx.serialization.encoding.Decoder decoder, java.lang.Object old)
public void serialize(kotlinx.serialization.encoding.Encoder encoder, ListOfUsers value) {
LABEL (L0)
ALOAD (1)
@@ -276,18 +272,19 @@ public final class ListOfUsers : java/lang/Object {
public void <init>(int seen1, java.util.List list, kotlinx.serialization.internal.SerializationConstructorMarker serializationConstructorMarker) {
LABEL (L0)
LINENUMBER (12)
ALOAD (0)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
ICONST_1
ICONST_1
ILOAD (1)
IAND
IF_ICMPEQ (L1)
ILOAD (1)
ICONST_1
IAND
IFNE (L1)
NEW
DUP
LDC (list)
INVOKESPECIAL (kotlinx/serialization/MissingFieldException, <init>, (Ljava/lang/String;)V)
ATHROW
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;)
@@ -453,10 +450,6 @@ public final class OptionalUser$$serializer : java/lang/Object, kotlinx/serializ
public kotlinx.serialization.descriptors.SerialDescriptor getDescriptor()
public OptionalUser patch(kotlinx.serialization.encoding.Decoder decoder, OptionalUser old)
public java.lang.Object patch(kotlinx.serialization.encoding.Decoder decoder, java.lang.Object old)
public void serialize(kotlinx.serialization.encoding.Encoder encoder, OptionalUser value) {
LABEL (L0)
ALOAD (1)
@@ -608,31 +601,41 @@ public final class OptionalUser : java/lang/Object {
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 (L1)
IFNE (L2)
ALOAD (0)
LABEL (L2)
LABEL (L3)
LINENUMBER (10)
NEW
DUP
LDC ()
LDC ()
INVOKESPECIAL (User, <init>, (Ljava/lang/String;Ljava/lang/String;)V)
LABEL (L3)
LABEL (L4)
LINENUMBER (9)
PUTFIELD (user, LUser;)
GOTO (L4)
LABEL (L1)
GOTO (L5)
LABEL (L2)
ALOAD (0)
ALOAD (2)
PUTFIELD (user, LUser;)
LABEL (L4)
RETURN
LABEL (L5)
RETURN
LABEL (L6)
}
public void <init>() {
@@ -829,10 +832,6 @@ public final class User$$serializer : java/lang/Object, kotlinx/serialization/in
public kotlinx.serialization.descriptors.SerialDescriptor getDescriptor()
public User patch(kotlinx.serialization.encoding.Decoder decoder, User old)
public java.lang.Object patch(kotlinx.serialization.encoding.Decoder decoder, java.lang.Object old)
public void serialize(kotlinx.serialization.encoding.Encoder encoder, User value) {
LABEL (L0)
ALOAD (1)
@@ -948,36 +947,27 @@ public final class User : java/lang/Object {
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)
ILOAD (1)
ICONST_1
IAND
IFNE (L1)
NEW
DUP
LDC (firstName)
INVOKESPECIAL (kotlinx/serialization/MissingFieldException, <init>, (Ljava/lang/String;)V)
ATHROW
LABEL (L1)
ALOAD (0)
ALOAD (2)
PUTFIELD (firstName, Ljava/lang/String;)
ILOAD (1)
ICONST_2
IAND
IFNE (L2)
NEW
DUP
LDC (lastName)
INVOKESPECIAL (kotlinx/serialization/MissingFieldException, <init>, (Ljava/lang/String;)V)
ATHROW
LABEL (L2)
ALOAD (0)
ALOAD (3)
PUTFIELD (lastName, Ljava/lang/String;)
RETURN
LABEL (L3)
LABEL (L2)
}
public final java.lang.String getFirstName()
@@ -144,10 +144,6 @@ public final class ListOfUsers$$serializer : java/lang/Object, kotlinx/serializa
public kotlinx.serialization.descriptors.SerialDescriptor getDescriptor()
public ListOfUsers patch(kotlinx.serialization.encoding.Decoder decoder, ListOfUsers old)
public java.lang.Object patch(kotlinx.serialization.encoding.Decoder p0, java.lang.Object p1)
public void serialize(kotlinx.serialization.encoding.Encoder encoder, ListOfUsers value) {
LABEL (L0)
ALOAD (1)
@@ -241,19 +237,20 @@ public final class ListOfUsers : java/lang/Object {
public void <init>(int seen1, java.util.List list, kotlinx.serialization.internal.SerializationConstructorMarker serializationConstructorMarker) {
LABEL (L0)
ALOAD (0)
INVOKESPECIAL (java/lang/Object, <init>, ()V)
ICONST_1
DUP
ILOAD (1)
IAND
IF_ICMPEQ (L1)
ILOAD (1)
ICONST_1
IAND
IFNE (L1)
NEW
DUP
LDC (list)
INVOKESPECIAL (kotlinx/serialization/MissingFieldException, <init>, (Ljava/lang/String;)V)
GETSTATIC (INSTANCE, LListOfUsers$$serializer;)
CHECKCAST
ATHROW
INVOKEINTERFACE (kotlinx/serialization/KSerializer, 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;)
@@ -427,10 +424,6 @@ public final class OptionalUser$$serializer : java/lang/Object, kotlinx/serializ
public kotlinx.serialization.descriptors.SerialDescriptor getDescriptor()
public OptionalUser patch(kotlinx.serialization.encoding.Decoder decoder, OptionalUser old)
public java.lang.Object patch(kotlinx.serialization.encoding.Decoder p0, java.lang.Object p1)
public void serialize(kotlinx.serialization.encoding.Encoder encoder, OptionalUser value) {
LABEL (L0)
ALOAD (1)
@@ -553,19 +546,31 @@ public final class OptionalUser : java/lang/Object {
public void <init>(int seen1, User user, kotlinx.serialization.internal.SerializationConstructorMarker serializationConstructorMarker) {
LABEL (L0)
ICONST_0
DUP
ILOAD (1)
IAND
IF_ICMPEQ (L1)
ILOAD (1)
ICONST_0
GETSTATIC (INSTANCE, LOptionalUser$$serializer;)
CHECKCAST
INVOKEINTERFACE (kotlinx/serialization/KSerializer, 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
IFEQ (L1)
IFEQ (L2)
ALOAD (0)
ALOAD (2)
PUTFIELD (user, LUser;)
GOTO (L2)
LABEL (L1)
GOTO (L3)
LABEL (L2)
ALOAD (0)
LABEL (L3)
LABEL (L4)
LINENUMBER (10)
NEW
DUP
@@ -573,9 +578,9 @@ public final class OptionalUser : java/lang/Object {
LDC ()
INVOKESPECIAL (User, <init>, (Ljava/lang/String;Ljava/lang/String;)V)
PUTFIELD (user, LUser;)
LABEL (L2)
LABEL (L3)
RETURN
LABEL (L4)
LABEL (L5)
}
public final User getUser()
@@ -781,10 +786,6 @@ public final class User$$serializer : java/lang/Object, kotlinx/serialization/in
public kotlinx.serialization.descriptors.SerialDescriptor getDescriptor()
public User patch(kotlinx.serialization.encoding.Decoder decoder, User old)
public java.lang.Object patch(kotlinx.serialization.encoding.Decoder p0, java.lang.Object p1)
public void serialize(kotlinx.serialization.encoding.Encoder encoder, User value) {
LABEL (L0)
ALOAD (1)
@@ -886,38 +887,28 @@ public final class User : java/lang/Object {
public void <init>(int seen1, java.lang.String firstName, java.lang.String lastName, kotlinx.serialization.internal.SerializationConstructorMarker serializationConstructorMarker) {
LABEL (L0)
ICONST_3
DUP
ILOAD (1)
IAND
IF_ICMPEQ (L1)
ILOAD (1)
ICONST_3
GETSTATIC (INSTANCE, LUser$$serializer;)
CHECKCAST
INVOKEINTERFACE (kotlinx/serialization/KSerializer, 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 (L1)
NEW
DUP
LDC (firstName)
INVOKESPECIAL (kotlinx/serialization/MissingFieldException, <init>, (Ljava/lang/String;)V)
CHECKCAST
ATHROW
LABEL (L1)
ALOAD (0)
ALOAD (2)
PUTFIELD (firstName, Ljava/lang/String;)
ILOAD (1)
ICONST_2
IAND
IFNE (L2)
NEW
DUP
LDC (lastName)
INVOKESPECIAL (kotlinx/serialization/MissingFieldException, <init>, (Ljava/lang/String;)V)
CHECKCAST
ATHROW
LABEL (L2)
ALOAD (0)
ALOAD (3)
PUTFIELD (lastName, Ljava/lang/String;)
RETURN
LABEL (L3)
LABEL (L2)
}
public final java.lang.String getFirstName()