Coverage Summary for Class: GhostShapeSerializer (com.ghost.serialization.integration.model)
| Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| GhostShapeSerializer |
100%
(1/1)
|
83.3%
(5/6)
|
50%
(8/16)
|
60.9%
(14/23)
|
64.9%
(109/168)
|
@file:OptIn(InternalGhostApi::class)
package com.ghost.serialization.integration.model
import com.ghost.serialization.InternalGhostApi
import com.ghost.serialization.contract.GhostSerializer
import com.ghost.serialization.parser.GhostJsonFlatReader
import com.ghost.serialization.parser.GhostJsonReader
import com.ghost.serialization.parser.peekStringField
import com.ghost.serialization.writer.GhostJsonFlatWriter
import com.ghost.serialization.writer.GhostJsonWriter
/**
* High-performance serializer for [GhostShape].
* Generated by GhostSerialization. Do not modify manually.
*/
public object GhostShapeSerializer : GhostSerializer<GhostShape> {
override val typeName: String = "GhostShape"
/**
* Robust deserialization for [GhostShape].
*/
override fun deserialize(reader: GhostJsonReader): GhostShape {
val typeName = reader.peekStringField("type") ?: reader.throwError("Missing discriminator field for sealed class")
val result = when (typeName) {
"Circle" -> GhostShape_CircleSerializer.deserialize(reader)
"Square" -> GhostShape_SquareSerializer.deserialize(reader)
else -> reader.throwError("Unknown type discriminator: $typeName")
}
return result
}
/**
* Robust deserialization for [GhostShape].
*/
override fun deserialize(reader: GhostJsonFlatReader): GhostShape {
val typeName = reader.peekStringField("type") ?: reader.throwError("Missing discriminator field for sealed class")
val result = when (typeName) {
"Circle" -> GhostShape_CircleSerializer.deserialize(reader)
"Square" -> GhostShape_SquareSerializer.deserialize(reader)
else -> reader.throwError("Unknown type discriminator: $typeName")
}
return result
}
override fun serialize(writer: GhostJsonWriter, `value`: GhostShape) {
when (value) {
is GhostShape.Circle -> GhostShape_CircleSerializer.serialize(writer, value)
is GhostShape.Square -> GhostShape_SquareSerializer.serialize(writer, value)
}
}
override fun serialize(writer: GhostJsonFlatWriter, `value`: GhostShape) {
when (value) {
is GhostShape.Circle -> GhostShape_CircleSerializer.serialize(writer, value)
is GhostShape.Square -> GhostShape_SquareSerializer.serialize(writer, value)
}
}
override fun warmUp() {
try {
val reader1 = GhostJsonReader("{}".encodeToByteArray())
deserialize(reader1)
} catch (_: Exception) {
}
try {
val reader2 = GhostJsonFlatReader("{}".encodeToByteArray())
deserialize(reader2)
} catch (_: Exception) {
}
}
}