Parcelize: Add an intrinsic to access Parcelable CREATOR fields
Fixes KT-19853. The CREATOR field is a static field on a Parcelable class which is not visible from Kotlin since the necessary metadata would have to be in a Companion object which may not exist. This commit adds a [parcelableCreator] function to kotlinx.parcelize, which is optimized to a direct field access whenever possible.
This commit is contained in:
committed by
Alexander Udalov
parent
897c09bf8d
commit
fc013c6b9f
+1
-1
@@ -33,6 +33,6 @@ fun box() = parcelTest { parcel ->
|
||||
parcel.unmarshall(bytes, 0, bytes.size)
|
||||
parcel.setDataPosition(0)
|
||||
|
||||
val data2 = readFromParcel<Data>(parcel)
|
||||
val data2 = parcelableCreator<Data>().createFromParcel(parcel)
|
||||
assert(data2.uuid.uuid == data.uuid.uuid)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user