Remove generic bound for Parceler

This commit is contained in:
Yan Zhulanow
2017-09-11 22:53:19 +03:00
parent a4f06c9fa8
commit 7dbefc1613
4 changed files with 16 additions and 16 deletions
@@ -188,7 +188,7 @@ open class ParcelableCodegenExtension : ExpressionCodegenExtension {
v.getstatic(containerAsmType.internalName, companionFieldName, companionAsmType.descriptor) v.getstatic(containerAsmType.internalName, companionFieldName, companionAsmType.descriptor)
v.load(1, PARCEL_TYPE) v.load(1, PARCEL_TYPE)
v.invokevirtual(companionAsmType.internalName, "create", "(${PARCEL_TYPE.descriptor})Landroid/os/Parcelable;", false) v.invokevirtual(companionAsmType.internalName, "create", "(${PARCEL_TYPE.descriptor})Ljava/lang/Object;", false)
} }
else { else {
v.anew(containerAsmType) v.anew(containerAsmType)
@@ -5,20 +5,20 @@ final class User$Companion : java/lang/Object, kotlinx/android/parcel/Parceler {
public User create(android.os.Parcel p0) public User create(android.os.Parcel p0)
public android.os.Parcelable create(android.os.Parcel p0) public java.lang.Object create(android.os.Parcel p0)
public User[] newArray(int p0) { public User[] newArray(int p0) {
LABEL (L0) LABEL (L0)
LINENUMBER (10) LINENUMBER (10)
ALOAD (0) ALOAD (0)
ILOAD (1) ILOAD (1)
INVOKESTATIC (kotlinx/android/parcel/Parceler$DefaultImpls, newArray, (Lkotlinx/android/parcel/Parceler;I)[Landroid/os/Parcelable;) INVOKESTATIC (kotlinx/android/parcel/Parceler$DefaultImpls, newArray, (Lkotlinx/android/parcel/Parceler;I)[Ljava/lang/Object;)
CHECKCAST CHECKCAST
ARETURN ARETURN
LABEL (L1) LABEL (L1)
} }
public android.os.Parcelable[] newArray(int p0) { public java.lang.Object[] newArray(int p0) {
LABEL (L0) LABEL (L0)
LINENUMBER (10) LINENUMBER (10)
ALOAD (0) ALOAD (0)
@@ -30,7 +30,7 @@ final class User$Companion : java/lang/Object, kotlinx/android/parcel/Parceler {
public void write(User p0, android.os.Parcel p1, int p2) public void write(User p0, android.os.Parcel p1, int p2)
public void write(android.os.Parcelable p0, android.os.Parcel p1, int p2) 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 final class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
@@ -43,7 +43,7 @@ public final class User$Creator : java/lang/Object, android/os/Parcelable$Creato
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V) INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkParameterIsNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
GETSTATIC (Companion, LUser$Companion;) GETSTATIC (Companion, LUser$Companion;)
ALOAD (1) ALOAD (1)
INVOKEVIRTUAL (User$Companion, create, (Landroid/os/Parcel;)Landroid/os/Parcelable;) INVOKEVIRTUAL (User$Companion, create, (Landroid/os/Parcel;)Ljava/lang/Object;)
ARETURN ARETURN
LABEL (L1) LABEL (L1)
} }
@@ -5,7 +5,7 @@ final class User$Companion : java/lang/Object, kotlinx/android/parcel/Parceler {
public User create(android.os.Parcel p0) public User create(android.os.Parcel p0)
public android.os.Parcelable create(android.os.Parcel p0) public java.lang.Object create(android.os.Parcel p0)
public User[] newArray(int p0) { public User[] newArray(int p0) {
LABEL (L0) LABEL (L0)
@@ -16,7 +16,7 @@ final class User$Companion : java/lang/Object, kotlinx/android/parcel/Parceler {
LABEL (L1) LABEL (L1)
} }
public android.os.Parcelable[] newArray(int p0) { public java.lang.Object[] newArray(int p0) {
LABEL (L0) LABEL (L0)
LINENUMBER (10) LINENUMBER (10)
ALOAD (0) ALOAD (0)
@@ -28,7 +28,7 @@ final class User$Companion : java/lang/Object, kotlinx/android/parcel/Parceler {
public void write(User p0, android.os.Parcel p1, int p2) public void write(User p0, android.os.Parcel p1, int p2)
public void write(android.os.Parcelable p0, android.os.Parcel p1, int p2) 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 final class User$Creator : java/lang/Object, android/os/Parcelable$Creator {
@@ -20,21 +20,21 @@ package kotlinx.android.parcel
import android.os.Parcel import android.os.Parcel
import android.os.Parcelable import android.os.Parcelable
interface Parceler<P: Parcelable> { interface Parceler<T> {
/** /**
* Writes the [P] instance state to the [parcel]. * Writes the [T] instance state to the [parcel].
*/ */
fun P.write(parcel: Parcel, flags: Int) fun T.write(parcel: Parcel, flags: Int)
/** /**
* Reads the [P] instance state from the [parcel], constructs the new [P] instance and returns it. * Reads the [T] instance state from the [parcel], constructs the new [T] instance and returns it.
*/ */
fun create(parcel: Parcel): P fun create(parcel: Parcel): T
/** /**
* Returns a new [Array]<P> with the given array [size]. * Returns a new [Array]<T> with the given array [size].
*/ */
fun newArray(size: Int): Array<P> { fun newArray(size: Int): Array<T> {
throw NotImplementedError("Generated by Android Extensions automatically") throw NotImplementedError("Generated by Android Extensions automatically")
} }
} }