Parcelable: Correctly handle writeToParcel() overriding, report errors on custom writeToParcel() and CREATOR
This commit is contained in:
Vendored
+16
@@ -0,0 +1,16 @@
|
||||
package test
|
||||
|
||||
import kotlinx.android.parcel.MagicParcel
|
||||
import android.os.Parcelable
|
||||
import android.os.Parcel
|
||||
|
||||
@MagicParcel
|
||||
class A(val a: String) : Parcelable {
|
||||
companion object {
|
||||
@JvmField
|
||||
val <error descr="[CREATOR_DEFINITION_IS_FORBIDDEN] 'CREATOR' definition is forbidden. Use 'Parceler' nested object instead.">CREATOR</error> = object : Parcelable.Creator<A> {
|
||||
override fun createFromParcel(source: Parcel): A = A("")
|
||||
override fun newArray(size: Int) = arrayOfNulls<A>(size)
|
||||
}
|
||||
}
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
package test
|
||||
|
||||
import kotlinx.android.parcel.MagicParcel
|
||||
import android.os.Parcelable
|
||||
import android.os.Parcel
|
||||
|
||||
@MagicParcel
|
||||
class A(val a: String) : Parcelable {
|
||||
<error descr="[OVERRIDING_WRITE_TO_PARCEL_IS_FORBIDDEN] Overriding 'writeToParcel' is forbidden. Use 'Parceler' nested object instead.">override</error> fun writeToParcel(p: Parcel?, flags: Int) {}
|
||||
override fun describeContents() = 0
|
||||
}
|
||||
|
||||
@MagicParcel
|
||||
class B(val a: String) : Parcelable {
|
||||
<error descr="[OVERRIDING_WRITE_TO_PARCEL_IS_FORBIDDEN] Overriding 'writeToParcel' is forbidden. Use 'Parceler' nested object instead.">override</error> fun writeToParcel(p: Parcel?, flags: Int) {}
|
||||
}
|
||||
|
||||
@MagicParcel
|
||||
class C(val a: String) : Parcelable {
|
||||
<error descr="[OVERRIDING_WRITE_TO_PARCEL_IS_FORBIDDEN] Overriding 'writeToParcel' is forbidden. Use 'Parceler' nested object instead.">override</error> fun writeToParcel(p: Parcel, flags: Int) {}
|
||||
}
|
||||
Reference in New Issue
Block a user