|
|
|
@ -318,8 +318,13 @@ void __asan_unpoison_memory_region(void const volatile *addr, size_t size); |
|
|
|
|
|
|
|
|
|
#if defined(UPB_IS_GOOGLE3) && !defined(UPB_BOOTSTRAP_STAGE0) |
|
|
|
|
#define UPB_DESC(sym) proto2_##sym |
|
|
|
|
#define UPB_DESC_MINITABLE(sym) &proto2__##sym##_msg_init |
|
|
|
|
#elif defined(UPB_BOOTSTRAP_STAGE0) |
|
|
|
|
#define UPB_DESC(sym) google_protobuf_##sym |
|
|
|
|
#define UPB_DESC_MINITABLE(sym) google__protobuf__##sym##_msg_init() |
|
|
|
|
#else |
|
|
|
|
#define UPB_DESC(sym) google_protobuf_##sym |
|
|
|
|
#define UPB_DESC_MINITABLE(sym) &google__protobuf__##sym##_msg_init |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#ifndef UPB_BASE_STATUS_H_ |
|
|
|
@ -10156,6 +10161,9 @@ UPB_API void upb_DefPool_Free(upb_DefPool* s); |
|
|
|
|
|
|
|
|
|
UPB_API upb_DefPool* upb_DefPool_New(void); |
|
|
|
|
|
|
|
|
|
UPB_API const UPB_DESC(FeatureSetDefaults) * |
|
|
|
|
upb_DefPool_FeatureSetDefaults(const upb_DefPool* s); |
|
|
|
|
|
|
|
|
|
UPB_API const upb_MessageDef* upb_DefPool_FindMessageByName( |
|
|
|
|
const upb_DefPool* s, const char* sym); |
|
|
|
|
|
|
|
|
@ -10247,6 +10255,7 @@ bool upb_EnumDef_MiniDescriptorEncode(const upb_EnumDef* e, upb_Arena* a, |
|
|
|
|
|
|
|
|
|
const char* upb_EnumDef_Name(const upb_EnumDef* e); |
|
|
|
|
const UPB_DESC(EnumOptions) * upb_EnumDef_Options(const upb_EnumDef* e); |
|
|
|
|
const UPB_DESC(FeatureSet) * upb_EnumDef_ResolvedFeatures(const upb_EnumDef* e); |
|
|
|
|
|
|
|
|
|
upb_StringView upb_EnumDef_ReservedName(const upb_EnumDef* e, int i); |
|
|
|
|
int upb_EnumDef_ReservedNameCount(const upb_EnumDef* e); |
|
|
|
@ -10285,6 +10294,8 @@ UPB_API const char* upb_EnumValueDef_Name(const upb_EnumValueDef* v); |
|
|
|
|
UPB_API int32_t upb_EnumValueDef_Number(const upb_EnumValueDef* v); |
|
|
|
|
const UPB_DESC(EnumValueOptions) * |
|
|
|
|
upb_EnumValueDef_Options(const upb_EnumValueDef* v); |
|
|
|
|
const UPB_DESC(FeatureSet) * |
|
|
|
|
upb_EnumValueDef_ResolvedFeatures(const upb_EnumValueDef* e); |
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
|
|
|
} /* extern "C" */ |
|
|
|
@ -10311,6 +10322,8 @@ int32_t upb_ExtensionRange_End(const upb_ExtensionRange* r); |
|
|
|
|
bool upb_ExtensionRange_HasOptions(const upb_ExtensionRange* r); |
|
|
|
|
const UPB_DESC(ExtensionRangeOptions) * |
|
|
|
|
upb_ExtensionRange_Options(const upb_ExtensionRange* r); |
|
|
|
|
const UPB_DESC(FeatureSet) * |
|
|
|
|
upb_ExtensionRange_ResolvedFeatures(const upb_ExtensionRange* e); |
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
|
|
|
} /* extern "C" */ |
|
|
|
@ -10372,6 +10385,8 @@ const upb_MiniTableField* upb_FieldDef_MiniTable(const upb_FieldDef* f); |
|
|
|
|
UPB_API const char* upb_FieldDef_Name(const upb_FieldDef* f); |
|
|
|
|
UPB_API uint32_t upb_FieldDef_Number(const upb_FieldDef* f); |
|
|
|
|
const UPB_DESC(FieldOptions) * upb_FieldDef_Options(const upb_FieldDef* f); |
|
|
|
|
const UPB_DESC(FeatureSet) * |
|
|
|
|
upb_FieldDef_ResolvedFeatures(const upb_FieldDef* f); |
|
|
|
|
UPB_API const upb_OneofDef* upb_FieldDef_RealContainingOneof( |
|
|
|
|
const upb_FieldDef* f); |
|
|
|
|
UPB_API upb_FieldType upb_FieldDef_Type(const upb_FieldDef* f); |
|
|
|
@ -10400,6 +10415,7 @@ int upb_FileDef_DependencyCount(const upb_FileDef* f); |
|
|
|
|
bool upb_FileDef_HasOptions(const upb_FileDef* f); |
|
|
|
|
UPB_API const char* upb_FileDef_Name(const upb_FileDef* f); |
|
|
|
|
const UPB_DESC(FileOptions) * upb_FileDef_Options(const upb_FileDef* f); |
|
|
|
|
const UPB_DESC(FeatureSet) * upb_FileDef_ResolvedFeatures(const upb_FileDef* f); |
|
|
|
|
const char* upb_FileDef_Package(const upb_FileDef* f); |
|
|
|
|
UPB_DESC(Edition) upb_FileDef_Edition(const upb_FileDef* f); |
|
|
|
|
UPB_API const upb_DefPool* upb_FileDef_Pool(const upb_FileDef* f); |
|
|
|
@ -10559,6 +10575,8 @@ int upb_MessageDef_RealOneofCount(const upb_MessageDef* m); |
|
|
|
|
|
|
|
|
|
const UPB_DESC(MessageOptions) * |
|
|
|
|
upb_MessageDef_Options(const upb_MessageDef* m); |
|
|
|
|
const UPB_DESC(FeatureSet) * |
|
|
|
|
upb_MessageDef_ResolvedFeatures(const upb_MessageDef* m); |
|
|
|
|
|
|
|
|
|
upb_StringView upb_MessageDef_ReservedName(const upb_MessageDef* m, int i); |
|
|
|
|
int upb_MessageDef_ReservedNameCount(const upb_MessageDef* m); |
|
|
|
@ -10596,6 +10614,8 @@ int upb_MethodDef_Index(const upb_MethodDef* m); |
|
|
|
|
const upb_MessageDef* upb_MethodDef_InputType(const upb_MethodDef* m); |
|
|
|
|
const char* upb_MethodDef_Name(const upb_MethodDef* m); |
|
|
|
|
const UPB_DESC(MethodOptions) * upb_MethodDef_Options(const upb_MethodDef* m); |
|
|
|
|
const UPB_DESC(FeatureSet) * |
|
|
|
|
upb_MethodDef_ResolvedFeatures(const upb_MethodDef* m); |
|
|
|
|
const upb_MessageDef* upb_MethodDef_OutputType(const upb_MethodDef* m); |
|
|
|
|
bool upb_MethodDef_ServerStreaming(const upb_MethodDef* m); |
|
|
|
|
const upb_ServiceDef* upb_MethodDef_Service(const upb_MethodDef* m); |
|
|
|
@ -10636,7 +10656,9 @@ const upb_FieldDef* upb_OneofDef_LookupNumber(const upb_OneofDef* o, |
|
|
|
|
uint32_t num); |
|
|
|
|
UPB_API const char* upb_OneofDef_Name(const upb_OneofDef* o); |
|
|
|
|
int upb_OneofDef_numfields(const upb_OneofDef* o); |
|
|
|
|
const UPB_DESC(OneofOptions) * upb_OneofDef_Options(const upb_OneofDef* o); |
|
|
|
|
const UPB_DESC(OneofOptions*) upb_OneofDef_Options(const upb_OneofDef* o); |
|
|
|
|
const UPB_DESC(FeatureSet*) |
|
|
|
|
upb_OneofDef_ResolvedFeatures(const upb_OneofDef* o); |
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
|
|
|
} /* extern "C" */ |
|
|
|
@ -10668,6 +10690,8 @@ int upb_ServiceDef_MethodCount(const upb_ServiceDef* s); |
|
|
|
|
const char* upb_ServiceDef_Name(const upb_ServiceDef* s); |
|
|
|
|
const UPB_DESC(ServiceOptions) * |
|
|
|
|
upb_ServiceDef_Options(const upb_ServiceDef* s); |
|
|
|
|
const UPB_DESC(FeatureSet) * |
|
|
|
|
upb_ServiceDef_ResolvedFeatures(const upb_ServiceDef* s); |
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
|
|
|
} /* extern "C" */ |
|
|
|
@ -12100,6 +12124,42 @@ UPB_INLINE const char* upb_WireReader_SkipValue( |
|
|
|
|
|
|
|
|
|
#endif // UPB_WIRE_READER_H_
|
|
|
|
|
|
|
|
|
|
#ifndef UPB_MESSAGE_COPY_H_ |
|
|
|
|
#define UPB_MESSAGE_COPY_H_ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Must be last.
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
|
|
|
extern "C" { |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
// Deep clones a message using the provided target arena.
|
|
|
|
|
upb_Message* upb_Message_DeepClone(const upb_Message* message, |
|
|
|
|
const upb_MiniTable* mini_table, |
|
|
|
|
upb_Arena* arena); |
|
|
|
|
|
|
|
|
|
// Deep clones array contents.
|
|
|
|
|
upb_Array* upb_Array_DeepClone(const upb_Array* array, upb_CType value_type, |
|
|
|
|
const upb_MiniTable* sub, upb_Arena* arena); |
|
|
|
|
|
|
|
|
|
// Deep clones map contents.
|
|
|
|
|
upb_Map* upb_Map_DeepClone(const upb_Map* map, upb_CType key_type, |
|
|
|
|
upb_CType value_type, |
|
|
|
|
const upb_MiniTable* map_entry_table, |
|
|
|
|
upb_Arena* arena); |
|
|
|
|
|
|
|
|
|
// Deep copies the message from src to dst.
|
|
|
|
|
bool upb_Message_DeepCopy(upb_Message* dst, const upb_Message* src, |
|
|
|
|
const upb_MiniTable* mini_table, upb_Arena* arena); |
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
|
|
|
} /* extern "C" */ |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif // UPB_MESSAGE_COPY_H_
|
|
|
|
|
|
|
|
|
|
// EVERYTHING BELOW THIS LINE IS INTERNAL - DO NOT USE /////////////////////////
|
|
|
|
|
|
|
|
|
|
#ifndef UPB_COLLECTIONS_INTERNAL_MAP_SORTER_H_ |
|
|
|
@ -12506,6 +12566,10 @@ extern "C" { |
|
|
|
|
|
|
|
|
|
struct upb_DefBuilder { |
|
|
|
|
upb_DefPool* symtab; |
|
|
|
|
upb_strtable feature_cache; // Caches features by identity.
|
|
|
|
|
UPB_DESC(FeatureSet*) legacy_features; // For computing legacy features.
|
|
|
|
|
char* tmp_buf; // Temporary buffer in tmp_arena.
|
|
|
|
|
size_t tmp_buf_size; // Size of temporary buffer.
|
|
|
|
|
upb_FileDef* file; // File we are building.
|
|
|
|
|
upb_Arena* arena; // Allocate defs here.
|
|
|
|
|
upb_Arena* tmp_arena; // For temporary allocations.
|
|
|
|
@ -12598,6 +12662,25 @@ UPB_INLINE void _upb_DefBuilder_CheckIdentFull(upb_DefBuilder* ctx, |
|
|
|
|
if (!good) _upb_DefBuilder_CheckIdentSlow(ctx, name, true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Returns true if the returned feature set is new and must be populated.
|
|
|
|
|
bool _upb_DefBuilder_GetOrCreateFeatureSet(upb_DefBuilder* ctx, |
|
|
|
|
const UPB_DESC(FeatureSet*) parent, |
|
|
|
|
upb_StringView key, |
|
|
|
|
UPB_DESC(FeatureSet**) set); |
|
|
|
|
|
|
|
|
|
const UPB_DESC(FeatureSet*) |
|
|
|
|
_upb_DefBuilder_DoResolveFeatures(upb_DefBuilder* ctx, |
|
|
|
|
const UPB_DESC(FeatureSet*) parent, |
|
|
|
|
const UPB_DESC(FeatureSet*) child, |
|
|
|
|
bool is_implicit); |
|
|
|
|
|
|
|
|
|
UPB_INLINE const UPB_DESC(FeatureSet*) |
|
|
|
|
_upb_DefBuilder_ResolveFeatures(upb_DefBuilder* ctx, |
|
|
|
|
const UPB_DESC(FeatureSet*) parent, |
|
|
|
|
const UPB_DESC(FeatureSet*) child) { |
|
|
|
|
return _upb_DefBuilder_DoResolveFeatures(ctx, parent, child, false); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
|
|
|
} /* extern "C" */ |
|
|
|
|
#endif |
|
|
|
@ -12620,10 +12703,11 @@ bool _upb_EnumDef_Insert(upb_EnumDef* e, upb_EnumValueDef* v, upb_Arena* a); |
|
|
|
|
const upb_MiniTableEnum* _upb_EnumDef_MiniTable(const upb_EnumDef* e); |
|
|
|
|
|
|
|
|
|
// Allocate and initialize an array of |n| enum defs.
|
|
|
|
|
upb_EnumDef* _upb_EnumDefs_New( |
|
|
|
|
upb_DefBuilder* ctx, int n, |
|
|
|
|
const UPB_DESC(EnumDescriptorProto) * const* protos, |
|
|
|
|
const upb_MessageDef* containing_type); |
|
|
|
|
upb_EnumDef* _upb_EnumDefs_New(upb_DefBuilder* ctx, int n, |
|
|
|
|
const UPB_DESC(EnumDescriptorProto*) |
|
|
|
|
const* protos, |
|
|
|
|
const UPB_DESC(FeatureSet*) parent_features, |
|
|
|
|
const upb_MessageDef* containing_type); |
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
|
|
|
} /* extern "C" */ |
|
|
|
@ -12647,7 +12731,8 @@ upb_EnumValueDef* _upb_EnumValueDef_At(const upb_EnumValueDef* v, int i); |
|
|
|
|
// Allocate and initialize an array of |n| enum value defs owned by |e|.
|
|
|
|
|
upb_EnumValueDef* _upb_EnumValueDefs_New( |
|
|
|
|
upb_DefBuilder* ctx, const char* prefix, int n, |
|
|
|
|
const UPB_DESC(EnumValueDescriptorProto) * const* protos, upb_EnumDef* e, |
|
|
|
|
const UPB_DESC(EnumValueDescriptorProto*) const* protos, |
|
|
|
|
const UPB_DESC(FeatureSet*) parent_features, upb_EnumDef* e, |
|
|
|
|
bool* is_sorted); |
|
|
|
|
|
|
|
|
|
const upb_EnumValueDef** _upb_EnumValueDefs_Sorted(const upb_EnumValueDef* v, |
|
|
|
@ -12684,16 +12769,19 @@ void _upb_FieldDef_BuildMiniTableExtension(upb_DefBuilder* ctx, |
|
|
|
|
const upb_FieldDef* f); |
|
|
|
|
|
|
|
|
|
// Allocate and initialize an array of |n| extensions (field defs).
|
|
|
|
|
upb_FieldDef* _upb_Extensions_New( |
|
|
|
|
upb_DefBuilder* ctx, int n, |
|
|
|
|
const UPB_DESC(FieldDescriptorProto) * const* protos, const char* prefix, |
|
|
|
|
upb_MessageDef* m); |
|
|
|
|
upb_FieldDef* _upb_Extensions_New(upb_DefBuilder* ctx, int n, |
|
|
|
|
const UPB_DESC(FieldDescriptorProto*) |
|
|
|
|
const* protos, |
|
|
|
|
const UPB_DESC(FeatureSet*) parent_features, |
|
|
|
|
const char* prefix, upb_MessageDef* m); |
|
|
|
|
|
|
|
|
|
// Allocate and initialize an array of |n| field defs.
|
|
|
|
|
upb_FieldDef* _upb_FieldDefs_New( |
|
|
|
|
upb_DefBuilder* ctx, int n, |
|
|
|
|
const UPB_DESC(FieldDescriptorProto) * const* protos, const char* prefix, |
|
|
|
|
upb_MessageDef* m, bool* is_sorted); |
|
|
|
|
upb_FieldDef* _upb_FieldDefs_New(upb_DefBuilder* ctx, int n, |
|
|
|
|
const UPB_DESC(FieldDescriptorProto*) |
|
|
|
|
const* protos, |
|
|
|
|
const UPB_DESC(FeatureSet*) parent_features, |
|
|
|
|
const char* prefix, upb_MessageDef* m, |
|
|
|
|
bool* is_sorted); |
|
|
|
|
|
|
|
|
|
// Allocate and return a list of pointers to the |n| field defs in |ff|,
|
|
|
|
|
// sorted by field number.
|
|
|
|
@ -12758,9 +12846,12 @@ void _upb_MessageDef_LinkMiniTable(upb_DefBuilder* ctx, |
|
|
|
|
void _upb_MessageDef_Resolve(upb_DefBuilder* ctx, upb_MessageDef* m); |
|
|
|
|
|
|
|
|
|
// Allocate and initialize an array of |n| message defs.
|
|
|
|
|
upb_MessageDef* _upb_MessageDefs_New( |
|
|
|
|
upb_DefBuilder* ctx, int n, const UPB_DESC(DescriptorProto) * const* protos, |
|
|
|
|
const upb_MessageDef* containing_type); |
|
|
|
|
upb_MessageDef* _upb_MessageDefs_New(upb_DefBuilder* ctx, int n, |
|
|
|
|
const UPB_DESC(DescriptorProto*) |
|
|
|
|
const* protos, |
|
|
|
|
const UPB_DESC(FeatureSet*) |
|
|
|
|
parent_features, |
|
|
|
|
const upb_MessageDef* containing_type); |
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
|
|
|
} /* extern "C" */ |
|
|
|
@ -12782,9 +12873,11 @@ extern "C" { |
|
|
|
|
upb_ServiceDef* _upb_ServiceDef_At(const upb_ServiceDef* s, int i); |
|
|
|
|
|
|
|
|
|
// Allocate and initialize an array of |n| service defs.
|
|
|
|
|
upb_ServiceDef* _upb_ServiceDefs_New( |
|
|
|
|
upb_DefBuilder* ctx, int n, |
|
|
|
|
const UPB_DESC(ServiceDescriptorProto) * const* protos); |
|
|
|
|
upb_ServiceDef* _upb_ServiceDefs_New(upb_DefBuilder* ctx, int n, |
|
|
|
|
const UPB_DESC(ServiceDescriptorProto*) |
|
|
|
|
const* protos, |
|
|
|
|
const UPB_DESC(FeatureSet*) |
|
|
|
|
parent_features); |
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
|
|
|
} /* extern "C" */ |
|
|
|
@ -12793,6 +12886,20 @@ upb_ServiceDef* _upb_ServiceDefs_New( |
|
|
|
|
|
|
|
|
|
#endif /* UPB_REFLECTION_SERVICE_DEF_INTERNAL_H_ */ |
|
|
|
|
|
|
|
|
|
#ifndef UPB_REFLECTION_UPB_EDITION_DEFAULTS_H_ |
|
|
|
|
#define UPB_REFLECTION_UPB_EDITION_DEFAULTS_H_ |
|
|
|
|
|
|
|
|
|
// This file contains the serialized FeatureSetDefaults object for
|
|
|
|
|
// language-independent features and (possibly at some point) for upb-specific
|
|
|
|
|
// features. This is used for feature resolution under Editions.
|
|
|
|
|
// NOLINTBEGIN
|
|
|
|
|
// clang-format off
|
|
|
|
|
#define UPB_INTERNAL_UPB_EDITION_DEFAULTS "\n\021\022\014\010\001\020\002\030\002 \001(\0010\002\030\346\007\n\021\022\014\010\002\020\001\030\001 \002(\0010\001\030\347\007\n\021\022\014\010\001\020\001\030\001 \002(\0010\001\030\350\007 \346\007(\350\007" |
|
|
|
|
// clang-format on
|
|
|
|
|
// NOLINTEND
|
|
|
|
|
|
|
|
|
|
#endif // UPB_REFLECTION_UPB_EDITION_DEFAULTS_H_
|
|
|
|
|
|
|
|
|
|
#ifndef UPB_REFLECTION_DESC_STATE_INTERNAL_H_ |
|
|
|
|
#define UPB_REFLECTION_DESC_STATE_INTERNAL_H_ |
|
|
|
|
|
|
|
|
@ -12865,7 +12972,7 @@ upb_EnumReservedRange* _upb_EnumReservedRange_At(const upb_EnumReservedRange* r, |
|
|
|
|
// Allocate and initialize an array of |n| reserved ranges owned by |e|.
|
|
|
|
|
upb_EnumReservedRange* _upb_EnumReservedRanges_New( |
|
|
|
|
upb_DefBuilder* ctx, int n, |
|
|
|
|
const UPB_DESC(EnumDescriptorProto_EnumReservedRange) * const* protos, |
|
|
|
|
const UPB_DESC(EnumDescriptorProto_EnumReservedRange*) const* protos, |
|
|
|
|
const upb_EnumDef* e); |
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
|
|
@ -12913,8 +13020,8 @@ upb_ExtensionRange* _upb_ExtensionRange_At(const upb_ExtensionRange* r, int i); |
|
|
|
|
// Allocate and initialize an array of |n| extension ranges owned by |m|.
|
|
|
|
|
upb_ExtensionRange* _upb_ExtensionRanges_New( |
|
|
|
|
upb_DefBuilder* ctx, int n, |
|
|
|
|
const UPB_DESC(DescriptorProto_ExtensionRange) * const* protos, |
|
|
|
|
const upb_MessageDef* m); |
|
|
|
|
const UPB_DESC(DescriptorProto_ExtensionRange*) const* protos, |
|
|
|
|
const UPB_DESC(FeatureSet*) parent_features, const upb_MessageDef* m); |
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
|
|
|
} /* extern "C" */ |
|
|
|
@ -12938,9 +13045,11 @@ void _upb_OneofDef_Insert(upb_DefBuilder* ctx, upb_OneofDef* o, |
|
|
|
|
const upb_FieldDef* f, const char* name, size_t size); |
|
|
|
|
|
|
|
|
|
// Allocate and initialize an array of |n| oneof defs owned by |m|.
|
|
|
|
|
upb_OneofDef* _upb_OneofDefs_New( |
|
|
|
|
upb_DefBuilder* ctx, int n, |
|
|
|
|
const UPB_DESC(OneofDescriptorProto) * const* protos, upb_MessageDef* m); |
|
|
|
|
upb_OneofDef* _upb_OneofDefs_New(upb_DefBuilder* ctx, int n, |
|
|
|
|
const UPB_DESC(OneofDescriptorProto*) |
|
|
|
|
const* protos, |
|
|
|
|
const UPB_DESC(FeatureSet*) parent_features, |
|
|
|
|
upb_MessageDef* m); |
|
|
|
|
|
|
|
|
|
size_t _upb_OneofDefs_Finalize(upb_DefBuilder* ctx, upb_MessageDef* m); |
|
|
|
|
|
|
|
|
@ -13012,9 +13121,11 @@ extern "C" { |
|
|
|
|
upb_MethodDef* _upb_MethodDef_At(const upb_MethodDef* m, int i); |
|
|
|
|
|
|
|
|
|
// Allocate and initialize an array of |n| method defs owned by |s|.
|
|
|
|
|
upb_MethodDef* _upb_MethodDefs_New( |
|
|
|
|
upb_DefBuilder* ctx, int n, |
|
|
|
|
const UPB_DESC(MethodDescriptorProto) * const* protos, upb_ServiceDef* s); |
|
|
|
|
upb_MethodDef* _upb_MethodDefs_New(upb_DefBuilder* ctx, int n, |
|
|
|
|
const UPB_DESC(MethodDescriptorProto*) |
|
|
|
|
const* protos, |
|
|
|
|
const UPB_DESC(FeatureSet*) parent_features, |
|
|
|
|
upb_ServiceDef* s); |
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
|
|
|
} /* extern "C" */ |
|
|
|
@ -13219,6 +13330,7 @@ UPB_INLINE uint32_t _upb_FastDecoder_LoadTag(const char* ptr) { |
|
|
|
|
#undef UPB_GNUC_MIN |
|
|
|
|
#undef UPB_DESCRIPTOR_UPB_H_FILENAME |
|
|
|
|
#undef UPB_DESC |
|
|
|
|
#undef UPB_DESC_MINITABLE |
|
|
|
|
#undef UPB_IS_GOOGLE3 |
|
|
|
|
#undef UPB_ATOMIC |
|
|
|
|
#undef UPB_USE_C11_ATOMICS |
|
|
|
|