33 #include <type_traits>
50 return Raw<InternalMetadataWithArena>(msg, arena_offset)
51 ->mutable_unknown_fields();
54 struct UnknownFieldHandler {
57 static constexpr
bool IsLite() {
return false; }
59 static bool Skip(MessageLite* msg,
const ParseTable&
table,
60 io::CodedInputStream*
input,
int tag) {
64 MutableUnknownFields(msg,
table.arena_offset));
67 static void Varint(MessageLite* msg,
const ParseTable&
table,
int tag,
71 MutableUnknownFields(msg,
table.arena_offset)
75 static bool ParseExtension(MessageLite* msg,
const ParseTable&
table,
76 io::CodedInputStream*
input,
int tag) {
78 if (extensions ==
NULL) {
82 const Message* prototype =
83 down_cast<const Message*>(
table.default_instance());
88 MutableUnknownFields(msg,
table.arena_offset);
90 return extensions->ParseField(tag,
input, prototype, unknown_fields);