From 7dbefc16131985b3886846d60fa8ce821bddff48 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Mon, 11 Sep 2017 22:53:19 +0300 Subject: [PATCH] Remove generic bound for Parceler --- .../android/parcel/ParcelableCodegenExtension.kt | 2 +- .../testData/parcel/codegen/customSimple.txt | 10 +++++----- .../parcel/codegen/customSimpleWithNewArray.txt | 6 +++--- .../src/kotlinx/android/parcel/Parceler.kt | 14 +++++++------- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/parcel/ParcelableCodegenExtension.kt b/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/parcel/ParcelableCodegenExtension.kt index 66c2f4e6739..6f869552f38 100644 --- a/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/parcel/ParcelableCodegenExtension.kt +++ b/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/parcel/ParcelableCodegenExtension.kt @@ -188,7 +188,7 @@ open class ParcelableCodegenExtension : ExpressionCodegenExtension { v.getstatic(containerAsmType.internalName, companionFieldName, companionAsmType.descriptor) 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 { v.anew(containerAsmType) diff --git a/plugins/android-extensions/android-extensions-compiler/testData/parcel/codegen/customSimple.txt b/plugins/android-extensions/android-extensions-compiler/testData/parcel/codegen/customSimple.txt index 0c4fcf21b15..3a84363f912 100644 --- a/plugins/android-extensions/android-extensions-compiler/testData/parcel/codegen/customSimple.txt +++ b/plugins/android-extensions/android-extensions-compiler/testData/parcel/codegen/customSimple.txt @@ -5,20 +5,20 @@ final class User$Companion : java/lang/Object, kotlinx/android/parcel/Parceler { 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) { LABEL (L0) LINENUMBER (10) ALOAD (0) 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 ARETURN LABEL (L1) } - public android.os.Parcelable[] newArray(int p0) { + public java.lang.Object[] newArray(int p0) { LABEL (L0) LINENUMBER (10) 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(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 { @@ -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) GETSTATIC (Companion, LUser$Companion;) ALOAD (1) - INVOKEVIRTUAL (User$Companion, create, (Landroid/os/Parcel;)Landroid/os/Parcelable;) + INVOKEVIRTUAL (User$Companion, create, (Landroid/os/Parcel;)Ljava/lang/Object;) ARETURN LABEL (L1) } diff --git a/plugins/android-extensions/android-extensions-compiler/testData/parcel/codegen/customSimpleWithNewArray.txt b/plugins/android-extensions/android-extensions-compiler/testData/parcel/codegen/customSimpleWithNewArray.txt index 5b6fc6350aa..e124e583f68 100644 --- a/plugins/android-extensions/android-extensions-compiler/testData/parcel/codegen/customSimpleWithNewArray.txt +++ b/plugins/android-extensions/android-extensions-compiler/testData/parcel/codegen/customSimpleWithNewArray.txt @@ -5,7 +5,7 @@ final class User$Companion : java/lang/Object, kotlinx/android/parcel/Parceler { 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) { LABEL (L0) @@ -16,7 +16,7 @@ final class User$Companion : java/lang/Object, kotlinx/android/parcel/Parceler { LABEL (L1) } - public android.os.Parcelable[] newArray(int p0) { + public java.lang.Object[] newArray(int p0) { LABEL (L0) LINENUMBER (10) 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(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 { diff --git a/plugins/android-extensions/android-extensions-runtime/src/kotlinx/android/parcel/Parceler.kt b/plugins/android-extensions/android-extensions-runtime/src/kotlinx/android/parcel/Parceler.kt index 0684dc5c039..ef637cc7611 100644 --- a/plugins/android-extensions/android-extensions-runtime/src/kotlinx/android/parcel/Parceler.kt +++ b/plugins/android-extensions/android-extensions-runtime/src/kotlinx/android/parcel/Parceler.kt @@ -20,21 +20,21 @@ package kotlinx.android.parcel import android.os.Parcel import android.os.Parcelable -interface Parceler { +interface Parceler { /** - * 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]

with the given array [size]. + * Returns a new [Array] with the given array [size]. */ - fun newArray(size: Int): Array

{ + fun newArray(size: Int): Array { throw NotImplementedError("Generated by Android Extensions automatically") } } \ No newline at end of file