Parcelable: Flags argument should be propagated to the nested Parcelable's writeToParcel() (KT-20019)

This commit is contained in:
Yan Zhulanow
2017-09-01 22:32:57 +03:00
committed by Yan Zhulanow
parent 3587a2a08e
commit be3273a933
2 changed files with 2 additions and 2 deletions
@@ -465,7 +465,7 @@ internal class EfficientParcelableParcelSerializer(override val asmType: Type, p
internal class GenericParcelableParcelSerializer(override val asmType: Type, val containerClassType: Type) : ParcelSerializer { internal class GenericParcelableParcelSerializer(override val asmType: Type, val containerClassType: Type) : ParcelSerializer {
override fun writeValue(v: InstructionAdapter) { override fun writeValue(v: InstructionAdapter) {
// -> parcel, parcelable // -> parcel, parcelable
v.aconst(0) // -> parcel, parcelable, flags v.load(2, Type.INT_TYPE) // -> parcel, parcelable, flags
v.invokevirtual(PARCEL_TYPE.internalName, "writeParcelable", "(Landroid/os/Parcelable;I)V", false) v.invokevirtual(PARCEL_TYPE.internalName, "writeParcelable", "(Landroid/os/Parcelable;I)V", false)
} }
@@ -60,7 +60,7 @@ public final class test/Foo : java/lang/Object, android/os/Parcelable {
ALOAD (1) ALOAD (1)
ALOAD (0) ALOAD (0)
GETFIELD (parcelable, Landroid/os/Parcelable;) GETFIELD (parcelable, Landroid/os/Parcelable;)
LDC (0) ILOAD (2)
INVOKEVIRTUAL (android/os/Parcel, writeParcelable, (Landroid/os/Parcelable;I)V) INVOKEVIRTUAL (android/os/Parcel, writeParcelable, (Landroid/os/Parcelable;I)V)
RETURN RETURN
LABEL (L1) LABEL (L1)