Parcelize: Add the Parcelize compiler plugin with sources extracted from Android Extensions plugin (KT-40030)
This commit is contained in:
+89
@@ -0,0 +1,89 @@
|
||||
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)
|
||||
NEW
|
||||
DUP
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readStrongBinder, ()Landroid/os/IBinder;)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, createBinderArray, ()[Landroid/os/IBinder;)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, createBinderArrayList, ()Ljava/util/ArrayList;)
|
||||
CHECKCAST
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, createBinderArrayList, ()Ljava/util/ArrayList;)
|
||||
INVOKESPECIAL (User, <init>, (Landroid/os/IBinder;[Landroid/os/IBinder;Ljava/util/List;Ljava/util/ArrayList;)V)
|
||||
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)
|
||||
|
||||
public java.lang.Object[] newArray(int size)
|
||||
}
|
||||
|
||||
public final class User : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final android.os.IBinder binder
|
||||
|
||||
private final android.os.IBinder[] binderArray
|
||||
|
||||
private final java.util.ArrayList binderArrayList
|
||||
|
||||
private final java.util.List binderList
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
public void <init>(android.os.IBinder binder, android.os.IBinder[] binderArray, java.util.List binderList, java.util.ArrayList binderArrayList)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final android.os.IBinder getBinder()
|
||||
|
||||
public final android.os.IBinder[] getBinderArray()
|
||||
|
||||
public final java.util.ArrayList getBinderArrayList()
|
||||
|
||||
public final java.util.List getBinderList()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (binder, Landroid/os/IBinder;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeStrongBinder, (Landroid/os/IBinder;)V)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (binderArray, [Landroid/os/IBinder;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeBinderArray, ([Landroid/os/IBinder;)V)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (binderList, Ljava/util/List;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeBinderList, (Ljava/util/List;)V)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (binderArrayList, Ljava/util/ArrayList;)
|
||||
CHECKCAST
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeBinderList, (Ljava/util/List;)V)
|
||||
RETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
// CURIOUS_ABOUT writeToParcel, createFromParcel
|
||||
// WITH_RUNTIME
|
||||
|
||||
import kotlinx.parcelize.*
|
||||
import android.os.Parcelable
|
||||
import android.os.IBinder
|
||||
import android.os.IInterface
|
||||
|
||||
@Parcelize
|
||||
class User(
|
||||
val binder: IBinder,
|
||||
val binderArray: Array<IBinder>,
|
||||
val binderList: List<IBinder>,
|
||||
val binderArrayList: ArrayList<IBinder> // should be serialized using our strategy, not using Parcel.writeBinderList()
|
||||
// There is no readStrongInterface method in Parcel.
|
||||
// val intf: IInterface?
|
||||
) : Parcelable
|
||||
@@ -0,0 +1,126 @@
|
||||
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)
|
||||
LABEL (L1)
|
||||
NEW
|
||||
DUP
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readStrongBinder, ()Landroid/os/IBinder;)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, createBinderArray, ()[Landroid/os/IBinder;)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, createBinderArrayList, ()Ljava/util/ArrayList;)
|
||||
CHECKCAST
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readInt, ()I)
|
||||
ISTORE (2)
|
||||
NEW
|
||||
DUP
|
||||
ILOAD (2)
|
||||
INVOKESPECIAL (java/util/ArrayList, <init>, (I)V)
|
||||
ILOAD (2)
|
||||
LABEL (L2)
|
||||
DUP_X1
|
||||
IFEQ (L3)
|
||||
DUP
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readStrongBinder, ()Landroid/os/IBinder;)
|
||||
INVOKEVIRTUAL (java/util/ArrayList, add, (Ljava/lang/Object;)Z)
|
||||
POP
|
||||
SWAP
|
||||
LDC (-1)
|
||||
IADD
|
||||
GOTO (L2)
|
||||
LABEL (L3)
|
||||
SWAP
|
||||
POP
|
||||
INVOKESPECIAL (User, <init>, (Landroid/os/IBinder;[Landroid/os/IBinder;Ljava/util/List;Ljava/util/ArrayList;)V)
|
||||
ARETURN
|
||||
LABEL (L4)
|
||||
}
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||
LABEL (L0)
|
||||
LINENUMBER (10)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (User$Creator, createFromParcel, (Landroid/os/Parcel;)LUser;)
|
||||
ARETURN
|
||||
}
|
||||
|
||||
public final User[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class User : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final android.os.IBinder binder
|
||||
|
||||
private final android.os.IBinder[] binderArray
|
||||
|
||||
private final java.util.ArrayList binderArrayList
|
||||
|
||||
private final java.util.List binderList
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
public void <init>(android.os.IBinder binder, android.os.IBinder[] binderArray, java.util.List binderList, java.util.ArrayList binderArrayList)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final android.os.IBinder getBinder()
|
||||
|
||||
public final android.os.IBinder[] getBinderArray()
|
||||
|
||||
public final java.util.ArrayList getBinderArrayList()
|
||||
|
||||
public final java.util.List getBinderList()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (binder, Landroid/os/IBinder;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeStrongBinder, (Landroid/os/IBinder;)V)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (binderArray, [Landroid/os/IBinder;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeBinderArray, ([Landroid/os/IBinder;)V)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (binderList, Ljava/util/List;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeBinderList, (Ljava/util/List;)V)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (binderArrayList, Ljava/util/ArrayList;)
|
||||
DUP_X1
|
||||
INVOKEINTERFACE (java/util/Collection, size, ()I)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
INVOKEINTERFACE (java/util/Collection, iterator, ()Ljava/util/Iterator;)
|
||||
LABEL (L1)
|
||||
DUP
|
||||
INVOKEINTERFACE (java/util/Iterator, hasNext, ()Z)
|
||||
IFEQ (L2)
|
||||
DUP
|
||||
ALOAD (1)
|
||||
SWAP
|
||||
INVOKEINTERFACE (java/util/Iterator, next, ()Ljava/lang/Object;)
|
||||
CHECKCAST
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeStrongBinder, (Landroid/os/IBinder;)V)
|
||||
GOTO (L1)
|
||||
LABEL (L2)
|
||||
POP
|
||||
RETURN
|
||||
LABEL (L3)
|
||||
}
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
public final class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final User createFromParcel(android.os.Parcel parcel)
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel source)
|
||||
|
||||
public final User[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int size)
|
||||
}
|
||||
|
||||
public final class User : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final int age
|
||||
|
||||
private final java.lang.String firstName
|
||||
|
||||
private final boolean isProUser
|
||||
|
||||
private final java.lang.String lastName
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
public void <init>(java.lang.String firstName, java.lang.String lastName, int age, boolean isProUser)
|
||||
|
||||
public int describeContents() {
|
||||
LABEL (L0)
|
||||
LINENUMBER (9)
|
||||
BIPUSH (100)
|
||||
IRETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public final int getAge()
|
||||
|
||||
public final java.lang.String getFirstName()
|
||||
|
||||
public final java.lang.String getLastName()
|
||||
|
||||
public final boolean isProUser()
|
||||
|
||||
public void writeToParcel(android.os.Parcel out, int flags)
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
// CURIOUS_ABOUT describeContents
|
||||
// WITH_RUNTIME
|
||||
|
||||
import kotlinx.parcelize.*
|
||||
import android.os.Parcelable
|
||||
|
||||
@Parcelize
|
||||
class User(val firstName: String, val lastName: String, val age: Int, val isProUser: Boolean) : Parcelable {
|
||||
override fun describeContents() = 100
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
public final class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final User createFromParcel(android.os.Parcel in)
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel p0)
|
||||
|
||||
public final User[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class User : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final int age
|
||||
|
||||
private final java.lang.String firstName
|
||||
|
||||
private final boolean isProUser
|
||||
|
||||
private final java.lang.String lastName
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
public void <init>(java.lang.String firstName, java.lang.String lastName, int age, boolean isProUser)
|
||||
|
||||
public int describeContents() {
|
||||
LABEL (L0)
|
||||
LINENUMBER (9)
|
||||
BIPUSH (100)
|
||||
IRETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public final int getAge()
|
||||
|
||||
public final java.lang.String getFirstName()
|
||||
|
||||
public final java.lang.String getLastName()
|
||||
|
||||
public final boolean isProUser()
|
||||
|
||||
public void writeToParcel(android.os.Parcel parcel, int flags)
|
||||
}
|
||||
Vendored
+69
@@ -0,0 +1,69 @@
|
||||
public final class test/Foo$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final test.Foo createFromParcel(android.os.Parcel parcel) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (parcel)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
NEW
|
||||
DUP
|
||||
ALOAD (1)
|
||||
LDC (Ltest/Foo;)
|
||||
INVOKEVIRTUAL (java/lang/Class, getClassLoader, ()Ljava/lang/ClassLoader;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readParcelable, (Ljava/lang/ClassLoader;)Landroid/os/Parcelable;)
|
||||
CHECKCAST
|
||||
INVOKESPECIAL (test/Foo, <init>, (Landroid/accounts/Account;)V)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel source) {
|
||||
LABEL (L0)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (test/Foo$Creator, createFromParcel, (Landroid/os/Parcel;)Ltest/Foo;)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public final test.Foo[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int size)
|
||||
}
|
||||
|
||||
public final class test/Foo : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final android.accounts.Account kp
|
||||
|
||||
static void <clinit>() {
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (test/Foo$Creator, <init>, ()V)
|
||||
CHECKCAST
|
||||
PUTSTATIC (CREATOR, Landroid/os/Parcelable$Creator;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
public void <init>(android.accounts.Account kp)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final android.accounts.Account getKp()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (kp, Landroid/accounts/Account;)
|
||||
CHECKCAST
|
||||
ILOAD (2)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeParcelable, (Landroid/os/Parcelable;I)V)
|
||||
RETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
// CURIOUS_ABOUT writeToParcel, createFromParcel, <clinit>
|
||||
// WITH_RUNTIME
|
||||
|
||||
package test
|
||||
|
||||
import kotlinx.parcelize.*
|
||||
import android.os.*
|
||||
import android.accounts.Account
|
||||
|
||||
@Parcelize
|
||||
class Foo(val kp: Account): Parcelable
|
||||
+67
@@ -0,0 +1,67 @@
|
||||
public final class test/Foo$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final test.Foo createFromParcel(android.os.Parcel in) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (in)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
NEW
|
||||
DUP
|
||||
ALOAD (1)
|
||||
LDC (Ltest/Foo;)
|
||||
INVOKEVIRTUAL (java/lang/Class, getClassLoader, ()Ljava/lang/ClassLoader;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readParcelable, (Ljava/lang/ClassLoader;)Landroid/os/Parcelable;)
|
||||
CHECKCAST
|
||||
INVOKESPECIAL (test/Foo, <init>, (Landroid/accounts/Account;)V)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||
LABEL (L0)
|
||||
LINENUMBER (11)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (test/Foo$Creator, createFromParcel, (Landroid/os/Parcel;)Ltest/Foo;)
|
||||
ARETURN
|
||||
}
|
||||
|
||||
public final test.Foo[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class test/Foo : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final android.accounts.Account kp
|
||||
|
||||
static void <clinit>() {
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (test/Foo$Creator, <init>, ()V)
|
||||
PUTSTATIC (CREATOR, Landroid/os/Parcelable$Creator;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
public void <init>(android.accounts.Account kp)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final android.accounts.Account getKp()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (kp, Landroid/accounts/Account;)
|
||||
ILOAD (2)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeParcelable, (Landroid/os/Parcelable;I)V)
|
||||
RETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
+169
@@ -0,0 +1,169 @@
|
||||
public final class k/KotlinParcelable$Companion : java/lang/Object {
|
||||
private void <init>()
|
||||
|
||||
public void <init>(kotlin.jvm.internal.DefaultConstructorMarker $constructor_marker)
|
||||
}
|
||||
|
||||
public final class k/KotlinParcelable$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public k.KotlinParcelable createFromParcel(android.os.Parcel source) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (source)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
LABEL (L1)
|
||||
LINENUMBER (23)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readInt, ()I)
|
||||
ISTORE (2)
|
||||
LABEL (L2)
|
||||
LINENUMBER (24)
|
||||
NEW
|
||||
DUP
|
||||
ILOAD (2)
|
||||
INVOKESPECIAL (k/KotlinParcelable, <init>, (I)V)
|
||||
ARETURN
|
||||
LABEL (L3)
|
||||
}
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||
LABEL (L0)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (k/KotlinParcelable$Creator, createFromParcel, (Landroid/os/Parcel;)Lk/KotlinParcelable;)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public k.KotlinParcelable[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class k/KotlinParcelable : java/lang/Object, android/os/Parcelable {
|
||||
public final static k.KotlinParcelable$Creator CREATOR
|
||||
|
||||
public final static k.KotlinParcelable$Companion Companion
|
||||
|
||||
private int data
|
||||
|
||||
static void <clinit>() {
|
||||
NEW
|
||||
DUP
|
||||
ACONST_NULL
|
||||
INVOKESPECIAL (k/KotlinParcelable$Companion, <init>, (Lkotlin/jvm/internal/DefaultConstructorMarker;)V)
|
||||
PUTSTATIC (Companion, Lk/KotlinParcelable$Companion;)
|
||||
LABEL (L0)
|
||||
LINENUMBER (18)
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (k/KotlinParcelable$Creator, <init>, ()V)
|
||||
PUTSTATIC (CREATOR, Lk/KotlinParcelable$Creator;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
public void <init>(int data)
|
||||
|
||||
public final int component1()
|
||||
|
||||
public final k.KotlinParcelable copy(int data)
|
||||
|
||||
public static k.KotlinParcelable copy$default(k.KotlinParcelable p0, int p1, int p2, java.lang.Object p3)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public boolean equals(java.lang.Object other)
|
||||
|
||||
public final int getData()
|
||||
|
||||
public int hashCode()
|
||||
|
||||
public final void setData(int <set-?>)
|
||||
|
||||
public java.lang.String toString()
|
||||
|
||||
public void writeToParcel(android.os.Parcel dest, int flags) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (dest)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
LABEL (L1)
|
||||
LINENUMBER (13)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (data, I)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
LABEL (L2)
|
||||
LINENUMBER (14)
|
||||
RETURN
|
||||
LABEL (L3)
|
||||
}
|
||||
}
|
||||
|
||||
public final class test/Foo$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final test.Foo createFromParcel(android.os.Parcel parcel) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (parcel)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
NEW
|
||||
DUP
|
||||
GETSTATIC (CREATOR, Lk/KotlinParcelable$Creator;)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (k/KotlinParcelable$Creator, createFromParcel, (Landroid/os/Parcel;)Lk/KotlinParcelable;)
|
||||
INVOKESPECIAL (test/Foo, <init>, (Lk/KotlinParcelable;)V)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel source) {
|
||||
LABEL (L0)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (test/Foo$Creator, createFromParcel, (Landroid/os/Parcel;)Ltest/Foo;)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public final test.Foo[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int size)
|
||||
}
|
||||
|
||||
public final class test/Foo : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final k.KotlinParcelable kp
|
||||
|
||||
static void <clinit>() {
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (test/Foo$Creator, <init>, ()V)
|
||||
CHECKCAST
|
||||
PUTSTATIC (CREATOR, Landroid/os/Parcelable$Creator;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
public void <init>(k.KotlinParcelable kp)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final k.KotlinParcelable getKp()
|
||||
|
||||
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)
|
||||
ALOAD (0)
|
||||
GETFIELD (kp, Lk/KotlinParcelable;)
|
||||
ALOAD (1)
|
||||
ILOAD (2)
|
||||
INVOKEVIRTUAL (k/KotlinParcelable, writeToParcel, (Landroid/os/Parcel;I)V)
|
||||
RETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
// CURIOUS_ABOUT writeToParcel, createFromParcel, <clinit>
|
||||
// WITH_RUNTIME
|
||||
|
||||
// FILE: KotlinParcelable.kt
|
||||
package k
|
||||
import android.os.*
|
||||
|
||||
data class KotlinParcelable(var data: Int): Parcelable {
|
||||
|
||||
override fun describeContents() = 1
|
||||
|
||||
override fun writeToParcel(dest: Parcel, flags: Int) {
|
||||
dest.writeInt(data)
|
||||
}
|
||||
|
||||
companion object {
|
||||
@JvmField
|
||||
val CREATOR = Creator()
|
||||
}
|
||||
|
||||
class Creator : Parcelable.Creator<KotlinParcelable> {
|
||||
override fun createFromParcel(source: Parcel): KotlinParcelable {
|
||||
val data = source.readInt()
|
||||
return KotlinParcelable(data)
|
||||
}
|
||||
|
||||
override fun newArray(size: Int) = arrayOfNulls<KotlinParcelable>(size)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// FILE: test.kt
|
||||
package test
|
||||
|
||||
import kotlinx.parcelize.*
|
||||
import android.os.*
|
||||
import k.*
|
||||
|
||||
@Parcelize
|
||||
class Foo(val kp: KotlinParcelable): Parcelable
|
||||
+170
@@ -0,0 +1,170 @@
|
||||
public final class k/KotlinParcelable$Companion : java/lang/Object {
|
||||
private void <init>()
|
||||
|
||||
public void <init>(kotlin.jvm.internal.DefaultConstructorMarker $constructor_marker)
|
||||
}
|
||||
|
||||
public final class k/KotlinParcelable$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public k.KotlinParcelable createFromParcel(android.os.Parcel source) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (source)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
LABEL (L1)
|
||||
LINENUMBER (23)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readInt, ()I)
|
||||
ISTORE (2)
|
||||
LABEL (L2)
|
||||
LINENUMBER (24)
|
||||
NEW
|
||||
DUP
|
||||
ILOAD (2)
|
||||
INVOKESPECIAL (k/KotlinParcelable, <init>, (I)V)
|
||||
ARETURN
|
||||
LABEL (L3)
|
||||
}
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||
LABEL (L0)
|
||||
LINENUMBER (21)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (k/KotlinParcelable$Creator, createFromParcel, (Landroid/os/Parcel;)Lk/KotlinParcelable;)
|
||||
ARETURN
|
||||
}
|
||||
|
||||
public k.KotlinParcelable[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class k/KotlinParcelable : java/lang/Object, android/os/Parcelable {
|
||||
public final static k.KotlinParcelable$Creator CREATOR
|
||||
|
||||
public final static k.KotlinParcelable$Companion Companion
|
||||
|
||||
private int data
|
||||
|
||||
static void <clinit>() {
|
||||
NEW
|
||||
DUP
|
||||
ACONST_NULL
|
||||
INVOKESPECIAL (k/KotlinParcelable$Companion, <init>, (Lkotlin/jvm/internal/DefaultConstructorMarker;)V)
|
||||
PUTSTATIC (Companion, Lk/KotlinParcelable$Companion;)
|
||||
LABEL (L0)
|
||||
LINENUMBER (18)
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (k/KotlinParcelable$Creator, <init>, ()V)
|
||||
PUTSTATIC (CREATOR, Lk/KotlinParcelable$Creator;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
public void <init>(int data)
|
||||
|
||||
public final int component1()
|
||||
|
||||
public final k.KotlinParcelable copy(int data)
|
||||
|
||||
public static k.KotlinParcelable copy$default(k.KotlinParcelable p0, int p1, int p2, java.lang.Object p3)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public boolean equals(java.lang.Object p0)
|
||||
|
||||
public final int getData()
|
||||
|
||||
public int hashCode()
|
||||
|
||||
public final void setData(int <set-?>)
|
||||
|
||||
public java.lang.String toString()
|
||||
|
||||
public void writeToParcel(android.os.Parcel dest, int flags) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (dest)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
LABEL (L1)
|
||||
LINENUMBER (13)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (data, I)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
LABEL (L2)
|
||||
LINENUMBER (14)
|
||||
RETURN
|
||||
LABEL (L3)
|
||||
}
|
||||
}
|
||||
|
||||
public final class test/Foo$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final test.Foo createFromParcel(android.os.Parcel in) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (in)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
NEW
|
||||
DUP
|
||||
ALOAD (1)
|
||||
LDC (Ltest/Foo;)
|
||||
INVOKEVIRTUAL (java/lang/Class, getClassLoader, ()Ljava/lang/ClassLoader;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readParcelable, (Ljava/lang/ClassLoader;)Landroid/os/Parcelable;)
|
||||
CHECKCAST
|
||||
INVOKESPECIAL (test/Foo, <init>, (Lk/KotlinParcelable;)V)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||
LABEL (L0)
|
||||
LINENUMBER (9)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (test/Foo$Creator, createFromParcel, (Landroid/os/Parcel;)Ltest/Foo;)
|
||||
ARETURN
|
||||
}
|
||||
|
||||
public final test.Foo[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class test/Foo : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final k.KotlinParcelable kp
|
||||
|
||||
static void <clinit>() {
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (test/Foo$Creator, <init>, ()V)
|
||||
PUTSTATIC (CREATOR, Landroid/os/Parcelable$Creator;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
public void <init>(k.KotlinParcelable kp)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final k.KotlinParcelable getKp()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (kp, Lk/KotlinParcelable;)
|
||||
ILOAD (2)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeParcelable, (Landroid/os/Parcelable;I)V)
|
||||
RETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
final class User$Companion : java/lang/Object, kotlinx/parcelize/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)
|
||||
ILOAD (1)
|
||||
INVOKESTATIC (kotlinx/parcelize/Parceler$DefaultImpls, newArray, (Lkotlinx/parcelize/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.parcelize.*
|
||||
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/parcelize/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/parcelize/Parceler$DefaultImpls, newArray, (Lkotlinx/parcelize/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)
|
||||
}
|
||||
}
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
final class User$Companion : java/lang/Object, kotlinx/parcelize/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 (19)
|
||||
ILOAD (1)
|
||||
ANEWARRAY
|
||||
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)
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel source)
|
||||
|
||||
public final User[] newArray(int size) {
|
||||
LABEL (L0)
|
||||
INVOKESTATIC (User, access$getCompanion$p$s2645995, ()LUser$Companion;)
|
||||
ILOAD (1)
|
||||
INVOKEVIRTUAL (User$Companion, newArray, (I)[LUser;)
|
||||
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)
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
// CURIOUS_ABOUT newArray
|
||||
// WITH_RUNTIME
|
||||
|
||||
import kotlinx.parcelize.*
|
||||
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())
|
||||
|
||||
override fun newArray(size: Int) = arrayOfNulls<User>(size) as Array<User>
|
||||
}
|
||||
}
|
||||
+83
@@ -0,0 +1,83 @@
|
||||
final class User$Companion : java/lang/Object, kotlinx/parcelize/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 (19)
|
||||
ILOAD (1)
|
||||
ANEWARRAY
|
||||
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)
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel p0)
|
||||
|
||||
public final User[] newArray(int size) {
|
||||
LABEL (L0)
|
||||
GETSTATIC (Companion, LUser$Companion;)
|
||||
ILOAD (1)
|
||||
INVOKEVIRTUAL (User$Companion, newArray, (I)[LUser;)
|
||||
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)
|
||||
}
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
public abstract class AbstractUser : java/lang/Object, android/os/Parcelable {
|
||||
public void <init>()
|
||||
|
||||
public int describeContents() {
|
||||
LABEL (L0)
|
||||
LINENUMBER (8)
|
||||
BIPUSH (100)
|
||||
IRETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
|
||||
public final class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final User createFromParcel(android.os.Parcel parcel)
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel source)
|
||||
|
||||
public final User[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int size)
|
||||
}
|
||||
|
||||
public final class User : AbstractUser {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final int age
|
||||
|
||||
private final java.lang.String firstName
|
||||
|
||||
private final boolean isProUser
|
||||
|
||||
private final java.lang.String lastName
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
public void <init>(java.lang.String firstName, java.lang.String lastName, int age, boolean isProUser)
|
||||
|
||||
public final int getAge()
|
||||
|
||||
public final java.lang.String getFirstName()
|
||||
|
||||
public final java.lang.String getLastName()
|
||||
|
||||
public final boolean isProUser()
|
||||
|
||||
public void writeToParcel(android.os.Parcel out, int flags)
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
// CURIOUS_ABOUT describeContents
|
||||
// WITH_RUNTIME
|
||||
|
||||
import kotlinx.parcelize.*
|
||||
import android.os.Parcelable
|
||||
|
||||
abstract class AbstractUser : Parcelable {
|
||||
override fun describeContents() = 100
|
||||
}
|
||||
|
||||
@Parcelize
|
||||
class User(val firstName: String, val lastName: String, val age: Int, val isProUser: Boolean) : AbstractUser()
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
public abstract class AbstractUser : java/lang/Object, android/os/Parcelable {
|
||||
public void <init>()
|
||||
|
||||
public int describeContents() {
|
||||
LABEL (L0)
|
||||
LINENUMBER (8)
|
||||
BIPUSH (100)
|
||||
IRETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
|
||||
public final class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final User createFromParcel(android.os.Parcel in)
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel p0)
|
||||
|
||||
public final User[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class User : AbstractUser {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final int age
|
||||
|
||||
private final java.lang.String firstName
|
||||
|
||||
private final boolean isProUser
|
||||
|
||||
private final java.lang.String lastName
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
public void <init>(java.lang.String firstName, java.lang.String lastName, int age, boolean isProUser)
|
||||
|
||||
public final int getAge()
|
||||
|
||||
public final java.lang.String getFirstName()
|
||||
|
||||
public final java.lang.String getLastName()
|
||||
|
||||
public final boolean isProUser()
|
||||
|
||||
public void writeToParcel(android.os.Parcel parcel, int flags)
|
||||
}
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
public final class User$Companion : java/lang/Object {
|
||||
private void <init>()
|
||||
|
||||
public void <init>(kotlin.jvm.internal.DefaultConstructorMarker $constructor_marker)
|
||||
|
||||
private static void getTest$annotations()
|
||||
}
|
||||
|
||||
public final class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final User createFromParcel(android.os.Parcel parcel)
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel source)
|
||||
|
||||
public final User[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int size)
|
||||
}
|
||||
|
||||
public final class User : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
public final static User$Companion Companion
|
||||
|
||||
private final java.lang.String firstName
|
||||
|
||||
private final static java.lang.StringBuilder test
|
||||
|
||||
static void <clinit>() {
|
||||
NEW
|
||||
DUP
|
||||
ACONST_NULL
|
||||
INVOKESPECIAL (User$Companion, <init>, (Lkotlin/jvm/internal/DefaultConstructorMarker;)V)
|
||||
PUTSTATIC (Companion, LUser$Companion;)
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (User$Creator, <init>, ()V)
|
||||
CHECKCAST
|
||||
PUTSTATIC (CREATOR, Landroid/os/Parcelable$Creator;)
|
||||
LABEL (L0)
|
||||
LINENUMBER (12)
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (java/lang/StringBuilder, <init>, ()V)
|
||||
PUTSTATIC (test, Ljava/lang/StringBuilder;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
public void <init>(java.lang.String firstName)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final java.lang.String getFirstName()
|
||||
|
||||
public void writeToParcel(android.os.Parcel out, int flags)
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
// CURIOUS_ABOUT <clinit>
|
||||
// WITH_RUNTIME
|
||||
|
||||
import kotlinx.parcelize.*
|
||||
import android.os.Parcelable
|
||||
import kotlin.jvm.JvmStatic
|
||||
|
||||
@Parcelize
|
||||
class User(val firstName: String) : Parcelable {
|
||||
companion object {
|
||||
@JvmStatic
|
||||
private val test = StringBuilder()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
public final class User$Companion : java/lang/Object {
|
||||
private void <init>()
|
||||
|
||||
public void <init>(kotlin.jvm.internal.DefaultConstructorMarker $constructor_marker)
|
||||
|
||||
private static void getTest$annotations()
|
||||
}
|
||||
|
||||
public final class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final User createFromParcel(android.os.Parcel in)
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel p0)
|
||||
|
||||
public final User[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class User : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
public final static User$Companion Companion
|
||||
|
||||
private final java.lang.String firstName
|
||||
|
||||
private final static java.lang.StringBuilder test
|
||||
|
||||
static void <clinit>() {
|
||||
NEW
|
||||
DUP
|
||||
ACONST_NULL
|
||||
INVOKESPECIAL (User$Companion, <init>, (Lkotlin/jvm/internal/DefaultConstructorMarker;)V)
|
||||
PUTSTATIC (Companion, LUser$Companion;)
|
||||
LABEL (L0)
|
||||
LINENUMBER (12)
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (java/lang/StringBuilder, <init>, ()V)
|
||||
PUTSTATIC (test, Ljava/lang/StringBuilder;)
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (User$Creator, <init>, ()V)
|
||||
PUTSTATIC (CREATOR, Landroid/os/Parcelable$Creator;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
public void <init>(java.lang.String firstName)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final java.lang.String getFirstName()
|
||||
|
||||
public void writeToParcel(android.os.Parcel parcel, int flags)
|
||||
}
|
||||
+156
@@ -0,0 +1,156 @@
|
||||
public final class test/Bar$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final test.Bar createFromParcel(android.os.Parcel parcel) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (parcel)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
LABEL (L1)
|
||||
NEW
|
||||
DUP
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readInt, ()I)
|
||||
IFNE (L2)
|
||||
ACONST_NULL
|
||||
GOTO (L3)
|
||||
LABEL (L2)
|
||||
GETSTATIC (CREATOR, Landroid/os/Parcelable$Creator;)
|
||||
ALOAD (1)
|
||||
INVOKEINTERFACE (android/os/Parcelable$Creator, createFromParcel, (Landroid/os/Parcel;)Ljava/lang/Object;)
|
||||
LABEL (L3)
|
||||
CHECKCAST
|
||||
INVOKESPECIAL (test/Bar, <init>, (Ltest/Foo;)V)
|
||||
ARETURN
|
||||
LABEL (L4)
|
||||
}
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel source) {
|
||||
LABEL (L0)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (test/Bar$Creator, createFromParcel, (Landroid/os/Parcel;)Ltest/Bar;)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public final test.Bar[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int size)
|
||||
}
|
||||
|
||||
public final class test/Bar : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final test.Foo foo
|
||||
|
||||
static void <clinit>() {
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (test/Bar$Creator, <init>, ()V)
|
||||
CHECKCAST
|
||||
PUTSTATIC (CREATOR, Landroid/os/Parcelable$Creator;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
public void <init>(test.Foo foo)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final test.Foo getFoo()
|
||||
|
||||
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)
|
||||
ALOAD (0)
|
||||
GETFIELD (foo, Ltest/Foo;)
|
||||
ASTORE (3)
|
||||
ALOAD (3)
|
||||
IFNONNULL (L1)
|
||||
ALOAD (1)
|
||||
ICONST_0
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
GOTO (L2)
|
||||
LABEL (L1)
|
||||
ALOAD (1)
|
||||
ICONST_1
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
ALOAD (3)
|
||||
ALOAD (1)
|
||||
ILOAD (2)
|
||||
INVOKEVIRTUAL (test/Foo, writeToParcel, (Landroid/os/Parcel;I)V)
|
||||
LABEL (L2)
|
||||
RETURN
|
||||
LABEL (L3)
|
||||
}
|
||||
}
|
||||
|
||||
public final class test/Foo$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final test.Foo createFromParcel(android.os.Parcel parcel) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (parcel)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
NEW
|
||||
DUP
|
||||
GETSTATIC (CREATOR, Landroid/os/Parcelable$Creator;)
|
||||
ALOAD (1)
|
||||
INVOKEINTERFACE (android/os/Parcelable$Creator, createFromParcel, (Landroid/os/Parcel;)Ljava/lang/Object;)
|
||||
CHECKCAST
|
||||
INVOKESPECIAL (test/Foo, <init>, (Ltest/Bar;)V)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel source) {
|
||||
LABEL (L0)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (test/Foo$Creator, createFromParcel, (Landroid/os/Parcel;)Ltest/Foo;)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public final test.Foo[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int size)
|
||||
}
|
||||
|
||||
public final class test/Foo : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final test.Bar bar
|
||||
|
||||
static void <clinit>() {
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (test/Foo$Creator, <init>, ()V)
|
||||
CHECKCAST
|
||||
PUTSTATIC (CREATOR, Landroid/os/Parcelable$Creator;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
public void <init>(test.Bar bar)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final test.Bar getBar()
|
||||
|
||||
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)
|
||||
ALOAD (0)
|
||||
GETFIELD (bar, Ltest/Bar;)
|
||||
ALOAD (1)
|
||||
ILOAD (2)
|
||||
INVOKEVIRTUAL (test/Bar, writeToParcel, (Landroid/os/Parcel;I)V)
|
||||
RETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
// CURIOUS_ABOUT writeToParcel, createFromParcel, <clinit>
|
||||
// WITH_RUNTIME
|
||||
//FILE: test.kt
|
||||
package test
|
||||
|
||||
import kotlinx.parcelize.*
|
||||
import android.os.Parcelable
|
||||
|
||||
@Parcelize
|
||||
class Foo(val bar: Bar): Parcelable
|
||||
|
||||
@Parcelize
|
||||
class Bar(val foo: Foo?) : Parcelable
|
||||
+156
@@ -0,0 +1,156 @@
|
||||
public final class test/Bar$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final test.Bar createFromParcel(android.os.Parcel in) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (in)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
LABEL (L1)
|
||||
NEW
|
||||
DUP
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readInt, ()I)
|
||||
IFEQ (L2)
|
||||
ALOAD (1)
|
||||
GETSTATIC (CREATOR, Landroid/os/Parcelable$Creator;)
|
||||
SWAP
|
||||
INVOKEINTERFACE (android/os/Parcelable$Creator, createFromParcel, (Landroid/os/Parcel;)Ljava/lang/Object;)
|
||||
CHECKCAST
|
||||
GOTO (L3)
|
||||
LABEL (L2)
|
||||
ACONST_NULL
|
||||
LABEL (L3)
|
||||
INVOKESPECIAL (test/Bar, <init>, (Ltest/Foo;)V)
|
||||
ARETURN
|
||||
LABEL (L4)
|
||||
}
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||
LABEL (L0)
|
||||
LINENUMBER (13)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (test/Bar$Creator, createFromParcel, (Landroid/os/Parcel;)Ltest/Bar;)
|
||||
ARETURN
|
||||
}
|
||||
|
||||
public final test.Bar[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class test/Bar : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final test.Foo foo
|
||||
|
||||
static void <clinit>() {
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (test/Bar$Creator, <init>, ()V)
|
||||
PUTSTATIC (CREATOR, Landroid/os/Parcelable$Creator;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
public void <init>(test.Foo foo)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final test.Foo getFoo()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (foo, Ltest/Foo;)
|
||||
DUP
|
||||
IFNULL (L1)
|
||||
ALOAD (1)
|
||||
LDC (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
SWAP
|
||||
LDC (0)
|
||||
INVOKEINTERFACE (android/os/Parcelable, writeToParcel, (Landroid/os/Parcel;I)V)
|
||||
GOTO (L2)
|
||||
LABEL (L1)
|
||||
POP
|
||||
LDC (0)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
LABEL (L2)
|
||||
RETURN
|
||||
LABEL (L3)
|
||||
}
|
||||
}
|
||||
|
||||
public final class test/Foo$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final test.Foo createFromParcel(android.os.Parcel in) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (in)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
NEW
|
||||
DUP
|
||||
ALOAD (1)
|
||||
GETSTATIC (CREATOR, Landroid/os/Parcelable$Creator;)
|
||||
SWAP
|
||||
INVOKEINTERFACE (android/os/Parcelable$Creator, createFromParcel, (Landroid/os/Parcel;)Ljava/lang/Object;)
|
||||
CHECKCAST
|
||||
INVOKESPECIAL (test/Foo, <init>, (Ltest/Bar;)V)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||
LABEL (L0)
|
||||
LINENUMBER (10)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (test/Foo$Creator, createFromParcel, (Landroid/os/Parcel;)Ltest/Foo;)
|
||||
ARETURN
|
||||
}
|
||||
|
||||
public final test.Foo[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class test/Foo : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final test.Bar bar
|
||||
|
||||
static void <clinit>() {
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (test/Foo$Creator, <init>, ()V)
|
||||
PUTSTATIC (CREATOR, Landroid/os/Parcelable$Creator;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
public void <init>(test.Bar bar)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final test.Bar getBar()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (bar, Ltest/Bar;)
|
||||
SWAP
|
||||
LDC (0)
|
||||
INVOKEINTERFACE (android/os/Parcelable, writeToParcel, (Landroid/os/Parcel;I)V)
|
||||
RETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
public final class test/SomeClass$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final test.SomeClass createFromParcel(android.os.Parcel parcel) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (parcel)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readInt, ()I)
|
||||
POP
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (test/SomeClass, <init>, ()V)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel source) {
|
||||
LABEL (L0)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (test/SomeClass$Creator, createFromParcel, (Landroid/os/Parcel;)Ltest/SomeClass;)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public final test.SomeClass[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int size)
|
||||
}
|
||||
|
||||
public final class test/SomeClass : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
public void <init>()
|
||||
|
||||
public int describeContents()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ICONST_1
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
RETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
// CURIOUS_ABOUT writeToParcel, createFromParcel
|
||||
// WITH_RUNTIME
|
||||
|
||||
package test
|
||||
|
||||
import kotlinx.parcelize.*
|
||||
import android.os.Parcelable
|
||||
|
||||
@Parcelize
|
||||
class SomeClass : Parcelable
|
||||
@@ -0,0 +1,71 @@
|
||||
public final class test/SomeClass$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final test.SomeClass createFromParcel(android.os.Parcel in) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (in)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
LABEL (L1)
|
||||
NEW
|
||||
DUP
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readInt, ()I)
|
||||
IFEQ (L2)
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (test/SomeClass, <init>, ()V)
|
||||
GOTO (L3)
|
||||
LABEL (L2)
|
||||
ACONST_NULL
|
||||
LABEL (L3)
|
||||
ARETURN
|
||||
LABEL (L4)
|
||||
}
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||
LABEL (L0)
|
||||
LINENUMBER (10)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (test/SomeClass$Creator, createFromParcel, (Landroid/os/Parcel;)Ltest/SomeClass;)
|
||||
ARETURN
|
||||
}
|
||||
|
||||
public final test.SomeClass[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class test/SomeClass : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
public void <init>()
|
||||
|
||||
public int describeContents()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
DUP
|
||||
IFNULL (L1)
|
||||
ALOAD (1)
|
||||
LDC (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
POP2
|
||||
GOTO (L2)
|
||||
LABEL (L1)
|
||||
POP
|
||||
LDC (0)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
LABEL (L2)
|
||||
RETURN
|
||||
LABEL (L3)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
public final class Test$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final Test createFromParcel(android.os.Parcel parcel)
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel source)
|
||||
|
||||
public final Test[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int size)
|
||||
}
|
||||
|
||||
public final class Test : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final java.util.List names
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
public void <init>(java.util.List names)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final java.util.List getNames()
|
||||
|
||||
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)
|
||||
ALOAD (0)
|
||||
GETFIELD (names, Ljava/util/List;)
|
||||
ASTORE (3)
|
||||
ALOAD (1)
|
||||
ALOAD (3)
|
||||
INVOKEINTERFACE (java/util/List, size, ()I)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
ALOAD (3)
|
||||
INVOKEINTERFACE (java/util/List, iterator, ()Ljava/util/Iterator;)
|
||||
ASTORE (4)
|
||||
LABEL (L1)
|
||||
ALOAD (4)
|
||||
INVOKEINTERFACE (java/util/Iterator, hasNext, ()Z)
|
||||
IFEQ (L2)
|
||||
ALOAD (4)
|
||||
INVOKEINTERFACE (java/util/Iterator, next, ()Ljava/lang/Object;)
|
||||
CHECKCAST
|
||||
ASTORE (5)
|
||||
ALOAD (1)
|
||||
ALOAD (5)
|
||||
INVOKEINTERFACE (java/util/List, size, ()I)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
ALOAD (5)
|
||||
INVOKEINTERFACE (java/util/List, iterator, ()Ljava/util/Iterator;)
|
||||
ASTORE (6)
|
||||
LABEL (L3)
|
||||
ALOAD (6)
|
||||
INVOKEINTERFACE (java/util/Iterator, hasNext, ()Z)
|
||||
IFEQ (L1)
|
||||
ALOAD (1)
|
||||
ALOAD (6)
|
||||
INVOKEINTERFACE (java/util/Iterator, next, ()Ljava/lang/Object;)
|
||||
CHECKCAST
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeStringList, (Ljava/util/List;)V)
|
||||
GOTO (L3)
|
||||
LABEL (L2)
|
||||
RETURN
|
||||
LABEL (L4)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
// CURIOUS_ABOUT writeToParcel
|
||||
// WITH_RUNTIME
|
||||
|
||||
import kotlinx.parcelize.*
|
||||
import android.os.Parcelable
|
||||
|
||||
@Parcelize
|
||||
class Test(val names: List<List<ArrayList<String>>>): Parcelable
|
||||
@@ -0,0 +1,86 @@
|
||||
public final class Test$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final Test createFromParcel(android.os.Parcel in)
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel p0)
|
||||
|
||||
public final Test[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class Test : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final java.util.List names
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
public void <init>(java.util.List names)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final java.util.List getNames()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (names, Ljava/util/List;)
|
||||
DUP_X1
|
||||
INVOKEINTERFACE (java/util/Collection, size, ()I)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
INVOKEINTERFACE (java/util/Collection, iterator, ()Ljava/util/Iterator;)
|
||||
LABEL (L1)
|
||||
DUP
|
||||
INVOKEINTERFACE (java/util/Iterator, hasNext, ()Z)
|
||||
IFEQ (L2)
|
||||
DUP
|
||||
ALOAD (1)
|
||||
SWAP
|
||||
INVOKEINTERFACE (java/util/Iterator, next, ()Ljava/lang/Object;)
|
||||
CHECKCAST
|
||||
DUP_X1
|
||||
INVOKEINTERFACE (java/util/Collection, size, ()I)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
INVOKEINTERFACE (java/util/Collection, iterator, ()Ljava/util/Iterator;)
|
||||
LABEL (L3)
|
||||
DUP
|
||||
INVOKEINTERFACE (java/util/Iterator, hasNext, ()Z)
|
||||
IFEQ (L4)
|
||||
DUP
|
||||
ALOAD (1)
|
||||
SWAP
|
||||
INVOKEINTERFACE (java/util/Iterator, next, ()Ljava/lang/Object;)
|
||||
CHECKCAST
|
||||
DUP_X1
|
||||
INVOKEINTERFACE (java/util/Collection, size, ()I)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
INVOKEINTERFACE (java/util/Collection, iterator, ()Ljava/util/Iterator;)
|
||||
LABEL (L5)
|
||||
DUP
|
||||
INVOKEINTERFACE (java/util/Iterator, hasNext, ()Z)
|
||||
IFEQ (L6)
|
||||
DUP
|
||||
ALOAD (1)
|
||||
SWAP
|
||||
INVOKEINTERFACE (java/util/Iterator, next, ()Ljava/lang/Object;)
|
||||
CHECKCAST
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeString, (Ljava/lang/String;)V)
|
||||
GOTO (L5)
|
||||
LABEL (L6)
|
||||
POP
|
||||
GOTO (L3)
|
||||
LABEL (L4)
|
||||
POP
|
||||
GOTO (L1)
|
||||
LABEL (L2)
|
||||
POP
|
||||
RETURN
|
||||
LABEL (L7)
|
||||
}
|
||||
}
|
||||
+90
@@ -0,0 +1,90 @@
|
||||
public final class TestNotNull$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final TestNotNull createFromParcel(android.os.Parcel parcel)
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel source)
|
||||
|
||||
public final TestNotNull[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int size)
|
||||
}
|
||||
|
||||
public final class TestNotNull : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final android.util.Size a
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
public void <init>(android.util.Size a)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final android.util.Size getA()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (a, Landroid/util/Size;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeSize, (Landroid/util/Size;)V)
|
||||
RETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
|
||||
public final class TestNullable$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final TestNullable createFromParcel(android.os.Parcel parcel)
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel source)
|
||||
|
||||
public final TestNullable[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int size)
|
||||
}
|
||||
|
||||
public final class TestNullable : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final android.util.Size a
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
public void <init>(android.util.Size a)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final android.util.Size getA()
|
||||
|
||||
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)
|
||||
ALOAD (0)
|
||||
GETFIELD (a, Landroid/util/Size;)
|
||||
ASTORE (3)
|
||||
ALOAD (3)
|
||||
IFNONNULL (L1)
|
||||
ALOAD (1)
|
||||
ICONST_0
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
GOTO (L2)
|
||||
LABEL (L1)
|
||||
ALOAD (1)
|
||||
ICONST_1
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
ALOAD (1)
|
||||
ALOAD (3)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeSize, (Landroid/util/Size;)V)
|
||||
LABEL (L2)
|
||||
RETURN
|
||||
LABEL (L3)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
// CURIOUS_ABOUT writeToParcel
|
||||
// WITH_RUNTIME
|
||||
|
||||
import android.util.Size
|
||||
import kotlinx.parcelize.*
|
||||
import android.os.Parcelable
|
||||
|
||||
@Parcelize
|
||||
class TestNullable(val a: Size?): Parcelable
|
||||
|
||||
@Parcelize
|
||||
class TestNotNull(val a: Size): Parcelable
|
||||
+88
@@ -0,0 +1,88 @@
|
||||
public final class TestNotNull$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final TestNotNull createFromParcel(android.os.Parcel in)
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel p0)
|
||||
|
||||
public final TestNotNull[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class TestNotNull : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final android.util.Size a
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
public void <init>(android.util.Size a)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final android.util.Size getA()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (a, Landroid/util/Size;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeSize, (Landroid/util/Size;)V)
|
||||
RETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
|
||||
public final class TestNullable$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final TestNullable createFromParcel(android.os.Parcel in)
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel p0)
|
||||
|
||||
public final TestNullable[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class TestNullable : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final android.util.Size a
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
public void <init>(android.util.Size a)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final android.util.Size getA()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (a, Landroid/util/Size;)
|
||||
DUP
|
||||
IFNULL (L1)
|
||||
ALOAD (1)
|
||||
LDC (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeSize, (Landroid/util/Size;)V)
|
||||
GOTO (L2)
|
||||
LABEL (L1)
|
||||
POP
|
||||
LDC (0)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
LABEL (L2)
|
||||
RETURN
|
||||
LABEL (L3)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
public final class test/Foo$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final test.Foo createFromParcel(android.os.Parcel parcel) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (parcel)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
NEW
|
||||
DUP
|
||||
ALOAD (1)
|
||||
LDC (Ltest/Foo;)
|
||||
INVOKEVIRTUAL (java/lang/Class, getClassLoader, ()Ljava/lang/ClassLoader;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readParcelable, (Ljava/lang/ClassLoader;)Landroid/os/Parcelable;)
|
||||
INVOKESPECIAL (test/Foo, <init>, (Landroid/os/Parcelable;)V)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel source) {
|
||||
LABEL (L0)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (test/Foo$Creator, createFromParcel, (Landroid/os/Parcel;)Ltest/Foo;)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public final test.Foo[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int size)
|
||||
}
|
||||
|
||||
public final class test/Foo : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final android.os.Parcelable parcelable
|
||||
|
||||
static void <clinit>() {
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (test/Foo$Creator, <init>, ()V)
|
||||
CHECKCAST
|
||||
PUTSTATIC (CREATOR, Landroid/os/Parcelable$Creator;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
public void <init>(android.os.Parcelable parcelable)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final android.os.Parcelable getParcelable()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (parcelable, Landroid/os/Parcelable;)
|
||||
ILOAD (2)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeParcelable, (Landroid/os/Parcelable;I)V)
|
||||
RETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
// CURIOUS_ABOUT writeToParcel, createFromParcel, <clinit>
|
||||
// WITH_RUNTIME
|
||||
|
||||
//FILE: test/JavaClass.java
|
||||
package test;
|
||||
|
||||
class JavaClass {
|
||||
void test() {
|
||||
// Here we test access to CREATOR
|
||||
Object o = Foo.CREATOR;
|
||||
}
|
||||
}
|
||||
|
||||
//FILE: android/os/Parcel.java
|
||||
package android.os;
|
||||
|
||||
public class Parcel {}
|
||||
|
||||
//FILE: android/os/Parcelable.java
|
||||
package android.os;
|
||||
|
||||
public interface Parcelable {
|
||||
public static interface Creator<T> {
|
||||
T createFromParcel(Parcel source);
|
||||
T[] newArray(int size);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//FILE: test.kt
|
||||
package test
|
||||
|
||||
import kotlinx.parcelize.*
|
||||
import android.os.Parcelable
|
||||
|
||||
@Parcelize
|
||||
class Foo(val parcelable: Parcelable): Parcelable
|
||||
@@ -0,0 +1,66 @@
|
||||
public final class test/Foo$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final test.Foo createFromParcel(android.os.Parcel in) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (in)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
NEW
|
||||
DUP
|
||||
ALOAD (1)
|
||||
LDC (Ltest/Foo;)
|
||||
INVOKEVIRTUAL (java/lang/Class, getClassLoader, ()Ljava/lang/ClassLoader;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readParcelable, (Ljava/lang/ClassLoader;)Landroid/os/Parcelable;)
|
||||
INVOKESPECIAL (test/Foo, <init>, (Landroid/os/Parcelable;)V)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||
LABEL (L0)
|
||||
LINENUMBER (8)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (test/Foo$Creator, createFromParcel, (Landroid/os/Parcel;)Ltest/Foo;)
|
||||
ARETURN
|
||||
}
|
||||
|
||||
public final test.Foo[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class test/Foo : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final android.os.Parcelable parcelable
|
||||
|
||||
static void <clinit>() {
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (test/Foo$Creator, <init>, ()V)
|
||||
PUTSTATIC (CREATOR, Landroid/os/Parcelable$Creator;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
public void <init>(android.os.Parcelable parcelable)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final android.os.Parcelable getParcelable()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (parcelable, Landroid/os/Parcelable;)
|
||||
ILOAD (2)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeParcelable, (Landroid/os/Parcelable;I)V)
|
||||
RETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
public final class SerializableSimple : java/lang/Object, java/io/Serializable {
|
||||
private final java.lang.String a
|
||||
|
||||
private final java.lang.String b
|
||||
|
||||
public void <init>(java.lang.String a, java.lang.String b)
|
||||
|
||||
public final java.lang.String getA()
|
||||
|
||||
public final java.lang.String getB()
|
||||
}
|
||||
|
||||
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)
|
||||
NEW
|
||||
DUP
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readSerializable, ()Ljava/io/Serializable;)
|
||||
CHECKCAST
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readSerializable, ()Ljava/io/Serializable;)
|
||||
CHECKCAST
|
||||
INVOKESPECIAL (User, <init>, (LSerializableSimple;LSerializableSimple;)V)
|
||||
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)
|
||||
|
||||
public java.lang.Object[] newArray(int size)
|
||||
}
|
||||
|
||||
public final class User : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final SerializableSimple notNull
|
||||
|
||||
private final SerializableSimple nullable
|
||||
|
||||
static void <clinit>() {
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (User$Creator, <init>, ()V)
|
||||
CHECKCAST
|
||||
PUTSTATIC (CREATOR, Landroid/os/Parcelable$Creator;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
public void <init>(SerializableSimple notNull, SerializableSimple nullable)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final SerializableSimple getNotNull()
|
||||
|
||||
public final SerializableSimple getNullable()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (notNull, LSerializableSimple;)
|
||||
CHECKCAST
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeSerializable, (Ljava/io/Serializable;)V)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (nullable, LSerializableSimple;)
|
||||
CHECKCAST
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeSerializable, (Ljava/io/Serializable;)V)
|
||||
RETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
// CURIOUS_ABOUT writeToParcel, createFromParcel, <clinit>
|
||||
// WITH_RUNTIME
|
||||
|
||||
import kotlinx.parcelize.*
|
||||
import android.os.Parcelable
|
||||
import java.io.Serializable
|
||||
|
||||
class SerializableSimple(val a: String, val b: String) : Serializable
|
||||
|
||||
@Parcelize
|
||||
class User(val notNull: SerializableSimple, val nullable: SerializableSimple) : Parcelable
|
||||
@@ -0,0 +1,87 @@
|
||||
public final class SerializableSimple : java/lang/Object, java/io/Serializable {
|
||||
private final java.lang.String a
|
||||
|
||||
private final java.lang.String b
|
||||
|
||||
public void <init>(java.lang.String a, java.lang.String b)
|
||||
|
||||
public final java.lang.String getA()
|
||||
|
||||
public final java.lang.String getB()
|
||||
}
|
||||
|
||||
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)
|
||||
NEW
|
||||
DUP
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readSerializable, ()Ljava/io/Serializable;)
|
||||
CHECKCAST
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readSerializable, ()Ljava/io/Serializable;)
|
||||
CHECKCAST
|
||||
INVOKESPECIAL (User, <init>, (LSerializableSimple;LSerializableSimple;)V)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||
LABEL (L0)
|
||||
LINENUMBER (11)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (User$Creator, createFromParcel, (Landroid/os/Parcel;)LUser;)
|
||||
ARETURN
|
||||
}
|
||||
|
||||
public final User[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class User : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final SerializableSimple notNull
|
||||
|
||||
private final SerializableSimple nullable
|
||||
|
||||
static void <clinit>() {
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (User$Creator, <init>, ()V)
|
||||
PUTSTATIC (CREATOR, Landroid/os/Parcelable$Creator;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
public void <init>(SerializableSimple notNull, SerializableSimple nullable)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final SerializableSimple getNotNull()
|
||||
|
||||
public final SerializableSimple getNullable()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (notNull, LSerializableSimple;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeSerializable, (Ljava/io/Serializable;)V)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (nullable, LSerializableSimple;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeSerializable, (Ljava/io/Serializable;)V)
|
||||
RETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
public final class Test$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final Test createFromParcel(android.os.Parcel parcel) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (parcel)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
NEW
|
||||
DUP
|
||||
ALOAD (1)
|
||||
LDC (LTest;)
|
||||
INVOKEVIRTUAL (java/lang/Class, getClassLoader, ()Ljava/lang/ClassLoader;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readValue, (Ljava/lang/ClassLoader;)Ljava/lang/Object;)
|
||||
CHECKCAST
|
||||
INVOKESPECIAL (Test, <init>, (LValue;)V)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel source) {
|
||||
LABEL (L0)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (Test$Creator, createFromParcel, (Landroid/os/Parcel;)LTest;)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public final Test[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int size)
|
||||
}
|
||||
|
||||
public final class Test : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final Value value
|
||||
|
||||
static void <clinit>() {
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (Test$Creator, <init>, ()V)
|
||||
CHECKCAST
|
||||
PUTSTATIC (CREATOR, Landroid/os/Parcelable$Creator;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
public void <init>(Value value)
|
||||
|
||||
public int describeContents() {
|
||||
LABEL (L0)
|
||||
ICONST_0
|
||||
IRETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public final Value getValue()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (value, LValue;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeValue, (Ljava/lang/Object;)V)
|
||||
RETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
|
||||
public final class Value : java/lang/Object {
|
||||
private final int x
|
||||
|
||||
public void <init>(int x)
|
||||
|
||||
public final int getX()
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
// CURIOUS_ABOUT writeToParcel, createFromParcel, <clinit>, describeContents
|
||||
// WITH_RUNTIME
|
||||
|
||||
import kotlinx.parcelize.*
|
||||
import android.os.Parcelable
|
||||
|
||||
class Value(val x: Int)
|
||||
|
||||
@Parcelize
|
||||
class Test(val value: @RawValue Value) : Parcelable
|
||||
@@ -0,0 +1,79 @@
|
||||
public final class Test$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final Test createFromParcel(android.os.Parcel in) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (in)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
NEW
|
||||
DUP
|
||||
ALOAD (1)
|
||||
LDC (LValue;)
|
||||
INVOKEVIRTUAL (java/lang/Class, getClassLoader, ()Ljava/lang/ClassLoader;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readValue, (Ljava/lang/ClassLoader;)Ljava/lang/Object;)
|
||||
CHECKCAST
|
||||
INVOKESPECIAL (Test, <init>, (LValue;)V)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||
LABEL (L0)
|
||||
LINENUMBER (10)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (Test$Creator, createFromParcel, (Landroid/os/Parcel;)LTest;)
|
||||
ARETURN
|
||||
}
|
||||
|
||||
public final Test[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class Test : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final Value value
|
||||
|
||||
static void <clinit>() {
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (Test$Creator, <init>, ()V)
|
||||
PUTSTATIC (CREATOR, Landroid/os/Parcelable$Creator;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
public void <init>(Value value)
|
||||
|
||||
public int describeContents() {
|
||||
LABEL (L0)
|
||||
LDC (0)
|
||||
IRETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public final Value getValue()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (value, LValue;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeValue, (Ljava/lang/Object;)V)
|
||||
RETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
|
||||
public final class Value : java/lang/Object {
|
||||
private final int x
|
||||
|
||||
public void <init>(int x)
|
||||
|
||||
public final int getX()
|
||||
}
|
||||
@@ -0,0 +1,158 @@
|
||||
public final class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>() {
|
||||
Local variables:
|
||||
0 this: LUser$Creator;
|
||||
}
|
||||
|
||||
public final User createFromParcel(android.os.Parcel parcel) {
|
||||
Local variables:
|
||||
0 this: LUser$Creator;
|
||||
1 parcel: Landroid/os/Parcel;
|
||||
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (parcel)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
LABEL (L1)
|
||||
NEW
|
||||
DUP
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readString, ()Ljava/lang/String;)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readString, ()Ljava/lang/String;)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readInt, ()I)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readInt, ()I)
|
||||
IFEQ (L2)
|
||||
ICONST_1
|
||||
GOTO (L3)
|
||||
LABEL (L2)
|
||||
ICONST_0
|
||||
LABEL (L3)
|
||||
INVOKESPECIAL (User, <init>, (Ljava/lang/String;Ljava/lang/String;IZ)V)
|
||||
ARETURN
|
||||
LABEL (L4)
|
||||
}
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel source) {
|
||||
Local variables:
|
||||
0 this: LUser$Creator;
|
||||
1 source: Landroid/os/Parcel;
|
||||
|
||||
LABEL (L0)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (User$Creator, createFromParcel, (Landroid/os/Parcel;)LUser;)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public final User[] newArray(int size) {
|
||||
Local variables:
|
||||
0 this: LUser$Creator;
|
||||
1 size: I
|
||||
}
|
||||
|
||||
public java.lang.Object[] newArray(int size) {
|
||||
Local variables:
|
||||
0 this: LUser$Creator;
|
||||
1 size: I
|
||||
}
|
||||
}
|
||||
|
||||
public final class User : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final int age
|
||||
|
||||
private final java.lang.String firstName
|
||||
|
||||
private final boolean isProUser
|
||||
|
||||
private final java.lang.String lastName
|
||||
|
||||
static void <clinit>() {
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (User$Creator, <init>, ()V)
|
||||
CHECKCAST
|
||||
PUTSTATIC (CREATOR, Landroid/os/Parcelable$Creator;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
public void <init>(java.lang.String firstName, java.lang.String lastName, int age, boolean isProUser) {
|
||||
Local variables:
|
||||
0 this: LUser;
|
||||
1 firstName: Ljava/lang/String;
|
||||
2 lastName: Ljava/lang/String;
|
||||
3 age: I
|
||||
4 isProUser: Z
|
||||
}
|
||||
|
||||
public int describeContents() {
|
||||
Local variables:
|
||||
0 this: LUser;
|
||||
|
||||
LABEL (L0)
|
||||
ICONST_0
|
||||
IRETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public final int getAge() {
|
||||
Local variables:
|
||||
0 this: LUser;
|
||||
}
|
||||
|
||||
public final java.lang.String getFirstName() {
|
||||
Local variables:
|
||||
0 this: LUser;
|
||||
}
|
||||
|
||||
public final java.lang.String getLastName() {
|
||||
Local variables:
|
||||
0 this: LUser;
|
||||
}
|
||||
|
||||
public final boolean isProUser() {
|
||||
Local variables:
|
||||
0 this: LUser;
|
||||
}
|
||||
|
||||
public void writeToParcel(android.os.Parcel out, int flags) {
|
||||
Local variables:
|
||||
0 this: LUser;
|
||||
1 out: Landroid/os/Parcel;
|
||||
2 flags: I
|
||||
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (out)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (firstName, Ljava/lang/String;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeString, (Ljava/lang/String;)V)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (lastName, Ljava/lang/String;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeString, (Ljava/lang/String;)V)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (age, I)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (isProUser, Z)
|
||||
IFEQ (L1)
|
||||
ICONST_1
|
||||
GOTO (L2)
|
||||
LABEL (L1)
|
||||
ICONST_0
|
||||
LABEL (L2)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
RETURN
|
||||
LABEL (L3)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
// CURIOUS_ABOUT writeToParcel, createFromParcel, <clinit>, describeContents
|
||||
// WITH_RUNTIME
|
||||
// LOCAL_VARIABLE_TABLE
|
||||
|
||||
import kotlinx.parcelize.*
|
||||
import android.os.Parcelable
|
||||
|
||||
@Parcelize
|
||||
class User(val firstName: String, val lastName: String, val age: Int, val isProUser: Boolean) : Parcelable
|
||||
@@ -0,0 +1,143 @@
|
||||
public final class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>() {
|
||||
Local variables:
|
||||
0 this: LUser$Creator;
|
||||
}
|
||||
|
||||
public final User createFromParcel(android.os.Parcel in) {
|
||||
Local variables:
|
||||
0 this: LUser$Creator;
|
||||
1 in: Landroid/os/Parcel;
|
||||
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (in)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
LABEL (L1)
|
||||
NEW
|
||||
DUP
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readString, ()Ljava/lang/String;)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readString, ()Ljava/lang/String;)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readInt, ()I)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readInt, ()I)
|
||||
IFEQ (L2)
|
||||
ICONST_1
|
||||
GOTO (L3)
|
||||
LABEL (L2)
|
||||
ICONST_0
|
||||
LABEL (L3)
|
||||
INVOKESPECIAL (User, <init>, (Ljava/lang/String;Ljava/lang/String;IZ)V)
|
||||
ARETURN
|
||||
LABEL (L4)
|
||||
}
|
||||
|
||||
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) {
|
||||
Local variables:
|
||||
0 this: LUser$Creator;
|
||||
1 size: I
|
||||
}
|
||||
|
||||
public java.lang.Object[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class User : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final int age
|
||||
|
||||
private final java.lang.String firstName
|
||||
|
||||
private final boolean isProUser
|
||||
|
||||
private final java.lang.String lastName
|
||||
|
||||
static void <clinit>() {
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (User$Creator, <init>, ()V)
|
||||
PUTSTATIC (CREATOR, Landroid/os/Parcelable$Creator;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
public void <init>(java.lang.String firstName, java.lang.String lastName, int age, boolean isProUser) {
|
||||
Local variables:
|
||||
0 this: LUser;
|
||||
1 firstName: Ljava/lang/String;
|
||||
2 lastName: Ljava/lang/String;
|
||||
3 age: I
|
||||
4 isProUser: Z
|
||||
}
|
||||
|
||||
public int describeContents() {
|
||||
Local variables:
|
||||
0 this: LUser;
|
||||
|
||||
LABEL (L0)
|
||||
LDC (0)
|
||||
IRETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public final int getAge() {
|
||||
Local variables:
|
||||
0 this: LUser;
|
||||
}
|
||||
|
||||
public final java.lang.String getFirstName() {
|
||||
Local variables:
|
||||
0 this: LUser;
|
||||
}
|
||||
|
||||
public final java.lang.String getLastName() {
|
||||
Local variables:
|
||||
0 this: LUser;
|
||||
}
|
||||
|
||||
public final boolean isProUser() {
|
||||
Local variables:
|
||||
0 this: LUser;
|
||||
}
|
||||
|
||||
public void writeToParcel(android.os.Parcel parcel, int flags) {
|
||||
Local variables:
|
||||
0 this: LUser;
|
||||
1 parcel: Landroid/os/Parcel;
|
||||
2 flags: I
|
||||
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (parcel)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (firstName, Ljava/lang/String;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeString, (Ljava/lang/String;)V)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (lastName, Ljava/lang/String;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeString, (Ljava/lang/String;)V)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (age, I)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (isProUser, Z)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
RETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
public final class Test$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final Test createFromParcel(android.os.Parcel parcel)
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel source)
|
||||
|
||||
public final Test[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int size)
|
||||
}
|
||||
|
||||
public final class Test : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final java.util.List names
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
public void <init>(java.util.List names)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final java.util.List getNames()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (names, Ljava/util/List;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeStringList, (Ljava/util/List;)V)
|
||||
RETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
// CURIOUS_ABOUT writeToParcel
|
||||
// WITH_RUNTIME
|
||||
|
||||
import kotlinx.parcelize.*
|
||||
import android.os.Parcelable
|
||||
|
||||
@Parcelize
|
||||
class Test(val names: List<String>): Parcelable
|
||||
@@ -0,0 +1,38 @@
|
||||
public final class Test$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final Test createFromParcel(android.os.Parcel in)
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel p0)
|
||||
|
||||
public final Test[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class Test : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final java.util.List names
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
public void <init>(java.util.List names)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public final java.util.List getNames()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (names, Ljava/util/List;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeStringList, (Ljava/util/List;)V)
|
||||
RETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,205 @@
|
||||
public final class Test$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final Test createFromParcel(android.os.Parcel parcel) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (parcel)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
LABEL (L1)
|
||||
NEW
|
||||
DUP
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readSize, ()Landroid/util/Size;)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readInt, ()I)
|
||||
IFNE (L2)
|
||||
ACONST_NULL
|
||||
GOTO (L3)
|
||||
LABEL (L2)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readSize, ()Landroid/util/Size;)
|
||||
LABEL (L3)
|
||||
INVOKESPECIAL (Test, <init>, (Landroid/util/Size;Landroid/util/Size;)V)
|
||||
ARETURN
|
||||
LABEL (L4)
|
||||
}
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel source) {
|
||||
LABEL (L0)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (Test$Creator, createFromParcel, (Landroid/os/Parcel;)LTest;)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public final Test[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int size)
|
||||
}
|
||||
|
||||
public final class Test : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final android.util.Size nullable
|
||||
|
||||
private final android.util.Size size
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
public void <init>(android.util.Size size, android.util.Size nullable)
|
||||
|
||||
public final android.util.Size component1()
|
||||
|
||||
public final android.util.Size component2()
|
||||
|
||||
public final Test copy(android.util.Size size, android.util.Size nullable)
|
||||
|
||||
public static Test copy$default(Test p0, android.util.Size p1, android.util.Size p2, int p3, java.lang.Object p4)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public boolean equals(java.lang.Object other)
|
||||
|
||||
public final android.util.Size getNullable()
|
||||
|
||||
public final android.util.Size getSize()
|
||||
|
||||
public int hashCode()
|
||||
|
||||
public java.lang.String toString()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (size, Landroid/util/Size;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeSize, (Landroid/util/Size;)V)
|
||||
ALOAD (0)
|
||||
GETFIELD (nullable, Landroid/util/Size;)
|
||||
ASTORE (3)
|
||||
ALOAD (3)
|
||||
IFNONNULL (L1)
|
||||
ALOAD (1)
|
||||
ICONST_0
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
GOTO (L2)
|
||||
LABEL (L1)
|
||||
ALOAD (1)
|
||||
ICONST_1
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
ALOAD (1)
|
||||
ALOAD (3)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeSize, (Landroid/util/Size;)V)
|
||||
LABEL (L2)
|
||||
RETURN
|
||||
LABEL (L3)
|
||||
}
|
||||
}
|
||||
|
||||
public final class TestF$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final TestF createFromParcel(android.os.Parcel parcel) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (parcel)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
LABEL (L1)
|
||||
NEW
|
||||
DUP
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readSizeF, ()Landroid/util/SizeF;)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readInt, ()I)
|
||||
IFNE (L2)
|
||||
ACONST_NULL
|
||||
GOTO (L3)
|
||||
LABEL (L2)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readSizeF, ()Landroid/util/SizeF;)
|
||||
LABEL (L3)
|
||||
INVOKESPECIAL (TestF, <init>, (Landroid/util/SizeF;Landroid/util/SizeF;)V)
|
||||
ARETURN
|
||||
LABEL (L4)
|
||||
}
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel source) {
|
||||
LABEL (L0)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (TestF$Creator, createFromParcel, (Landroid/os/Parcel;)LTestF;)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public final TestF[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int size)
|
||||
}
|
||||
|
||||
public final class TestF : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final android.util.SizeF nullable
|
||||
|
||||
private final android.util.SizeF size
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
public void <init>(android.util.SizeF size, android.util.SizeF nullable)
|
||||
|
||||
public final android.util.SizeF component1()
|
||||
|
||||
public final android.util.SizeF component2()
|
||||
|
||||
public final TestF copy(android.util.SizeF size, android.util.SizeF nullable)
|
||||
|
||||
public static TestF copy$default(TestF p0, android.util.SizeF p1, android.util.SizeF p2, int p3, java.lang.Object p4)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public boolean equals(java.lang.Object other)
|
||||
|
||||
public final android.util.SizeF getNullable()
|
||||
|
||||
public final android.util.SizeF getSize()
|
||||
|
||||
public int hashCode()
|
||||
|
||||
public java.lang.String toString()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (size, Landroid/util/SizeF;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeSizeF, (Landroid/util/SizeF;)V)
|
||||
ALOAD (0)
|
||||
GETFIELD (nullable, Landroid/util/SizeF;)
|
||||
ASTORE (3)
|
||||
ALOAD (3)
|
||||
IFNONNULL (L1)
|
||||
ALOAD (1)
|
||||
ICONST_0
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
GOTO (L2)
|
||||
LABEL (L1)
|
||||
ALOAD (1)
|
||||
ICONST_1
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
ALOAD (1)
|
||||
ALOAD (3)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeSizeF, (Landroid/util/SizeF;)V)
|
||||
LABEL (L2)
|
||||
RETURN
|
||||
LABEL (L3)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
// CURIOUS_ABOUT writeToParcel, createFromParcel
|
||||
// WITH_RUNTIME
|
||||
|
||||
import kotlinx.parcelize.*
|
||||
import android.os.Parcelable
|
||||
import android.util.Size
|
||||
import android.util.SizeF
|
||||
|
||||
@Parcelize
|
||||
data class Test(val size: Size, val nullable: Size?) : Parcelable
|
||||
|
||||
@Parcelize
|
||||
data class TestF(val size: SizeF, val nullable: SizeF?) : Parcelable
|
||||
@@ -0,0 +1,201 @@
|
||||
public final class Test$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final Test createFromParcel(android.os.Parcel in) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (in)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
LABEL (L1)
|
||||
NEW
|
||||
DUP
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readSize, ()Landroid/util/Size;)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readInt, ()I)
|
||||
IFEQ (L2)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readSize, ()Landroid/util/Size;)
|
||||
GOTO (L3)
|
||||
LABEL (L2)
|
||||
ACONST_NULL
|
||||
LABEL (L3)
|
||||
INVOKESPECIAL (Test, <init>, (Landroid/util/Size;Landroid/util/Size;)V)
|
||||
ARETURN
|
||||
LABEL (L4)
|
||||
}
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||
LABEL (L0)
|
||||
LINENUMBER (10)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (Test$Creator, createFromParcel, (Landroid/os/Parcel;)LTest;)
|
||||
ARETURN
|
||||
}
|
||||
|
||||
public final Test[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class Test : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final android.util.Size nullable
|
||||
|
||||
private final android.util.Size size
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
public void <init>(android.util.Size size, android.util.Size nullable)
|
||||
|
||||
public final android.util.Size component1()
|
||||
|
||||
public final android.util.Size component2()
|
||||
|
||||
public final Test copy(android.util.Size size, android.util.Size nullable)
|
||||
|
||||
public static Test copy$default(Test p0, android.util.Size p1, android.util.Size p2, int p3, java.lang.Object p4)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public boolean equals(java.lang.Object p0)
|
||||
|
||||
public final android.util.Size getNullable()
|
||||
|
||||
public final android.util.Size getSize()
|
||||
|
||||
public int hashCode()
|
||||
|
||||
public java.lang.String toString()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (size, Landroid/util/Size;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeSize, (Landroid/util/Size;)V)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (nullable, Landroid/util/Size;)
|
||||
DUP
|
||||
IFNULL (L1)
|
||||
ALOAD (1)
|
||||
LDC (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeSize, (Landroid/util/Size;)V)
|
||||
GOTO (L2)
|
||||
LABEL (L1)
|
||||
POP
|
||||
LDC (0)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
LABEL (L2)
|
||||
RETURN
|
||||
LABEL (L3)
|
||||
}
|
||||
}
|
||||
|
||||
public final class TestF$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final TestF createFromParcel(android.os.Parcel in) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (in)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
LABEL (L1)
|
||||
NEW
|
||||
DUP
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readSizeF, ()Landroid/util/SizeF;)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readInt, ()I)
|
||||
IFEQ (L2)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readSizeF, ()Landroid/util/SizeF;)
|
||||
GOTO (L3)
|
||||
LABEL (L2)
|
||||
ACONST_NULL
|
||||
LABEL (L3)
|
||||
INVOKESPECIAL (TestF, <init>, (Landroid/util/SizeF;Landroid/util/SizeF;)V)
|
||||
ARETURN
|
||||
LABEL (L4)
|
||||
}
|
||||
|
||||
public java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||
LABEL (L0)
|
||||
LINENUMBER (13)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (TestF$Creator, createFromParcel, (Landroid/os/Parcel;)LTestF;)
|
||||
ARETURN
|
||||
}
|
||||
|
||||
public final TestF[] newArray(int size)
|
||||
|
||||
public java.lang.Object[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class TestF : java/lang/Object, android/os/Parcelable {
|
||||
public final static android.os.Parcelable$Creator CREATOR
|
||||
|
||||
private final android.util.SizeF nullable
|
||||
|
||||
private final android.util.SizeF size
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
public void <init>(android.util.SizeF size, android.util.SizeF nullable)
|
||||
|
||||
public final android.util.SizeF component1()
|
||||
|
||||
public final android.util.SizeF component2()
|
||||
|
||||
public final TestF copy(android.util.SizeF size, android.util.SizeF nullable)
|
||||
|
||||
public static TestF copy$default(TestF p0, android.util.SizeF p1, android.util.SizeF p2, int p3, java.lang.Object p4)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
public boolean equals(java.lang.Object p0)
|
||||
|
||||
public final android.util.SizeF getNullable()
|
||||
|
||||
public final android.util.SizeF getSize()
|
||||
|
||||
public int hashCode()
|
||||
|
||||
public java.lang.String toString()
|
||||
|
||||
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)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (size, Landroid/util/SizeF;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeSizeF, (Landroid/util/SizeF;)V)
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (nullable, Landroid/util/SizeF;)
|
||||
DUP
|
||||
IFNULL (L1)
|
||||
ALOAD (1)
|
||||
LDC (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeSizeF, (Landroid/util/SizeF;)V)
|
||||
GOTO (L2)
|
||||
LABEL (L1)
|
||||
POP
|
||||
LDC (0)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeInt, (I)V)
|
||||
LABEL (L2)
|
||||
RETURN
|
||||
LABEL (L3)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user