| package test | |
| import kotlinx.parcelize.Parcelize | |
| import android.os.Parcelable | |
| @Parcelize | |
| open class Open(val foo: String) : Parcelable | |
| data class Derived(val bar: String) : Open(bar) | |
| @Parcelize | |
| class Final(val foo: String) : Parcelable | |
| @Parcelize | |
| <!PARCELABLE_SHOULD_BE_INSTANTIABLE!>abstract<!> class Abstract(val foo: String) : Parcelable | |
| @Parcelize | |
| sealed class Sealed(val foo: String) : Parcelable { | |
| class X : Sealed("") | |
| sealed class Inner : Sealed("") { | |
| <!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>class Y<!> : Inner() | |
| } | |
| } | |
| class Outer { | |
| @Parcelize | |
| <!PARCELABLE_CANT_BE_INNER_CLASS!>inner<!> class Inner(val foo: String) : Parcelable | |
| } | |
| fun foo() { | |
| @Parcelize | |
| <!ABSTRACT_MEMBER_NOT_IMPLEMENTED, PARCELABLE_CANT_BE_ANONYMOUS_OBJECT!>object<!> : Parcelable {} | |
| object : Open("") {} | |
| @Parcelize | |
| class <!NO_PARCELABLE_SUPERTYPE, PARCELABLE_CANT_BE_LOCAL_CLASS!>Local<!> {} | |
| } |