| // CURIOUS_ABOUT: writeToParcel, createFromParcel, <clinit> |
| // WITH_STDLIB |
| |
| // FILE: KotlinParcelable.kt |
| package k |
| import android.os.* |
| |
| data class KotlinParcelable(var data: Int): Parcelable { |
| |
| override fun describeContents() = 1 |
| |
| override fun writeToParcel(dest: Parcel, flags: Int) { |
| dest.writeInt(data) |
| } |
| |
| companion object { |
| @JvmField |
| val CREATOR = Creator() |
| } |
| |
| class Creator : Parcelable.Creator<KotlinParcelable> { |
| override fun createFromParcel(source: Parcel): KotlinParcelable { |
| val data = source.readInt() |
| return KotlinParcelable(data) |
| } |
| |
| override fun newArray(size: Int) = arrayOfNulls<KotlinParcelable>(size) |
| } |
| } |
| |
| |
| // FILE: test.kt |
| package test |
| |
| import kotlinx.parcelize.* |
| import android.os.* |
| import k.* |
| |
| @Parcelize |
| class Foo(val kp: KotlinParcelable): Parcelable |