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) {
     }
   }
 }