|
|
|
@ -380,6 +380,12 @@ upb_Array* upb_Array_New(upb_Arena* a, upb_CType type) { |
|
|
|
|
return _upb_Array_New(a, 4, _upb_Array_CTypeSizeLg2(type)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const void* upb_Array_DataPtr(const upb_Array* arr) { |
|
|
|
|
return _upb_array_ptr((upb_Array*)arr); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void* upb_Array_MutableDataPtr(upb_Array* arr) { return _upb_array_ptr(arr); } |
|
|
|
|
|
|
|
|
|
size_t upb_Array_Size(const upb_Array* arr) { return arr->size; } |
|
|
|
|
|
|
|
|
|
upb_MessageValue upb_Array_Get(const upb_Array* arr, size_t i) { |
|
|
|
@ -518,9 +524,9 @@ upb_MapInsertStatus upb_Map_Insert(upb_Map* map, upb_MessageValue key, |
|
|
|
|
|
|
|
|
|
bool upb_Map_Delete(upb_Map* map, upb_MessageValue key, upb_MessageValue* val) { |
|
|
|
|
upb_value v; |
|
|
|
|
const bool ok = _upb_Map_Delete(map, &key, map->key_size, &v); |
|
|
|
|
if (val) val->uint64_val = v.val; |
|
|
|
|
return ok; |
|
|
|
|
const bool removed = _upb_Map_Delete(map, &key, map->key_size, &v); |
|
|
|
|
if (val) _upb_map_fromvalue(v, val, map->val_size); |
|
|
|
|
return removed; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bool upb_Map_Next(const upb_Map* map, upb_MessageValue* key, |
|
|
|
@ -535,6 +541,13 @@ bool upb_Map_Next(const upb_Map* map, upb_MessageValue* key, |
|
|
|
|
return ok; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
UPB_API void upb_Map_SetEntryValue(upb_Map* map, size_t iter, |
|
|
|
|
upb_MessageValue val) { |
|
|
|
|
upb_value v; |
|
|
|
|
_upb_map_tovalue(&val, map->val_size, &v, NULL); |
|
|
|
|
upb_strtable_setentryvalue(&map->table, iter, v); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bool upb_MapIterator_Next(const upb_Map* map, size_t* iter) { |
|
|
|
|
return _upb_map_next(map, iter); |
|
|
|
|
} |
|
|
|
@ -732,7 +745,7 @@ static const upb_MiniTableSub google_protobuf_FileDescriptorSet_submsgs[1] = { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_FileDescriptorSet__fields[1] = { |
|
|
|
|
{1, 0, 0, 0, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{1, 0, 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_FileDescriptorSet_msg_init = { |
|
|
|
@ -755,19 +768,19 @@ static const upb_MiniTableSub google_protobuf_FileDescriptorProto_submsgs[6] = { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_FileDescriptorProto__fields[13] = { |
|
|
|
|
{1, UPB_SIZE(40, 8), 1, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, UPB_SIZE(48, 24), 2, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(4, 40), 0, kUpb_NoSub, 12, kUpb_FieldMode_Array | kUpb_LabelFlags_IsAlternate | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{4, UPB_SIZE(8, 48), 0, 0, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{5, UPB_SIZE(12, 56), 0, 1, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{6, UPB_SIZE(16, 64), 0, 2, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{7, UPB_SIZE(20, 72), 0, 3, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{8, UPB_SIZE(24, 80), 3, 4, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{9, UPB_SIZE(28, 88), 4, 5, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{10, UPB_SIZE(32, 96), 0, kUpb_NoSub, 5, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{11, UPB_SIZE(36, 104), 0, kUpb_NoSub, 5, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{12, UPB_SIZE(56, 112), 5, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{13, UPB_SIZE(64, 128), 6, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{1, UPB_SIZE(40, 8), 1, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, UPB_SIZE(48, 24), 2, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(4, 40), 0, kUpb_NoSub, 12, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsAlternate | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{4, UPB_SIZE(8, 48), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{5, UPB_SIZE(12, 56), 0, 1, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{6, UPB_SIZE(16, 64), 0, 2, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{7, UPB_SIZE(20, 72), 0, 3, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{8, UPB_SIZE(24, 80), 3, 4, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{9, UPB_SIZE(28, 88), 4, 5, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{10, UPB_SIZE(32, 96), 0, kUpb_NoSub, 5, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{11, UPB_SIZE(36, 104), 0, kUpb_NoSub, 5, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{12, UPB_SIZE(56, 112), 5, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{13, UPB_SIZE(64, 128), 6, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_FileDescriptorProto_msg_init = { |
|
|
|
@ -806,16 +819,16 @@ static const upb_MiniTableSub google_protobuf_DescriptorProto_submsgs[8] = { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_DescriptorProto__fields[10] = { |
|
|
|
|
{1, UPB_SIZE(40, 8), 1, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, UPB_SIZE(4, 24), 0, 0, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(8, 32), 0, 1, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{4, UPB_SIZE(12, 40), 0, 2, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{5, UPB_SIZE(16, 48), 0, 3, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{6, UPB_SIZE(20, 56), 0, 4, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{7, UPB_SIZE(24, 64), 2, 5, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{8, UPB_SIZE(28, 72), 0, 6, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{9, UPB_SIZE(32, 80), 0, 7, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{10, UPB_SIZE(36, 88), 0, kUpb_NoSub, 12, kUpb_FieldMode_Array | kUpb_LabelFlags_IsAlternate | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{1, UPB_SIZE(40, 8), 1, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, UPB_SIZE(4, 24), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(8, 32), 0, 1, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{4, UPB_SIZE(12, 40), 0, 2, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{5, UPB_SIZE(16, 48), 0, 3, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{6, UPB_SIZE(20, 56), 0, 4, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{7, UPB_SIZE(24, 64), 2, 5, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{8, UPB_SIZE(28, 72), 0, 6, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{9, UPB_SIZE(32, 80), 0, 7, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{10, UPB_SIZE(36, 88), 0, kUpb_NoSub, 12, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsAlternate | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_DescriptorProto_msg_init = { |
|
|
|
@ -847,9 +860,9 @@ static const upb_MiniTableSub google_protobuf_DescriptorProto_ExtensionRange_sub |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_DescriptorProto_ExtensionRange__fields[3] = { |
|
|
|
|
{1, 4, 1, kUpb_NoSub, 5, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, 8, 2, kUpb_NoSub, 5, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(12, 16), 3, 0, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{1, 4, 1, kUpb_NoSub, 5, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, 8, 2, kUpb_NoSub, 5, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(12, 16), 3, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_DescriptorProto_ExtensionRange_msg_init = { |
|
|
|
@ -865,8 +878,8 @@ const upb_MiniTable google_protobuf_DescriptorProto_ExtensionRange_msg_init = { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_DescriptorProto_ReservedRange__fields[2] = { |
|
|
|
|
{1, 4, 1, kUpb_NoSub, 5, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, 8, 2, kUpb_NoSub, 5, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{1, 4, 1, kUpb_NoSub, 5, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, 8, 2, kUpb_NoSub, 5, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_DescriptorProto_ReservedRange_msg_init = { |
|
|
|
@ -888,9 +901,9 @@ static const upb_MiniTableSub google_protobuf_ExtensionRangeOptions_submsgs[3] = |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_ExtensionRangeOptions__fields[3] = { |
|
|
|
|
{2, UPB_SIZE(4, 8), 0, 0, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(8, 4), 1, 2, 14, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{999, UPB_SIZE(12, 16), 0, 1, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, UPB_SIZE(4, 8), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(8, 4), 1, 2, 14, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{999, UPB_SIZE(12, 16), 0, 1, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_ExtensionRangeOptions_msg_init = { |
|
|
|
@ -934,12 +947,12 @@ const upb_MiniTable google_protobuf_ExtensionRangeOptions_msg_init = { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_ExtensionRangeOptions_Declaration__fields[6] = { |
|
|
|
|
{1, 4, 1, kUpb_NoSub, 5, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, UPB_SIZE(12, 16), 2, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(20, 32), 3, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{4, 8, 4, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{5, 9, 5, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{6, 10, 6, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{1, 4, 1, kUpb_NoSub, 5, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, UPB_SIZE(12, 16), 2, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(20, 32), 3, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{4, 8, 4, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{5, 9, 5, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{6, 10, 6, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_ExtensionRangeOptions_Declaration_msg_init = { |
|
|
|
@ -965,17 +978,17 @@ static const upb_MiniTableSub google_protobuf_FieldDescriptorProto_submsgs[3] = |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_FieldDescriptorProto__fields[11] = { |
|
|
|
|
{1, UPB_SIZE(28, 24), 1, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, UPB_SIZE(36, 40), 2, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, 4, 3, kUpb_NoSub, 5, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{4, 8, 4, 1, 14, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{5, 12, 5, 2, 14, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{6, UPB_SIZE(44, 56), 6, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{7, UPB_SIZE(52, 72), 7, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{8, UPB_SIZE(16, 88), 8, 0, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{9, UPB_SIZE(20, 16), 9, kUpb_NoSub, 5, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{10, UPB_SIZE(60, 96), 10, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{17, UPB_SIZE(24, 20), 11, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{1, UPB_SIZE(28, 24), 1, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, UPB_SIZE(36, 40), 2, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, 4, 3, kUpb_NoSub, 5, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{4, 8, 4, 1, 14, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{5, 12, 5, 2, 14, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{6, UPB_SIZE(44, 56), 6, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{7, UPB_SIZE(52, 72), 7, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{8, UPB_SIZE(16, 88), 8, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{9, UPB_SIZE(20, 16), 9, kUpb_NoSub, 5, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{10, UPB_SIZE(60, 96), 10, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{17, UPB_SIZE(24, 20), 11, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_FieldDescriptorProto_msg_init = { |
|
|
|
@ -1023,8 +1036,8 @@ static const upb_MiniTableSub google_protobuf_OneofDescriptorProto_submsgs[1] = |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_OneofDescriptorProto__fields[2] = { |
|
|
|
|
{1, 8, 1, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, UPB_SIZE(4, 24), 2, 0, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{1, 8, 1, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, UPB_SIZE(4, 24), 2, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_OneofDescriptorProto_msg_init = { |
|
|
|
@ -1046,11 +1059,11 @@ static const upb_MiniTableSub google_protobuf_EnumDescriptorProto_submsgs[3] = { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_EnumDescriptorProto__fields[5] = { |
|
|
|
|
{1, UPB_SIZE(20, 8), 1, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, UPB_SIZE(4, 24), 0, 0, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(8, 32), 2, 1, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{4, UPB_SIZE(12, 40), 0, 2, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{5, UPB_SIZE(16, 48), 0, kUpb_NoSub, 12, kUpb_FieldMode_Array | kUpb_LabelFlags_IsAlternate | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{1, UPB_SIZE(20, 8), 1, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, UPB_SIZE(4, 24), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(8, 32), 2, 1, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{4, UPB_SIZE(12, 40), 0, 2, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{5, UPB_SIZE(16, 48), 0, kUpb_NoSub, 12, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsAlternate | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_EnumDescriptorProto_msg_init = { |
|
|
|
@ -1070,8 +1083,8 @@ const upb_MiniTable google_protobuf_EnumDescriptorProto_msg_init = { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_EnumDescriptorProto_EnumReservedRange__fields[2] = { |
|
|
|
|
{1, 4, 1, kUpb_NoSub, 5, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, 8, 2, kUpb_NoSub, 5, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{1, 4, 1, kUpb_NoSub, 5, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, 8, 2, kUpb_NoSub, 5, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_EnumDescriptorProto_EnumReservedRange_msg_init = { |
|
|
|
@ -1091,9 +1104,9 @@ static const upb_MiniTableSub google_protobuf_EnumValueDescriptorProto_submsgs[1 |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_EnumValueDescriptorProto__fields[3] = { |
|
|
|
|
{1, UPB_SIZE(12, 8), 1, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, 4, 2, kUpb_NoSub, 5, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(8, 24), 3, 0, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{1, UPB_SIZE(12, 8), 1, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, 4, 2, kUpb_NoSub, 5, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(8, 24), 3, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_EnumValueDescriptorProto_msg_init = { |
|
|
|
@ -1114,9 +1127,9 @@ static const upb_MiniTableSub google_protobuf_ServiceDescriptorProto_submsgs[2] |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_ServiceDescriptorProto__fields[3] = { |
|
|
|
|
{1, UPB_SIZE(12, 8), 1, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, UPB_SIZE(4, 24), 0, 0, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(8, 32), 2, 1, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{1, UPB_SIZE(12, 8), 1, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, UPB_SIZE(4, 24), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(8, 32), 2, 1, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_ServiceDescriptorProto_msg_init = { |
|
|
|
@ -1136,12 +1149,12 @@ static const upb_MiniTableSub google_protobuf_MethodDescriptorProto_submsgs[1] = |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_MethodDescriptorProto__fields[6] = { |
|
|
|
|
{1, UPB_SIZE(12, 8), 1, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, UPB_SIZE(20, 24), 2, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(28, 40), 3, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{4, UPB_SIZE(4, 56), 4, 0, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{5, UPB_SIZE(8, 1), 5, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{6, UPB_SIZE(9, 2), 6, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{1, UPB_SIZE(12, 8), 1, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, UPB_SIZE(20, 24), 2, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(28, 40), 3, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{4, UPB_SIZE(4, 56), 4, 0, 11, (int)kUpb_FieldMode_Scalar | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{5, UPB_SIZE(8, 1), 5, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{6, UPB_SIZE(9, 2), 6, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_MethodDescriptorProto_msg_init = { |
|
|
|
@ -1166,27 +1179,27 @@ static const upb_MiniTableSub google_protobuf_FileOptions_submsgs[2] = { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_FileOptions__fields[21] = { |
|
|
|
|
{1, 24, 1, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{8, UPB_SIZE(32, 40), 2, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{9, 4, 3, 1, 14, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{10, 8, 4, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{11, UPB_SIZE(40, 56), 5, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{16, 9, 6, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{17, 10, 7, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{18, 11, 8, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{20, 12, 9, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{23, 13, 10, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{27, 14, 11, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{31, 15, 12, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{36, UPB_SIZE(48, 72), 13, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{37, UPB_SIZE(56, 88), 14, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{39, UPB_SIZE(64, 104), 15, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{40, UPB_SIZE(72, 120), 16, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{41, UPB_SIZE(80, 136), 17, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{42, 16, 18, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{44, UPB_SIZE(88, 152), 19, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{45, UPB_SIZE(96, 168), 20, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{999, UPB_SIZE(20, 184), 0, 0, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{1, 24, 1, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{8, UPB_SIZE(32, 40), 2, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{9, 4, 3, 1, 14, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{10, 8, 4, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{11, UPB_SIZE(40, 56), 5, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{16, 9, 6, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{17, 10, 7, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{18, 11, 8, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{20, 12, 9, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{23, 13, 10, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{27, 14, 11, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{31, 15, 12, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{36, UPB_SIZE(48, 72), 13, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{37, UPB_SIZE(56, 88), 14, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{39, UPB_SIZE(64, 104), 15, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{40, UPB_SIZE(72, 120), 16, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{41, UPB_SIZE(80, 136), 17, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{42, 16, 18, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{44, UPB_SIZE(88, 152), 19, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{45, UPB_SIZE(96, 168), 20, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{999, UPB_SIZE(20, 184), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_FileOptions_msg_init = { |
|
|
|
@ -1234,12 +1247,12 @@ static const upb_MiniTableSub google_protobuf_MessageOptions_submsgs[1] = { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_MessageOptions__fields[6] = { |
|
|
|
|
{1, 1, 1, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, 2, 2, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, 3, 3, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{7, 4, 4, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{11, 5, 5, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{999, 8, 0, 0, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{1, 1, 1, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, 2, 2, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, 3, 3, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{7, 4, 4, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{11, 5, 5, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{999, 8, 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_MessageOptions_msg_init = { |
|
|
|
@ -1292,18 +1305,18 @@ static const upb_MiniTableSub google_protobuf_FieldOptions_submsgs[6] = { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_FieldOptions__fields[12] = { |
|
|
|
|
{1, 4, 1, 1, 14, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, 8, 2, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, 9, 3, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{5, 10, 4, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{6, 12, 5, 2, 14, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{10, 16, 6, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{15, 17, 7, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{16, 18, 8, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{17, 20, 9, 3, 14, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{18, 24, 10, 4, 14, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{19, UPB_SIZE(28, 32), 0, 5, 14, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{999, UPB_SIZE(32, 40), 0, 0, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{1, 4, 1, 1, 14, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, 8, 2, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, 9, 3, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{5, 10, 4, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{6, 12, 5, 2, 14, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{10, 16, 6, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{15, 17, 7, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{16, 18, 8, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{17, 20, 9, 3, 14, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{18, 24, 10, 4, 14, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{19, UPB_SIZE(28, 32), 0, 5, 14, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{999, UPB_SIZE(32, 40), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_FieldOptions_msg_init = { |
|
|
|
@ -1351,7 +1364,7 @@ static const upb_MiniTableSub google_protobuf_OneofOptions_submsgs[1] = { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_OneofOptions__fields[1] = { |
|
|
|
|
{999, 0, 0, 0, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{999, 0, 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_OneofOptions_msg_init = { |
|
|
|
@ -1399,10 +1412,10 @@ static const upb_MiniTableSub google_protobuf_EnumOptions_submsgs[1] = { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_EnumOptions__fields[4] = { |
|
|
|
|
{2, 1, 1, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, 2, 2, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{6, 3, 3, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{999, UPB_SIZE(4, 8), 0, 0, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, 1, 1, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, 2, 2, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{6, 3, 3, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{999, UPB_SIZE(4, 8), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_EnumOptions_msg_init = { |
|
|
|
@ -1450,9 +1463,9 @@ static const upb_MiniTableSub google_protobuf_EnumValueOptions_submsgs[1] = { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_EnumValueOptions__fields[3] = { |
|
|
|
|
{1, 1, 1, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, 2, 2, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{999, UPB_SIZE(4, 8), 0, 0, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{1, 1, 1, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, 2, 2, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{999, UPB_SIZE(4, 8), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_EnumValueOptions_msg_init = { |
|
|
|
@ -1500,8 +1513,8 @@ static const upb_MiniTableSub google_protobuf_ServiceOptions_submsgs[1] = { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_ServiceOptions__fields[2] = { |
|
|
|
|
{33, 1, 1, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{999, UPB_SIZE(4, 8), 0, 0, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{33, 1, 1, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{999, UPB_SIZE(4, 8), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_ServiceOptions_msg_init = { |
|
|
|
@ -1550,9 +1563,9 @@ static const upb_MiniTableSub google_protobuf_MethodOptions_submsgs[2] = { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_MethodOptions__fields[3] = { |
|
|
|
|
{33, 1, 1, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{34, 4, 2, 1, 14, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{999, 8, 0, 0, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{33, 1, 1, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{34, 4, 2, 1, 14, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{999, 8, 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_MethodOptions_msg_init = { |
|
|
|
@ -1600,13 +1613,13 @@ static const upb_MiniTableSub google_protobuf_UninterpretedOption_submsgs[1] = { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_UninterpretedOption__fields[7] = { |
|
|
|
|
{2, UPB_SIZE(4, 8), 0, 0, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(8, 16), 1, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{4, UPB_SIZE(16, 32), 2, kUpb_NoSub, 4, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{5, UPB_SIZE(24, 40), 3, kUpb_NoSub, 3, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{6, UPB_SIZE(32, 48), 4, kUpb_NoSub, 1, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{7, UPB_SIZE(40, 56), 5, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{8, UPB_SIZE(48, 72), 6, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, UPB_SIZE(4, 8), 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(8, 16), 1, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{4, UPB_SIZE(16, 32), 2, kUpb_NoSub, 4, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{5, UPB_SIZE(24, 40), 3, kUpb_NoSub, 3, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{6, UPB_SIZE(32, 48), 4, kUpb_NoSub, 1, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{7, UPB_SIZE(40, 56), 5, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{8, UPB_SIZE(48, 72), 6, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_UninterpretedOption_msg_init = { |
|
|
|
@ -1634,8 +1647,8 @@ const upb_MiniTable google_protobuf_UninterpretedOption_msg_init = { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_UninterpretedOption_NamePart__fields[2] = { |
|
|
|
|
{1, UPB_SIZE(4, 8), 1, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, 1, 2, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{1, UPB_SIZE(4, 8), 1, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, 1, 2, kUpb_NoSub, 8, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_UninterpretedOption_NamePart_msg_init = { |
|
|
|
@ -1655,7 +1668,7 @@ static const upb_MiniTableSub google_protobuf_SourceCodeInfo_submsgs[1] = { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_SourceCodeInfo__fields[1] = { |
|
|
|
|
{1, 0, 0, 0, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{1, 0, 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_SourceCodeInfo_msg_init = { |
|
|
|
@ -1669,11 +1682,11 @@ const upb_MiniTable google_protobuf_SourceCodeInfo_msg_init = { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_SourceCodeInfo_Location__fields[5] = { |
|
|
|
|
{1, UPB_SIZE(4, 8), 0, kUpb_NoSub, 5, kUpb_FieldMode_Array | kUpb_LabelFlags_IsPacked | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, UPB_SIZE(8, 16), 0, kUpb_NoSub, 5, kUpb_FieldMode_Array | kUpb_LabelFlags_IsPacked | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(16, 24), 1, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{4, UPB_SIZE(24, 40), 2, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{6, UPB_SIZE(12, 56), 0, kUpb_NoSub, 12, kUpb_FieldMode_Array | kUpb_LabelFlags_IsAlternate | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{1, UPB_SIZE(4, 8), 0, kUpb_NoSub, 5, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsPacked | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, UPB_SIZE(8, 16), 0, kUpb_NoSub, 5, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsPacked | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(16, 24), 1, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{4, UPB_SIZE(24, 40), 2, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{6, UPB_SIZE(12, 56), 0, kUpb_NoSub, 12, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsAlternate | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_SourceCodeInfo_Location_msg_init = { |
|
|
|
@ -1697,7 +1710,7 @@ static const upb_MiniTableSub google_protobuf_GeneratedCodeInfo_submsgs[1] = { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_GeneratedCodeInfo__fields[1] = { |
|
|
|
|
{1, 0, 0, 0, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{1, 0, 0, 0, 11, (int)kUpb_FieldMode_Array | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_GeneratedCodeInfo_msg_init = { |
|
|
|
@ -1715,11 +1728,11 @@ static const upb_MiniTableSub google_protobuf_GeneratedCodeInfo_Annotation_subms |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const upb_MiniTableField google_protobuf_GeneratedCodeInfo_Annotation__fields[5] = { |
|
|
|
|
{1, UPB_SIZE(4, 16), 0, kUpb_NoSub, 5, kUpb_FieldMode_Array | kUpb_LabelFlags_IsPacked | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, UPB_SIZE(20, 24), 1, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(8, 4), 2, kUpb_NoSub, 5, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{4, UPB_SIZE(12, 8), 3, kUpb_NoSub, 5, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{5, UPB_SIZE(16, 12), 4, 0, 14, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{1, UPB_SIZE(4, 16), 0, kUpb_NoSub, 5, (int)kUpb_FieldMode_Array | (int)kUpb_LabelFlags_IsPacked | ((int)UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)}, |
|
|
|
|
{2, UPB_SIZE(20, 24), 1, kUpb_NoSub, 12, (int)kUpb_FieldMode_Scalar | (int)kUpb_LabelFlags_IsAlternate | ((int)kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)}, |
|
|
|
|
{3, UPB_SIZE(8, 4), 2, kUpb_NoSub, 5, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{4, UPB_SIZE(12, 8), 3, kUpb_NoSub, 5, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
{5, UPB_SIZE(16, 12), 4, 0, 14, (int)kUpb_FieldMode_Scalar | ((int)kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)}, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const upb_MiniTable google_protobuf_GeneratedCodeInfo_Annotation_msg_init = { |
|
|
|
@ -3120,6 +3133,11 @@ void upb_strtable_removeiter(upb_strtable* t, intptr_t* iter) { |
|
|
|
|
ent->next = NULL; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void upb_strtable_setentryvalue(upb_strtable* t, intptr_t iter, upb_value v) { |
|
|
|
|
upb_tabent* ent = &t->t.entries[iter]; |
|
|
|
|
ent->val.val = v.val; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include <errno.h> |
|
|
|
|
#include <float.h> |
|
|
|
@ -6096,19 +6114,6 @@ const upb_MiniTableField* upb_MiniTable_FindFieldByNumber( |
|
|
|
|
return NULL; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
upb_FieldType upb_MiniTableField_Type(const upb_MiniTableField* field) { |
|
|
|
|
if (field->mode & kUpb_LabelFlags_IsAlternate) { |
|
|
|
|
if (field->UPB_PRIVATE(descriptortype) == kUpb_FieldType_Int32) { |
|
|
|
|
return kUpb_FieldType_Enum; |
|
|
|
|
} else if (field->UPB_PRIVATE(descriptortype) == kUpb_FieldType_Bytes) { |
|
|
|
|
return kUpb_FieldType_String; |
|
|
|
|
} else { |
|
|
|
|
UPB_ASSERT(false); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return field->UPB_PRIVATE(descriptortype); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static bool upb_MiniTable_Is_Oneof(const upb_MiniTableField* f) { |
|
|
|
|
return f->presence < 0; |
|
|
|
|
} |
|
|
|
@ -6554,7 +6559,7 @@ static void upb_MtDecoder_AllocateSubs(upb_MtDecoder* d, |
|
|
|
|
upb_MtDecoder_CheckOutOfMemory(d, subs); |
|
|
|
|
uint32_t i = 0; |
|
|
|
|
for (; i < sub_counts.submsg_count; i++) { |
|
|
|
|
subs[i].submsg = NULL; // &kUpb_MiniTable_Empty;
|
|
|
|
|
subs[i].submsg = &_kUpb_MiniTable_Empty; |
|
|
|
|
} |
|
|
|
|
if (sub_counts.subenum_count) { |
|
|
|
|
upb_MiniTableField* f = d->fields; |
|
|
|
@ -7169,6 +7174,9 @@ bool upb_MiniTable_SetSubMessage(upb_MiniTable* table, |
|
|
|
|
|
|
|
|
|
upb_MiniTableSub* table_sub = |
|
|
|
|
(void*)&table->subs[field->UPB_PRIVATE(submsg_index)]; |
|
|
|
|
// TODO(haberman): Add this assert back once YouTube is updated to not call
|
|
|
|
|
// this function repeatedly.
|
|
|
|
|
// UPB_ASSERT(table_sub->submsg == &_kUpb_MiniTable_Empty);
|
|
|
|
|
table_sub->submsg = sub; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
@ -7607,6 +7615,18 @@ const upb_MiniTableExtension* upb_ExtensionRegistry_Lookup( |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const upb_MiniTable _kUpb_MiniTable_Empty = { |
|
|
|
|
.subs = NULL, |
|
|
|
|
.fields = NULL, |
|
|
|
|
.size = 0, |
|
|
|
|
.field_count = 0, |
|
|
|
|
.ext = kUpb_ExtMode_NonExtendable, |
|
|
|
|
.dense_below = 0, |
|
|
|
|
.table_mask = -1, |
|
|
|
|
.required_count = 0, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
#include <string.h> |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -10783,6 +10803,7 @@ void _upb_MessageDef_LinkMiniTable(upb_DefBuilder* ctx, |
|
|
|
|
UPB_ASSERT(layout_index < m->layout->field_count); |
|
|
|
|
const upb_MiniTableField* mt_f = &m->layout->fields[layout_index]; |
|
|
|
|
UPB_ASSERT(upb_FieldDef_Type(f) == upb_MiniTableField_Type(mt_f)); |
|
|
|
|
UPB_ASSERT(upb_FieldDef_CType(f) == upb_MiniTableField_CType(mt_f)); |
|
|
|
|
UPB_ASSERT(upb_FieldDef_HasPresence(f) == |
|
|
|
|
upb_MiniTableField_HasPresence(mt_f)); |
|
|
|
|
} |
|
|
|
@ -11607,16 +11628,53 @@ static void _upb_Decoder_Munge(int type, wireval* val) { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static upb_Message* _upb_Decoder_NewSubMessage( |
|
|
|
|
upb_Decoder* d, const upb_MiniTableSub* subs, |
|
|
|
|
const upb_MiniTableField* field) { |
|
|
|
|
static upb_Message* _upb_Decoder_NewSubMessage(upb_Decoder* d, |
|
|
|
|
const upb_MiniTableSub* subs, |
|
|
|
|
const upb_MiniTableField* field, |
|
|
|
|
upb_TaggedMessagePtr* target) { |
|
|
|
|
const upb_MiniTable* subl = subs[field->UPB_PRIVATE(submsg_index)].submsg; |
|
|
|
|
UPB_ASSERT(subl); |
|
|
|
|
upb_Message* msg = _upb_Message_New(subl, &d->arena); |
|
|
|
|
if (!msg) _upb_Decoder_ErrorJmp(d, kUpb_DecodeStatus_OutOfMemory); |
|
|
|
|
|
|
|
|
|
// Extensions should not be unlinked. A message extension should not be
|
|
|
|
|
// registered until its sub-message type is available to be linked.
|
|
|
|
|
bool is_empty = subl == &_kUpb_MiniTable_Empty; |
|
|
|
|
bool is_extension = field->mode & kUpb_LabelFlags_IsExtension; |
|
|
|
|
UPB_ASSERT(!(is_empty && is_extension)); |
|
|
|
|
|
|
|
|
|
if (is_empty && !(d->options & kUpb_DecodeOption_ExperimentalAllowUnlinked)) { |
|
|
|
|
_upb_Decoder_ErrorJmp(d, kUpb_DecodeStatus_UnlinkedSubMessage); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
upb_TaggedMessagePtr tagged = _upb_TaggedMessagePtr_Pack(msg, is_empty); |
|
|
|
|
memcpy(target, &tagged, sizeof(tagged)); |
|
|
|
|
return msg; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static upb_Message* _upb_Decoder_ReuseSubMessage( |
|
|
|
|
upb_Decoder* d, const upb_MiniTableSub* subs, |
|
|
|
|
const upb_MiniTableField* field, upb_TaggedMessagePtr* target) { |
|
|
|
|
upb_TaggedMessagePtr tagged = *target; |
|
|
|
|
const upb_MiniTable* subl = subs[field->UPB_PRIVATE(submsg_index)].submsg; |
|
|
|
|
UPB_ASSERT(subl); |
|
|
|
|
if (!upb_TaggedMessagePtr_IsEmpty(tagged) || subl == &_kUpb_MiniTable_Empty) { |
|
|
|
|
return _upb_TaggedMessagePtr_GetMessage(tagged); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// We found an empty message from a previous parse that was performed before
|
|
|
|
|
// this field was linked. But it is linked now, so we want to allocate a new
|
|
|
|
|
// message of the correct type and promote data into it before continuing.
|
|
|
|
|
upb_Message* existing = _upb_TaggedMessagePtr_GetEmptyMessage(tagged); |
|
|
|
|
upb_Message* promoted = _upb_Decoder_NewSubMessage(d, subs, field, target); |
|
|
|
|
size_t size; |
|
|
|
|
const char* unknown = upb_Message_GetUnknown(existing, &size); |
|
|
|
|
upb_DecodeStatus status = upb_Decode(unknown, size, promoted, subl, d->extreg, |
|
|
|
|
d->options, &d->arena); |
|
|
|
|
if (status != kUpb_DecodeStatus_Ok) _upb_Decoder_ErrorJmp(d, status); |
|
|
|
|
return promoted; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static const char* _upb_Decoder_ReadString(upb_Decoder* d, const char* ptr, |
|
|
|
|
int size, upb_StringView* str) { |
|
|
|
|
const char* str_ptr = ptr; |
|
|
|
@ -11903,9 +11961,9 @@ static const char* _upb_Decoder_DecodeToArray(upb_Decoder* d, const char* ptr, |
|
|
|
|
} |
|
|
|
|
case kUpb_DecodeOp_SubMessage: { |
|
|
|
|
/* Append submessage / group. */ |
|
|
|
|
upb_Message* submsg = _upb_Decoder_NewSubMessage(d, subs, field); |
|
|
|
|
*UPB_PTR_AT(_upb_array_ptr(arr), arr->size * sizeof(void*), |
|
|
|
|
upb_Message*) = submsg; |
|
|
|
|
upb_TaggedMessagePtr* target = UPB_PTR_AT( |
|
|
|
|
_upb_array_ptr(arr), arr->size * sizeof(void*), upb_TaggedMessagePtr); |
|
|
|
|
upb_Message* submsg = _upb_Decoder_NewSubMessage(d, subs, field, target); |
|
|
|
|
arr->size++; |
|
|
|
|
if (UPB_UNLIKELY(field->UPB_PRIVATE(descriptortype) == |
|
|
|
|
kUpb_FieldType_Group)) { |
|
|
|
@ -11979,6 +12037,7 @@ static const char* _upb_Decoder_DecodeToMap(upb_Decoder* d, const char* ptr, |
|
|
|
|
UPB_ASSERT(upb_MiniTableField_Type(field) == kUpb_FieldType_Message); |
|
|
|
|
const upb_MiniTable* entry = subs[field->UPB_PRIVATE(submsg_index)].submsg; |
|
|
|
|
|
|
|
|
|
UPB_ASSERT(entry); |
|
|
|
|
UPB_ASSERT(entry->field_count == 2); |
|
|
|
|
UPB_ASSERT(!upb_IsRepeatedOrMap(&entry->fields[0])); |
|
|
|
|
UPB_ASSERT(!upb_IsRepeatedOrMap(&entry->fields[1])); |
|
|
|
@ -11993,13 +12052,10 @@ static const char* _upb_Decoder_DecodeToMap(upb_Decoder* d, const char* ptr, |
|
|
|
|
|
|
|
|
|
if (entry->fields[1].UPB_PRIVATE(descriptortype) == kUpb_FieldType_Message || |
|
|
|
|
entry->fields[1].UPB_PRIVATE(descriptortype) == kUpb_FieldType_Group) { |
|
|
|
|
const upb_MiniTable* submsg_table = entry->subs[0].submsg; |
|
|
|
|
// Any sub-message entry must be linked. We do not allow dynamic tree
|
|
|
|
|
// shaking in this case.
|
|
|
|
|
UPB_ASSERT(submsg_table); |
|
|
|
|
|
|
|
|
|
// Create proactively to handle the case where it doesn't appear. */
|
|
|
|
|
ent.data.v.val = upb_value_ptr(_upb_Message_New(submsg_table, &d->arena)); |
|
|
|
|
// Create proactively to handle the case where it doesn't appear.
|
|
|
|
|
upb_TaggedMessagePtr msg; |
|
|
|
|
_upb_Decoder_NewSubMessage(d, entry->subs, &entry->fields[1], &msg); |
|
|
|
|
ent.data.v.val = upb_value_uintptr(msg); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ptr = |
|
|
|
@ -12059,11 +12115,12 @@ static const char* _upb_Decoder_DecodeToSubMessage( |
|
|
|
|
/* Store into message. */ |
|
|
|
|
switch (op) { |
|
|
|
|
case kUpb_DecodeOp_SubMessage: { |
|
|
|
|
upb_Message** submsgp = mem; |
|
|
|
|
upb_Message* submsg = *submsgp; |
|
|
|
|
if (!submsg) { |
|
|
|
|
submsg = _upb_Decoder_NewSubMessage(d, subs, field); |
|
|
|
|
*submsgp = submsg; |
|
|
|
|
upb_TaggedMessagePtr* submsgp = mem; |
|
|
|
|
upb_Message* submsg; |
|
|
|
|
if (*submsgp) { |
|
|
|
|
submsg = _upb_Decoder_ReuseSubMessage(d, subs, field, submsgp); |
|
|
|
|
} else { |
|
|
|
|
submsg = _upb_Decoder_NewSubMessage(d, subs, field, submsgp); |
|
|
|
|
} |
|
|
|
|
if (UPB_UNLIKELY(type == kUpb_FieldType_Group)) { |
|
|
|
|
ptr = _upb_Decoder_DecodeKnownGroup(d, ptr, submsg, subs, field); |
|
|
|
@ -12167,11 +12224,10 @@ static void upb_Decoder_AddKnownMessageSetItem( |
|
|
|
|
if (UPB_UNLIKELY(!ext)) { |
|
|
|
|
_upb_Decoder_ErrorJmp(d, kUpb_DecodeStatus_OutOfMemory); |
|
|
|
|
} |
|
|
|
|
upb_Message* submsg = |
|
|
|
|
_upb_Decoder_NewSubMessage(d, &ext->ext->sub, &ext->ext->field); |
|
|
|
|
upb_Message* submsg = _upb_Decoder_NewSubMessage( |
|
|
|
|
d, &ext->ext->sub, &ext->ext->field, (upb_TaggedMessagePtr*)&ext->data); |
|
|
|
|
upb_DecodeStatus status = upb_Decode(data, size, submsg, item_mt->sub.submsg, |
|
|
|
|
d->extreg, d->options, &d->arena); |
|
|
|
|
memcpy(&ext->data, &submsg, sizeof(submsg)); |
|
|
|
|
if (status != kUpb_DecodeStatus_Ok) _upb_Decoder_ErrorJmp(d, status); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -12350,13 +12406,16 @@ int _upb_Decoder_GetVarintOp(const upb_MiniTableField* field) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
UPB_FORCEINLINE |
|
|
|
|
static void _upb_Decoder_CheckUnlinked(const upb_MiniTable* mt, |
|
|
|
|
static void _upb_Decoder_CheckUnlinked(upb_Decoder* d, const upb_MiniTable* mt, |
|
|
|
|
const upb_MiniTableField* field, |
|
|
|
|
int* op) { |
|
|
|
|
// If sub-message is not linked, treat as unknown.
|
|
|
|
|
if (field->mode & kUpb_LabelFlags_IsExtension) return; |
|
|
|
|
const upb_MiniTableSub* sub = &mt->subs[field->UPB_PRIVATE(submsg_index)]; |
|
|
|
|
if (sub->submsg) return; |
|
|
|
|
if ((d->options & kUpb_DecodeOption_ExperimentalAllowUnlinked) || |
|
|
|
|
sub->submsg != &_kUpb_MiniTable_Empty) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
#ifndef NDEBUG |
|
|
|
|
const upb_MiniTableField* oneof = upb_MiniTable_GetOneof(mt, field); |
|
|
|
|
if (oneof) { |
|
|
|
@ -12373,7 +12432,7 @@ static void _upb_Decoder_CheckUnlinked(const upb_MiniTable* mt, |
|
|
|
|
*op = kUpb_DecodeOp_UnknownField; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int _upb_Decoder_GetDelimitedOp(const upb_MiniTable* mt, |
|
|
|
|
int _upb_Decoder_GetDelimitedOp(upb_Decoder* d, const upb_MiniTable* mt, |
|
|
|
|
const upb_MiniTableField* field) { |
|
|
|
|
enum { kRepeatedBase = 19 }; |
|
|
|
|
|
|
|
|
@ -12428,7 +12487,7 @@ int _upb_Decoder_GetDelimitedOp(const upb_MiniTable* mt, |
|
|
|
|
int op = kDelimitedOps[ndx]; |
|
|
|
|
|
|
|
|
|
if (op == kUpb_DecodeOp_SubMessage) { |
|
|
|
|
_upb_Decoder_CheckUnlinked(mt, field, &op); |
|
|
|
|
_upb_Decoder_CheckUnlinked(d, mt, field, &op); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return op; |
|
|
|
@ -12468,13 +12527,13 @@ static const char* _upb_Decoder_DecodeWireValue(upb_Decoder* d, const char* ptr, |
|
|
|
|
return upb_WireReader_ReadFixed64(ptr, &val->uint64_val); |
|
|
|
|
case kUpb_WireType_Delimited: |
|
|
|
|
ptr = upb_Decoder_DecodeSize(d, ptr, &val->size); |
|
|
|
|
*op = _upb_Decoder_GetDelimitedOp(mt, field); |
|
|
|
|
*op = _upb_Decoder_GetDelimitedOp(d, mt, field); |
|
|
|
|
return ptr; |
|
|
|
|
case kUpb_WireType_StartGroup: |
|
|
|
|
val->uint32_val = field->number; |
|
|
|
|
if (field->UPB_PRIVATE(descriptortype) == kUpb_FieldType_Group) { |
|
|
|
|
*op = kUpb_DecodeOp_SubMessage; |
|
|
|
|
_upb_Decoder_CheckUnlinked(mt, field, op); |
|
|
|
|
_upb_Decoder_CheckUnlinked(d, mt, field, op); |
|
|
|
|
} else if (field->UPB_PRIVATE(descriptortype) == |
|
|
|
|
kUpb_FakeFieldType_MessageSetItem) { |
|
|
|
|
*op = kUpb_DecodeOp_MessageSetItem; |
|
|
|
@ -13893,6 +13952,15 @@ static void encode_fixedarray(upb_encstate* e, const upb_Array* arr, |
|
|
|
|
static void encode_message(upb_encstate* e, const upb_Message* msg, |
|
|
|
|
const upb_MiniTable* m, size_t* size); |
|
|
|
|
|
|
|
|
|
static void encode_TaggedMessagePtr(upb_encstate* e, |
|
|
|
|
upb_TaggedMessagePtr tagged, |
|
|
|
|
const upb_MiniTable* m, size_t* size) { |
|
|
|
|
if (upb_TaggedMessagePtr_IsEmpty(tagged)) { |
|
|
|
|
m = &_kUpb_MiniTable_Empty; |
|
|
|
|
} |
|
|
|
|
encode_message(e, _upb_TaggedMessagePtr_GetMessage(tagged), m, size); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void encode_scalar(upb_encstate* e, const void* _field_mem, |
|
|
|
|
const upb_MiniTableSub* subs, |
|
|
|
|
const upb_MiniTableField* f) { |
|
|
|
@ -13942,27 +14010,27 @@ static void encode_scalar(upb_encstate* e, const void* _field_mem, |
|
|
|
|
} |
|
|
|
|
case kUpb_FieldType_Group: { |
|
|
|
|
size_t size; |
|
|
|
|
void* submsg = *(void**)field_mem; |
|
|
|
|
upb_TaggedMessagePtr submsg = *(upb_TaggedMessagePtr*)field_mem; |
|
|
|
|
const upb_MiniTable* subm = subs[f->UPB_PRIVATE(submsg_index)].submsg; |
|
|
|
|
if (submsg == NULL) { |
|
|
|
|
if (submsg == 0) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
if (--e->depth == 0) encode_err(e, kUpb_EncodeStatus_MaxDepthExceeded); |
|
|
|
|
encode_tag(e, f->number, kUpb_WireType_EndGroup); |
|
|
|
|
encode_message(e, submsg, subm, &size); |
|
|
|
|
encode_TaggedMessagePtr(e, submsg, subm, &size); |
|
|
|
|
wire_type = kUpb_WireType_StartGroup; |
|
|
|
|
e->depth++; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
case kUpb_FieldType_Message: { |
|
|
|
|
size_t size; |
|
|
|
|
void* submsg = *(void**)field_mem; |
|
|
|
|
upb_TaggedMessagePtr submsg = *(upb_TaggedMessagePtr*)field_mem; |
|
|
|
|
const upb_MiniTable* subm = subs[f->UPB_PRIVATE(submsg_index)].submsg; |
|
|
|
|
if (submsg == NULL) { |
|
|
|
|
if (submsg == 0) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
if (--e->depth == 0) encode_err(e, kUpb_EncodeStatus_MaxDepthExceeded); |
|
|
|
|
encode_message(e, submsg, subm, &size); |
|
|
|
|
encode_TaggedMessagePtr(e, submsg, subm, &size); |
|
|
|
|
encode_varint(e, size); |
|
|
|
|
wire_type = kUpb_WireType_Delimited; |
|
|
|
|
e->depth++; |
|
|
|
@ -14044,29 +14112,29 @@ static void encode_array(upb_encstate* e, const upb_Message* msg, |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
case kUpb_FieldType_Group: { |
|
|
|
|
const void* const* start = _upb_array_constptr(arr); |
|
|
|
|
const void* const* ptr = start + arr->size; |
|
|
|
|
const upb_TaggedMessagePtr* start = _upb_array_constptr(arr); |
|
|
|
|
const upb_TaggedMessagePtr* ptr = start + arr->size; |
|
|
|
|
const upb_MiniTable* subm = subs[f->UPB_PRIVATE(submsg_index)].submsg; |
|
|
|
|
if (--e->depth == 0) encode_err(e, kUpb_EncodeStatus_MaxDepthExceeded); |
|
|
|
|
do { |
|
|
|
|
size_t size; |
|
|
|
|
ptr--; |
|
|
|
|
encode_tag(e, f->number, kUpb_WireType_EndGroup); |
|
|
|
|
encode_message(e, *ptr, subm, &size); |
|
|
|
|
encode_TaggedMessagePtr(e, *ptr, subm, &size); |
|
|
|
|
encode_tag(e, f->number, kUpb_WireType_StartGroup); |
|
|
|
|
} while (ptr != start); |
|
|
|
|
e->depth++; |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
case kUpb_FieldType_Message: { |
|
|
|
|
const void* const* start = _upb_array_constptr(arr); |
|
|
|
|
const void* const* ptr = start + arr->size; |
|
|
|
|
const upb_TaggedMessagePtr* start = _upb_array_constptr(arr); |
|
|
|
|
const upb_TaggedMessagePtr* ptr = start + arr->size; |
|
|
|
|
const upb_MiniTable* subm = subs[f->UPB_PRIVATE(submsg_index)].submsg; |
|
|
|
|
if (--e->depth == 0) encode_err(e, kUpb_EncodeStatus_MaxDepthExceeded); |
|
|
|
|
do { |
|
|
|
|
size_t size; |
|
|
|
|
ptr--; |
|
|
|
|
encode_message(e, *ptr, subm, &size); |
|
|
|
|
encode_TaggedMessagePtr(e, *ptr, subm, &size); |
|
|
|
|
encode_varint(e, size); |
|
|
|
|
encode_tag(e, f->number, kUpb_WireType_Delimited); |
|
|
|
|
} while (ptr != start); |
|
|
|
|