Coverage Summary for Class: NullabilityStressModelSerializer (com.ghost.serialization.integration.model)

Class Class, % Method, % Branch, % Line, % Instruction, %
NullabilityStressModelSerializer 100% (1/1) 85.7% (6/7) 50% (41/82) 62.6% (82/131) 58.9% (395/671)


 @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.JsonReaderOptions
 import com.ghost.serialization.parser.beginArray
 import com.ghost.serialization.parser.beginObject
 import com.ghost.serialization.parser.consumeNull
 import com.ghost.serialization.parser.endArray
 import com.ghost.serialization.parser.endObject
 import com.ghost.serialization.parser.isNextNullValue
 import com.ghost.serialization.parser.nextInt
 import com.ghost.serialization.parser.nextKey
 import com.ghost.serialization.parser.nextString
 import com.ghost.serialization.parser.readList
 import com.ghost.serialization.parser.readMap
 import com.ghost.serialization.parser.selectNameAndConsume
 import com.ghost.serialization.parser.skipValue
 import com.ghost.serialization.writer.GhostJsonFlatWriter
 import com.ghost.serialization.writer.GhostJsonWriter
 import kotlin.collections.List
 import kotlin.collections.Map
 import okio.ByteString
 import okio.ByteString.Companion.encodeUtf8
 
 /**
  * High-performance serializer for [NullabilityStressModel].
  * Generated by GhostSerialization. Do not modify manually.
  */
 public object NullabilityStressModelSerializer : GhostSerializer<NullabilityStressModel> {
   override val typeName: String = "NullabilityStressModel"
 
   private val OPTIONS: JsonReaderOptions =
       JsonReaderOptions.of(0, 31, 128, false, "nullableList", "nullableMap", "nestedNullable")
 
   private val H_NESTEDNULLABLE: ByteString = "\"nestedNullable\":".encodeUtf8()
 
   private val H_NULLABLELIST: ByteString = "\"nullableList\":".encodeUtf8()
 
   private val H_NULLABLEMAP: ByteString = "\"nullableMap\":".encodeUtf8()
 
   private const val MASK_NULLABLELIST: Long = 1L
 
   private const val MASK_NULLABLEMAP: Long = 2L
 
   private const val MASK_NESTEDNULLABLE: Long = 4L
 
   /**
    * Robust deserialization for [NullabilityStressModel].
    */
   override fun deserialize(reader: GhostJsonReader): NullabilityStressModel {
     var nullableListValue: List<String?>? = null
     var nullableMapValue: Map<String, Int?>? = null
     var nestedNullableValue: List<List<Int?>?>? = null
     var mask0 = 0L
     reader.beginObject()
     while (true) {
       val index = reader.selectNameAndConsume(OPTIONS)
       when (index) {
         0 -> {
           nullableListValue = if (reader.isNextNullValue()) { reader.consumeNull(); null } else reader.readList { if (reader.isNextNullValue()) { reader.consumeNull(); null } else reader.nextString() }
           mask0 = mask0 or MASK_NULLABLELIST
         }
         1 -> {
           nullableMapValue = if (reader.isNextNullValue()) { reader.consumeNull(); null } else reader.readMap({ reader.nextKey()!! }) { if (reader.isNextNullValue()) { reader.consumeNull(); null } else reader.nextInt() }
           mask0 = mask0 or MASK_NULLABLEMAP
         }
         2 -> {
           nestedNullableValue = if (reader.isNextNullValue()) { reader.consumeNull(); null } else reader.readList { if (reader.isNextNullValue()) { reader.consumeNull(); null } else reader.readList { if (reader.isNextNullValue()) { reader.consumeNull(); null } else reader.nextInt() } }
           mask0 = mask0 or MASK_NESTEDNULLABLE
         }
         -1 -> break
         -2 -> {
           reader.skipValue()
         }
       }
     }
     reader.endObject()
     return NullabilityStressModel(
       nullableList = nullableListValue,
       nullableMap = nullableMapValue,
       nestedNullable = nestedNullableValue,
     )
   }
 
   /**
    * Robust deserialization for [NullabilityStressModel].
    */
   override fun deserialize(reader: GhostJsonFlatReader): NullabilityStressModel {
     var nullableListValue: List<String?>? = null
     var nullableMapValue: Map<String, Int?>? = null
     var nestedNullableValue: List<List<Int?>?>? = null
     var mask0 = 0L
     reader.beginObject()
     while (true) {
       val index = reader.selectNameAndConsume(OPTIONS)
       when (index) {
         0 -> {
           nullableListValue = if (reader.isNextNullValue()) { reader.consumeNull(); null } else reader.readList { if (reader.isNextNullValue()) { reader.consumeNull(); null } else reader.nextString() }
           mask0 = mask0 or MASK_NULLABLELIST
         }
         1 -> {
           nullableMapValue = if (reader.isNextNullValue()) { reader.consumeNull(); null } else reader.readMap({ reader.nextKey()!! }) { if (reader.isNextNullValue()) { reader.consumeNull(); null } else reader.nextInt() }
           mask0 = mask0 or MASK_NULLABLEMAP
         }
         2 -> {
           nestedNullableValue = if (reader.isNextNullValue()) { reader.consumeNull(); null } else reader.readList { if (reader.isNextNullValue()) { reader.consumeNull(); null } else reader.readList { if (reader.isNextNullValue()) { reader.consumeNull(); null } else reader.nextInt() } }
           mask0 = mask0 or MASK_NESTEDNULLABLE
         }
         -1 -> break
         -2 -> {
           reader.skipValue()
         }
       }
     }
     reader.endObject()
     return NullabilityStressModel(
       nullableList = nullableListValue,
       nullableMap = nullableMapValue,
       nestedNullable = nestedNullableValue,
     )
   }
 
   override fun serialize(writer: GhostJsonWriter, `value`: NullabilityStressModel) {
     writer.beginObject()
     writer.writeNameRaw(H_NULLABLELIST)
     if (value.nullableList != null) {
       writer.beginArray()
       val size0 = value.nullableList.size
       for (i0 in 0 until size0) {
         val item0 = value.nullableList[i0]
         if (item0 == null) {
           writer.nullValue()
         } else {
           writer.value(item0)
         }
       }
       writer.endArray()
     } else {
       writer.nullValue()
     }
     writer.writeNameRaw(H_NULLABLEMAP)
     if (value.nullableMap != null) {
       writer.beginObject()
       for ((mapKey1, mapVal1) in value.nullableMap) {
         writer.name(mapKey1)
         if (mapVal1 == null) {
           writer.nullValue()
         } else {
           writer.value(mapVal1)
         }
       }
       writer.endObject()
     } else {
       writer.nullValue()
     }
     writer.writeNameRaw(H_NESTEDNULLABLE)
     if (value.nestedNullable != null) {
       writer.beginArray()
       val size2 = value.nestedNullable.size
       for (i2 in 0 until size2) {
         val item2 = value.nestedNullable[i2]
         if (item2 == null) {
           writer.nullValue()
         } else {
           writer.beginArray()
           val size3 = item2.size
           for (i3 in 0 until size3) {
             val item3 = item2[i3]
             if (item3 == null) {
               writer.nullValue()
             } else {
               writer.value(item3)
             }
           }
           writer.endArray()
         }
       }
       writer.endArray()
     } else {
       writer.nullValue()
     }
     writer.endObject()
   }
 
   override fun serialize(writer: GhostJsonFlatWriter, `value`: NullabilityStressModel) {
     writer.beginObject()
     writer.writeNameRaw(H_NULLABLELIST)
     if (value.nullableList != null) {
       writer.beginArray()
       val size0 = value.nullableList.size
       for (i0 in 0 until size0) {
         val item0 = value.nullableList[i0]
         if (item0 == null) {
           writer.nullValue()
         } else {
           writer.value(item0)
         }
       }
       writer.endArray()
     } else {
       writer.nullValue()
     }
     writer.writeNameRaw(H_NULLABLEMAP)
     if (value.nullableMap != null) {
       writer.beginObject()
       for ((mapKey1, mapVal1) in value.nullableMap) {
         writer.name(mapKey1)
         if (mapVal1 == null) {
           writer.nullValue()
         } else {
           writer.value(mapVal1)
         }
       }
       writer.endObject()
     } else {
       writer.nullValue()
     }
     writer.writeNameRaw(H_NESTEDNULLABLE)
     if (value.nestedNullable != null) {
       writer.beginArray()
       val size2 = value.nestedNullable.size
       for (i2 in 0 until size2) {
         val item2 = value.nestedNullable[i2]
         if (item2 == null) {
           writer.nullValue()
         } else {
           writer.beginArray()
           val size3 = item2.size
           for (i3 in 0 until size3) {
             val item3 = item2[i3]
             if (item3 == null) {
               writer.nullValue()
             } else {
               writer.value(item3)
             }
           }
           writer.endArray()
         }
       }
       writer.endArray()
     } else {
       writer.nullValue()
     }
     writer.endObject()
   }
 
   override fun warmUp() {
     try {
       val reader1 = GhostJsonReader("{}".encodeToByteArray())
       deserialize(reader1)
     } catch (_: Exception) {
     }
     try {
       val reader2 = GhostJsonFlatReader("{}".encodeToByteArray())
       deserialize(reader2)
     } catch (_: Exception) {
     }
   }
 }