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