KT-4107 Don't generate readResolve for data objects

This commit is contained in:
Pavel Mikhailovskii
2022-11-30 09:26:14 +01:00
committed by Space Team
parent ea346e3e0e
commit f96d41e414
9 changed files with 6 additions and 151 deletions
+6 -1
View File
@@ -6,6 +6,7 @@
// FIR_IDENTICAL
import java.io.*
import kotlin.test.*
data object NonSerializableDataObject
@@ -14,7 +15,11 @@ 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) }
ByteArrayInputStream(baos.toByteArray()).use { bais ->
val deseialized = ObjectInputStream(bais).readObject()
assertEquals(SerializableDataObject, deseialized)
assertNotSame(deseialized, SerializableDataObject)
}
}
return "OK"
}
@@ -17,7 +17,6 @@ public final class SerializableDataObject {
private method <init>(): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public method hashCode(): int
private final method readResolve(): java.lang.Object
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
}