KT-4107 Data objects

This commit is contained in:
Pavel Mikhailovskii
2022-06-28 09:51:57 +02:00
parent 6c31dc90e4
commit c3c09aa95a
75 changed files with 1183 additions and 134 deletions
@@ -0,0 +1,19 @@
// LANGUAGE: +DataObjects
// WITH_STDLIB
// TARGET_BACKEND: JVM_IR
// FULL_JDK
// CHECK_BYTECODE_LISTING
import java.io.*
data object NonSerializableDataObject
data object SerializableDataObject: Serializable
fun box(): String {
ByteArrayOutputStream().use { baos ->
ObjectOutputStream(baos).use { oos -> oos.writeObject(SerializableDataObject) }
ByteArrayInputStream(baos.toByteArray()).use { bais -> assert(java.io.ObjectInputStream(bais).readObject() === SerializableDataObject) }
}
return "OK"
}