// WITH_STDLIB // FULL_JDK @file:JvmName("TestKt") package test import kotlinx.android.parcel.* import android.os.Parcel import android.os.Parcelable import java.util.* @Parcelize data class Test( val a: Map, val b: MutableMap, val c: HashMap, val d: LinkedHashMap, val e: TreeMap, val f: SortedMap, val g: NavigableMap ) : Parcelable fun box() = parcelTest { parcel -> val first = Test( a = mapOf("A" to "B"), b = mutableMapOf("A" to "B"), c = HashMap().apply { put("A", "B") }, d = LinkedHashMap().apply { put("A", "B") }, e = TreeMap().apply { put("A", "B") }, f = TreeMap().apply { put("A", "B") }, g = TreeMap().apply { put("A", "B") } ) first.writeToParcel(parcel, 0) val bytes = parcel.marshall() parcel.unmarshall(bytes, 0, bytes.size) parcel.setDataPosition(0) val first2 = readFromParcel(parcel) assert(first == first2) assert((first.c as HashMap<*, *>).size == 1) assert((first2.e as TreeMap<*, *>).size == 1) assert(first2.f is SortedMap<*, *>) assert(first2.g is NavigableMap<*, *>) }