in crumb-compiler/src/main/kotlin/com/uber/crumb/internal/wire/ProtoReader.kt [95:108]
fun endMessageAndGetUnknownFields(token: Long): ByteString {
check(state == STATE_TAG) { "Unexpected call to endMessage()" }
check(--recursionDepth >= 0 && pushedLimit == -1L) { "No corresponding call to beginMessage()" }
if (pos != limit && recursionDepth != 0) {
throw IOException("Expected to end at $limit but was $pos")
}
limit = token
val unknownFieldsBuffer = bufferStack[recursionDepth]
return if (unknownFieldsBuffer.size > 0L) {
unknownFieldsBuffer.readByteString()
} else {
ByteString.EMPTY
}
}