Parcelize: Fix IBinderIInterface test
This commit is contained in:
committed by
Alexander Udalov
parent
518c7a32b8
commit
9fc210224d
+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)
|
||||
}
|
||||
}
|
||||
Vendored
+3
-3
@@ -1,4 +1,3 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// CURIOUS_ABOUT writeToParcel, createFromParcel
|
||||
// WITH_RUNTIME
|
||||
|
||||
@@ -12,6 +11,7 @@ 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()
|
||||
val intf: IInterface?
|
||||
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
|
||||
plugins/android-extensions/android-extensions-compiler/testData/parcel/codegen/IBinderIInterface.txt
Vendored
+2
-12
@@ -39,9 +39,7 @@ public final class User$Creator : java/lang/Object, android/os/Parcelable$Creato
|
||||
LABEL (L3)
|
||||
SWAP
|
||||
POP
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readStrongInterface, ()Landroid/os/IInterface;)
|
||||
INVOKESPECIAL (User, <init>, (Landroid/os/IBinder;[Landroid/os/IBinder;Ljava/util/List;Ljava/util/ArrayList;Landroid/os/IInterface;)V)
|
||||
INVOKESPECIAL (User, <init>, (Landroid/os/IBinder;[Landroid/os/IBinder;Ljava/util/List;Ljava/util/ArrayList;)V)
|
||||
ARETURN
|
||||
LABEL (L4)
|
||||
}
|
||||
@@ -60,11 +58,9 @@ public final class User : java/lang/Object, android/os/Parcelable {
|
||||
|
||||
private final java.util.List binderList
|
||||
|
||||
private final android.os.IInterface intf
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
public void <init>(android.os.IBinder binder, android.os.IBinder[] binderArray, java.util.List binderList, java.util.ArrayList binderArrayList, android.os.IInterface intf)
|
||||
public void <init>(android.os.IBinder binder, android.os.IBinder[] binderArray, java.util.List binderList, java.util.ArrayList binderArrayList)
|
||||
|
||||
public int describeContents()
|
||||
|
||||
@@ -76,8 +72,6 @@ public final class User : java/lang/Object, android/os/Parcelable {
|
||||
|
||||
public final java.util.List getBinderList()
|
||||
|
||||
public final android.os.IInterface getIntf()
|
||||
|
||||
public void writeToParcel(android.os.Parcel parcel, int flags) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
@@ -115,10 +109,6 @@ public final class User : java/lang/Object, android/os/Parcelable {
|
||||
GOTO (L1)
|
||||
LABEL (L2)
|
||||
POP
|
||||
ALOAD (1)
|
||||
ALOAD (0)
|
||||
GETFIELD (intf, Landroid/os/IInterface;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeStrongInterface, (Landroid/os/IInterface;)V)
|
||||
RETURN
|
||||
LABEL (L3)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user