Parcelize: Add tests for deprecated (kotlinx.android.parcel) annotations

This commit is contained in:
Yan Zhulanow
2020-09-18 18:26:14 +09:00
parent 1d5ab192f5
commit 2d158ffebd
12 changed files with 510 additions and 0 deletions
@@ -0,0 +1,116 @@
final class User$Companion : java/lang/Object, kotlinx/android/parcel/Parceler {
private void <init>()
public void <init>(kotlin.jvm.internal.DefaultConstructorMarker $constructor_marker)
public User create(android.os.Parcel parcel)
public java.lang.Object create(android.os.Parcel parcel)
public User[] newArray(int size) {
LABEL (L0)
LINENUMBER (10)
ALOAD (0)
CHECKCAST
ILOAD (1)
INVOKESTATIC (kotlinx/android/parcel/Parceler$DefaultImpls, newArray, (Lkotlinx/android/parcel/Parceler;I)[Ljava/lang/Object;)
CHECKCAST
ARETURN
LABEL (L1)
}
public java.lang.Object[] newArray(int size) {
LABEL (L0)
ALOAD (0)
ILOAD (1)
INVOKEVIRTUAL (User$Companion, newArray, (I)[LUser;)
ARETURN
LABEL (L1)
}
public void write(User $this$write, android.os.Parcel parcel, int flags)
public void write(java.lang.Object $this$write, android.os.Parcel parcel, int flags)
}
public final class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
public void <init>()
public final User createFromParcel(android.os.Parcel parcel) {
LABEL (L0)
ALOAD (1)
LDC (parcel)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
INVOKESTATIC (User, access$getCompanion$p$s2645995, ()LUser$Companion;)
ALOAD (1)
INVOKEVIRTUAL (User$Companion, create, (Landroid/os/Parcel;)LUser;)
ARETURN
LABEL (L1)
}
public java.lang.Object createFromParcel(android.os.Parcel source) {
LABEL (L0)
ALOAD (0)
ALOAD (1)
INVOKEVIRTUAL (User$Creator, createFromParcel, (Landroid/os/Parcel;)LUser;)
ARETURN
LABEL (L1)
}
public final User[] newArray(int size) {
LABEL (L0)
ILOAD (1)
ANEWARRAY
ARETURN
LABEL (L1)
}
public java.lang.Object[] newArray(int size) {
LABEL (L0)
ALOAD (0)
ILOAD (1)
INVOKEVIRTUAL (User$Creator, newArray, (I)[LUser;)
ARETURN
LABEL (L1)
}
}
public final class User : java/lang/Object, android/os/Parcelable {
public final static android.os.Parcelable$Creator CREATOR
private final static User$Companion Companion
private final int age
private final java.lang.String firstName
private final java.lang.String lastName
static void <clinit>()
public void <init>(java.lang.String firstName, java.lang.String lastName, int age)
public final static User$Companion access$getCompanion$p$s2645995()
public int describeContents()
public final int getAge()
public final java.lang.String getFirstName()
public final java.lang.String getLastName()
public void writeToParcel(android.os.Parcel out, int flags) {
LABEL (L0)
ALOAD (1)
LDC (out)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
GETSTATIC (Companion, LUser$Companion;)
ALOAD (0)
ALOAD (1)
ILOAD (2)
INVOKEVIRTUAL (User$Companion, write, (LUser;Landroid/os/Parcel;I)V)
RETURN
LABEL (L1)
}
}
@@ -0,0 +1,19 @@
// CURIOUS_ABOUT writeToParcel, createFromParcel, newArray
// WITH_RUNTIME
import kotlinx.android.parcel.*
import android.os.Parcel
import android.os.Parcelable
@Parcelize
class User(val firstName: String, val lastName: String, val age: Int) : Parcelable {
private companion object : Parceler<User> {
override fun User.write(parcel: Parcel, flags: Int) {
parcel.writeString(firstName)
parcel.writeString(lastName)
parcel.writeInt(age)
}
override fun create(parcel: Parcel) = User(parcel.readString(), parcel.readString(), parcel.readInt())
}
}
@@ -0,0 +1,113 @@
final class User$Companion : java/lang/Object, kotlinx/android/parcel/Parceler {
private void <init>()
public void <init>(kotlin.jvm.internal.DefaultConstructorMarker $constructor_marker)
public User create(android.os.Parcel parcel)
public java.lang.Object create(android.os.Parcel p0)
public User[] newArray(int size) {
LABEL (L0)
LINENUMBER (10)
ALOAD (0)
ILOAD (1)
INVOKESTATIC (kotlinx/android/parcel/Parceler$DefaultImpls, newArray, (Lkotlinx/android/parcel/Parceler;I)[Ljava/lang/Object;)
CHECKCAST
ARETURN
LABEL (L1)
}
public java.lang.Object[] newArray(int p0) {
LABEL (L0)
LINENUMBER (10)
ALOAD (0)
ILOAD (1)
INVOKEVIRTUAL (User$Companion, newArray, (I)[LUser;)
ARETURN
}
public void write(User $this$write, android.os.Parcel parcel, int flags)
public void write(java.lang.Object p0, android.os.Parcel p1, int p2)
}
public final class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
public void <init>()
public final User createFromParcel(android.os.Parcel in) {
LABEL (L0)
ALOAD (1)
LDC (in)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (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 java.lang.Object createFromParcel(android.os.Parcel p0) {
LABEL (L0)
LINENUMBER (9)
ALOAD (0)
ALOAD (1)
INVOKEVIRTUAL (User$Creator, createFromParcel, (Landroid/os/Parcel;)LUser;)
ARETURN
}
public final User[] newArray(int size) {
LABEL (L0)
ILOAD (1)
ANEWARRAY
ARETURN
LABEL (L1)
}
public java.lang.Object[] newArray(int p0) {
LABEL (L0)
LINENUMBER (9)
ALOAD (0)
ILOAD (1)
INVOKEVIRTUAL (User$Creator, newArray, (I)[LUser;)
ARETURN
}
}
public final class User : java/lang/Object, android/os/Parcelable {
public final static android.os.Parcelable$Creator CREATOR
private final static User$Companion Companion
private final int age
private final java.lang.String firstName
private final java.lang.String lastName
static void <clinit>()
public void <init>(java.lang.String firstName, java.lang.String lastName, int age)
public int describeContents()
public final int getAge()
public final java.lang.String getFirstName()
public final java.lang.String getLastName()
public void writeToParcel(android.os.Parcel parcel, int flags) {
LABEL (L0)
ALOAD (1)
LDC (parcel)
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
GETSTATIC (Companion, LUser$Companion;)
ALOAD (0)
ALOAD (1)
ILOAD (2)
INVOKEVIRTUAL (User$Companion, write, (LUser;Landroid/os/Parcel;I)V)
RETURN
LABEL (L1)
}
}