in crumb-compiler/src/main/kotlin/com/uber/crumb/internal/wire/internal/RuntimeMessageAdapter.kt [37:50]
override fun encodedSize(value: M): Int {
val cachedSerializedSize = value.cachedSerializedSize
if (cachedSerializedSize != 0) return cachedSerializedSize
var size = 0
for (fieldBinding in fieldBindings.values) {
val binding = fieldBinding[value] ?: continue
size += fieldBinding.adapter().encodedSizeWithTag(fieldBinding.tag, binding)
}
size += value.unknownFields.size
value.cachedSerializedSize = size
return size
}