Parcelable: Support CharSequence, IBinder/IInterface, objects, enums. Serialize Parcelable efficiently if possible
This commit is contained in:
Vendored
+9
@@ -0,0 +1,9 @@
|
||||
// CURIOUS_ABOUT writeToParcel, createFromParcel
|
||||
|
||||
import kotlinx.android.parcel.*
|
||||
import android.os.Parcelable
|
||||
import android.os.IBinder
|
||||
import android.os.IInterface
|
||||
|
||||
@MagicParcel
|
||||
class User(val binder: IBinder, val intf: IInterface?) : Parcelable
|
||||
plugins/android-extensions/android-extensions-compiler/testData/parcel/codegen/IBinderIInterface.txt
Vendored
+56
@@ -0,0 +1,56 @@
|
||||
public static class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (in)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
NEW
|
||||
DUP
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readStrongBinder, ()Landroid/os/IBinder;)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (android/os/Parcel, readStrongInterface, ()Landroid/os/IInterface;)
|
||||
INVOKESPECIAL (User, <init>, (Landroid/os/IBinder;Landroid/os/IInterface;)V)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public final User[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class User : java/lang/Object, android/os/Parcelable {
|
||||
public final static User$Creator CREATOR
|
||||
|
||||
private final android.os.IBinder binder
|
||||
|
||||
private final android.os.IInterface intf
|
||||
|
||||
static void <clinit>()
|
||||
|
||||
public void <init>(android.os.IBinder p0, android.os.IInterface p1)
|
||||
|
||||
public final int describeContents()
|
||||
|
||||
public final android.os.IBinder getBinder()
|
||||
|
||||
public final android.os.IInterface getIntf()
|
||||
|
||||
public final void writeToParcel(android.os.Parcel p0, int p1) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (parcel)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (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 (intf, Landroid/os/IInterface;)
|
||||
INVOKEVIRTUAL (android/os/Parcel, writeStrongInterface, (Landroid/os/IInterface;)V)
|
||||
RETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
+3
-3
@@ -1,13 +1,13 @@
|
||||
public static class User$CREATOR : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public static class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final User createFromParcel(android.os.Parcel p0)
|
||||
public final java.lang.Object createFromParcel(android.os.Parcel p0)
|
||||
|
||||
public final User[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class User : java/lang/Object, android/os/Parcelable {
|
||||
public final static User$CREATOR CREATOR
|
||||
public final static User$Creator CREATOR
|
||||
|
||||
private final int age
|
||||
|
||||
|
||||
Vendored
+25
-25
@@ -1,27 +1,3 @@
|
||||
public static class User$CREATOR : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final User createFromParcel(android.os.Parcel p0) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (in)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
GETSTATIC (Companion, LUser$Companion;)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (User$Companion, create, (Landroid/os/Parcel;)LUser;)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public final User[] newArray(int p0) {
|
||||
LABEL (L0)
|
||||
ILOAD (1)
|
||||
ANEWARRAY
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
|
||||
final class User$Companion : java/lang/Object, kotlinx/android/parcel/Parceler {
|
||||
private void <init>()
|
||||
|
||||
@@ -57,8 +33,32 @@ final class User$Companion : java/lang/Object, kotlinx/android/parcel/Parceler {
|
||||
public void write(android.os.Parcelable p0, android.os.Parcel p1, int p2)
|
||||
}
|
||||
|
||||
public static class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (in)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
GETSTATIC (Companion, LUser$Companion;)
|
||||
ALOAD (1)
|
||||
INVOKEVIRTUAL (User$Companion, create, (Landroid/os/Parcel;)Landroid/os/Parcelable;)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
|
||||
public final User[] newArray(int p0) {
|
||||
LABEL (L0)
|
||||
ILOAD (1)
|
||||
ANEWARRAY
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
|
||||
public final class User : java/lang/Object, android/os/Parcelable {
|
||||
public final static User$CREATOR CREATOR
|
||||
public final static User$Creator CREATOR
|
||||
|
||||
public final static User$Companion Companion
|
||||
|
||||
|
||||
+16
-16
@@ -1,18 +1,3 @@
|
||||
public static class User$CREATOR : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final User createFromParcel(android.os.Parcel p0)
|
||||
|
||||
public final User[] newArray(int p0) {
|
||||
LABEL (L0)
|
||||
GETSTATIC (Companion, LUser$Companion;)
|
||||
ILOAD (1)
|
||||
INVOKEVIRTUAL (User$Companion, newArray, (I)[LUser;)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
|
||||
final class User$Companion : java/lang/Object, kotlinx/android/parcel/Parceler {
|
||||
private void <init>()
|
||||
|
||||
@@ -46,8 +31,23 @@ final class User$Companion : java/lang/Object, kotlinx/android/parcel/Parceler {
|
||||
public void write(android.os.Parcelable p0, android.os.Parcel p1, int p2)
|
||||
}
|
||||
|
||||
public static class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final java.lang.Object createFromParcel(android.os.Parcel p0)
|
||||
|
||||
public final User[] newArray(int p0) {
|
||||
LABEL (L0)
|
||||
GETSTATIC (Companion, LUser$Companion;)
|
||||
ILOAD (1)
|
||||
INVOKEVIRTUAL (User$Companion, newArray, (I)[LUser;)
|
||||
ARETURN
|
||||
LABEL (L1)
|
||||
}
|
||||
}
|
||||
|
||||
public final class User : java/lang/Object, android/os/Parcelable {
|
||||
public final static User$CREATOR CREATOR
|
||||
public final static User$Creator CREATOR
|
||||
|
||||
public final static User$Companion Companion
|
||||
|
||||
|
||||
plugins/android-extensions/android-extensions-compiler/testData/parcel/codegen/duplicatingClinit.txt
Vendored
+11
-11
@@ -1,11 +1,3 @@
|
||||
public static class User$CREATOR : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final User createFromParcel(android.os.Parcel p0)
|
||||
|
||||
public final User[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class User$Companion : java/lang/Object {
|
||||
private void <init>()
|
||||
|
||||
@@ -18,8 +10,16 @@ public final class User$Companion : java/lang/Object {
|
||||
private static void test$annotations()
|
||||
}
|
||||
|
||||
public static class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final java.lang.Object createFromParcel(android.os.Parcel p0)
|
||||
|
||||
public final User[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class User : java/lang/Object, android/os/Parcelable {
|
||||
public final static User$CREATOR CREATOR
|
||||
public final static User$Creator CREATOR
|
||||
|
||||
public final static User$Companion Companion
|
||||
|
||||
@@ -41,8 +41,8 @@ public final class User : java/lang/Object, android/os/Parcelable {
|
||||
PUTSTATIC (test, Ljava/lang/StringBuilder;)
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (User$CREATOR, <init>, ()V)
|
||||
PUTSTATIC (CREATOR, LUser$CREATOR;)
|
||||
INVOKESPECIAL (User$Creator, <init>, ()V)
|
||||
PUTSTATIC (CREATOR, LUser$Creator;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
|
||||
Vendored
+3
-3
@@ -1,13 +1,13 @@
|
||||
public static class Test$CREATOR : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public static class Test$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final Test createFromParcel(android.os.Parcel p0)
|
||||
public final java.lang.Object createFromParcel(android.os.Parcel p0)
|
||||
|
||||
public final Test[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class Test : java/lang/Object {
|
||||
public final static Test$CREATOR CREATOR
|
||||
public final static Test$Creator CREATOR
|
||||
|
||||
private final java.util.List names
|
||||
|
||||
|
||||
+6
-6
@@ -1,13 +1,13 @@
|
||||
public static class TestNotNull$CREATOR : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public static class TestNotNull$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final TestNotNull createFromParcel(android.os.Parcel p0)
|
||||
public final java.lang.Object createFromParcel(android.os.Parcel p0)
|
||||
|
||||
public final TestNotNull[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class TestNotNull : java/lang/Object {
|
||||
public final static TestNotNull$CREATOR CREATOR
|
||||
public final static TestNotNull$Creator CREATOR
|
||||
|
||||
private final android.util.Size a
|
||||
|
||||
@@ -33,16 +33,16 @@ public final class TestNotNull : java/lang/Object {
|
||||
}
|
||||
}
|
||||
|
||||
public static class TestNullable$CREATOR : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public static class TestNullable$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final TestNullable createFromParcel(android.os.Parcel p0)
|
||||
public final java.lang.Object createFromParcel(android.os.Parcel p0)
|
||||
|
||||
public final TestNullable[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class TestNullable : java/lang/Object {
|
||||
public final static TestNullable$CREATOR CREATOR
|
||||
public final static TestNullable$Creator CREATOR
|
||||
|
||||
private final android.util.Size a
|
||||
|
||||
|
||||
Vendored
+5
-5
@@ -10,10 +10,10 @@ public final class SerializableSimple : java/lang/Object, java/io/Serializable {
|
||||
public final java.lang.String getB()
|
||||
}
|
||||
|
||||
public static class User$CREATOR : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public static class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final User createFromParcel(android.os.Parcel p0) {
|
||||
public final java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (in)
|
||||
@@ -33,7 +33,7 @@ public static class User$CREATOR : java/lang/Object, android/os/Parcelable$Creat
|
||||
}
|
||||
|
||||
public final class User : java/lang/Object, android/os/Parcelable {
|
||||
public final static User$CREATOR CREATOR
|
||||
public final static User$Creator CREATOR
|
||||
|
||||
private final SerializableSimple notNull
|
||||
|
||||
@@ -42,8 +42,8 @@ public final class User : java/lang/Object, android/os/Parcelable {
|
||||
static void <clinit>() {
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (User$CREATOR, <init>, ()V)
|
||||
PUTSTATIC (CREATOR, LUser$CREATOR;)
|
||||
INVOKESPECIAL (User$Creator, <init>, ()V)
|
||||
PUTSTATIC (CREATOR, LUser$Creator;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
|
||||
+5
-5
@@ -1,7 +1,7 @@
|
||||
public static class User$CREATOR : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public static class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final User createFromParcel(android.os.Parcel p0) {
|
||||
public final java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (in)
|
||||
@@ -25,7 +25,7 @@ public static class User$CREATOR : java/lang/Object, android/os/Parcelable$Creat
|
||||
}
|
||||
|
||||
public final class User : java/lang/Object, android/os/Parcelable {
|
||||
public final static User$CREATOR CREATOR
|
||||
public final static User$Creator CREATOR
|
||||
|
||||
private final int age
|
||||
|
||||
@@ -38,8 +38,8 @@ public final class User : java/lang/Object, android/os/Parcelable {
|
||||
static void <clinit>() {
|
||||
NEW
|
||||
DUP
|
||||
INVOKESPECIAL (User$CREATOR, <init>, ()V)
|
||||
PUTSTATIC (CREATOR, LUser$CREATOR;)
|
||||
INVOKESPECIAL (User$Creator, <init>, ()V)
|
||||
PUTSTATIC (CREATOR, LUser$Creator;)
|
||||
RETURN
|
||||
}
|
||||
|
||||
|
||||
Vendored
+3
-3
@@ -1,13 +1,13 @@
|
||||
public static class Test$CREATOR : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public static class Test$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final Test createFromParcel(android.os.Parcel p0)
|
||||
public final java.lang.Object createFromParcel(android.os.Parcel p0)
|
||||
|
||||
public final Test[] newArray(int p0)
|
||||
}
|
||||
|
||||
public final class Test : java/lang/Object {
|
||||
public final static Test$CREATOR CREATOR
|
||||
public final static Test$Creator CREATOR
|
||||
|
||||
private final java.util.List names
|
||||
|
||||
|
||||
+6
-6
@@ -1,7 +1,7 @@
|
||||
public static class Test$CREATOR : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public static class Test$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final Test createFromParcel(android.os.Parcel p0) {
|
||||
public final java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (in)
|
||||
@@ -29,7 +29,7 @@ public static class Test$CREATOR : java/lang/Object, android/os/Parcelable$Creat
|
||||
}
|
||||
|
||||
public final class Test : java/lang/Object, android/os/Parcelable {
|
||||
public final static Test$CREATOR CREATOR
|
||||
public final static Test$Creator CREATOR
|
||||
|
||||
private final android.util.Size nullable
|
||||
|
||||
@@ -88,10 +88,10 @@ public final class Test : java/lang/Object, android/os/Parcelable {
|
||||
}
|
||||
}
|
||||
|
||||
public static class TestF$CREATOR : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public static class TestF$Creator : java/lang/Object, android/os/Parcelable$Creator {
|
||||
public void <init>()
|
||||
|
||||
public final TestF createFromParcel(android.os.Parcel p0) {
|
||||
public final java.lang.Object createFromParcel(android.os.Parcel p0) {
|
||||
LABEL (L0)
|
||||
ALOAD (1)
|
||||
LDC (in)
|
||||
@@ -119,7 +119,7 @@ public static class TestF$CREATOR : java/lang/Object, android/os/Parcelable$Crea
|
||||
}
|
||||
|
||||
public final class TestF : java/lang/Object, android/os/Parcelable {
|
||||
public final static TestF$CREATOR CREATOR
|
||||
public final static TestF$Creator CREATOR
|
||||
|
||||
private final android.util.SizeF nullable
|
||||
|
||||
|
||||
Reference in New Issue
Block a user