Parcelable: Support CharSequence, IBinder/IInterface, objects, enums. Serialize Parcelable efficiently if possible

This commit is contained in:
Yan Zhulanow
2017-06-30 22:39:30 +03:00
parent 19eb30b3ae
commit 4200629347
23 changed files with 442 additions and 94 deletions
@@ -1,27 +1,3 @@
public static class User$CREATOR : java/lang/Object, android/os/Parcelable$Creator {
public void <init>()
public final User createFromParcel(android.os.Parcel p0) {
LABEL (L0)
ALOAD (1)
LDC (in)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
GETSTATIC (Companion, LUser$Companion;)
ALOAD (1)
INVOKEVIRTUAL (User$Companion, create, (Landroid/os/Parcel;)LUser;)
ARETURN
LABEL (L1)
}
public final User[] newArray(int p0) {
LABEL (L0)
ILOAD (1)
ANEWARRAY
ARETURN
LABEL (L1)
}
}
final class User$Companion : java/lang/Object, kotlinx/android/parcel/Parceler {
private void <init>()
@@ -57,8 +33,32 @@ final class User$Companion : java/lang/Object, kotlinx/android/parcel/Parceler {
public void write(android.os.Parcelable p0, android.os.Parcel p1, int p2)
}
public static class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
public void <init>()
public final java.lang.Object createFromParcel(android.os.Parcel p0) {
LABEL (L0)
ALOAD (1)
LDC (in)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
GETSTATIC (Companion, LUser$Companion;)
ALOAD (1)
INVOKEVIRTUAL (User$Companion, create, (Landroid/os/Parcel;)Landroid/os/Parcelable;)
ARETURN
LABEL (L1)
}
public final User[] newArray(int p0) {
LABEL (L0)
ILOAD (1)
ANEWARRAY
ARETURN
LABEL (L1)
}
}
public final class User : java/lang/Object, android/os/Parcelable {
public final static User$CREATOR CREATOR
public final static User$Creator CREATOR
public final static User$Companion Companion