Go to the documentation of this file.
11 #error must include stdint.h first
14 #if UINTPTR_MAX == 0xffffffff
15 #define UPB_SIZE(size32, size64) size32
17 #define UPB_SIZE(size32, size64) size64
20 #define UPB_FIELD_AT(msg, fieldtype, offset) \
21 *(fieldtype*)((const char*)(msg) + offset)
23 #define UPB_READ_ONEOF(msg, fieldtype, offset, case_offset, case_val, default) \
24 UPB_FIELD_AT(msg, int, case_offset) == case_val \
25 ? UPB_FIELD_AT(msg, fieldtype, offset) \
28 #define UPB_WRITE_ONEOF(msg, fieldtype, offset, value, case_offset, case_val) \
29 UPB_FIELD_AT(msg, int, case_offset) = case_val; \
30 UPB_FIELD_AT(msg, fieldtype, offset) = value;
77 template <
int N>
class InlinedArena;
83 #define UPB_INLINE inline
84 #elif defined (__GNUC__)
85 #define UPB_INLINE static __inline__
87 #define UPB_INLINE static
91 #define UPB_LIKELY(x) __builtin_expect((x),1)
95 #if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
96 #define UPB_BIG_ENDIAN
101 #define UPB_FORCEINLINE __inline__ __attribute__((always_inline))
102 #define UPB_NOINLINE __attribute__((noinline))
103 #define UPB_NORETURN __attribute__((__noreturn__))
105 #define UPB_FORCEINLINE
110 #if __STDC_VERSION__ >= 199901L || __cplusplus >= 201103L
113 #define _upb_snprintf snprintf
114 #define _upb_vsnprintf vsnprintf
115 #define _upb_va_copy(a, b) va_copy(a, b)
116 #elif defined __GNUC__
122 #define _upb_snprintf __builtin_snprintf
123 #define _upb_vsnprintf __builtin_vsnprintf
124 #define _upb_va_copy(a, b) __va_copy(a, b)
126 #error Need implementations of [v]snprintf and va_copy
130 #if __cplusplus >= 201103L || defined(__GXX_EXPERIMENTAL_CXX0X__) || \
131 (defined(_MSC_VER) && _MSC_VER >= 1900)
134 #error upb requires C++11 for C++ support
138 #define UPB_MAX(x, y) ((x) > (y) ? (x) : (y))
139 #define UPB_MIN(x, y) ((x) < (y) ? (x) : (y))
141 #define UPB_UNUSED(var) (void)var
146 #define UPB_ASSERT(expr) do {} while (false && (expr))
148 #define UPB_ASSERT(expr) assert(expr)
153 #define UPB_ASSERT_DEBUGVAR(expr) assert(expr)
156 #define UPB_UNREACHABLE() do { assert(0); __builtin_unreachable(); } while(0)
158 #define UPB_UNREACHABLE() do { assert(0); } while(0)
168 #define UPB_STATUS_MAX_MESSAGE 127
212 void SetFormattedErrorMessage(
const char *
fmt, ...) {
257 return alloc->
func(alloc, ptr, oldsize,
size);
262 alloc->
func(alloc, ptr, 0, 0);
376 template <
int N>
class upb::InlinedArena :
public upb::Arena {
383 InlinedArena(
const InlinedArena*) =
delete;
384 InlinedArena& operator=(
const InlinedArena*) =
delete;
387 char initial_block_[N];
464 #ifndef UPB_STRUCTS_H_
465 #define UPB_STRUCTS_H_
552 return a.size ==
b.size && memcmp(
a.data,
b.data,
a.size) == 0;
555 #define UPB_STRVIEW_INIT(ptr, len) {ptr, len}
557 #define UPB_STRVIEW_FORMAT "%.*s"
558 #define UPB_STRVIEW_ARGS(view) (int)(view).size, (view).data
580 #define ACCESSORS(name, membername, ctype) \
581 UPB_INLINE ctype upb_msgval_get ## name(upb_msgval v) { \
582 return v.membername; \
584 UPB_INLINE void upb_msgval_set ## name(upb_msgval *v, ctype cval) { \
585 v->membername = cval; \
587 UPB_INLINE upb_msgval upb_msgval_ ## name(ctype v) { \
589 ret.membername = v; \
755 #ifndef GOOGLE_PROTOBUF_DESCRIPTOR_PROTO_UPB_H_
756 #define GOOGLE_PROTOBUF_DESCRIPTOR_PROTO_UPB_H_
763 #ifndef UPB_GENERATED_UTIL_H_
764 #define UPB_GENERATED_UTIL_H_
768 #define PTR_AT(msg, ofs, type) (type*)((const char*)msg + ofs)
804 if (!arr)
return NULL;
810 size_t old_bytes = arr->
size * elem_size;
812 while (new_size <
size) new_size *= 2;
813 new_bytes = new_size * elem_size;
818 arr->
size = new_size;
831 size_t i = arr ? arr->
len : 0;
834 if (!
data)
return false;
840 return (*
PTR_AT(msg,
idx / 8,
const char) & (1 << (
idx % 8))) != 0;
844 return (*
PTR_AT(msg,
idx / 8,
char)) |= (1 << (
idx % 8));
848 return (*
PTR_AT(msg,
idx / 8,
char)) &= ~(1 << (
idx % 8));
852 return *
PTR_AT(msg, case_ofs, int32_t) == num;
864 #ifndef UPB_DECODE_H_
865 #define UPB_DECODE_H_
884 #ifndef UPB_ENCODE_H_
885 #define UPB_ENCODE_H_
1181 if (!sub)
return NULL;
1194 if (!sub)
return NULL;
1329 if (!sub)
return NULL;
1409 if (!sub)
return NULL;
1547 if (!sub)
return NULL;
1593 if (!sub)
return NULL;
1647 if (!sub)
return NULL;
1743 if (!sub)
return NULL;
1795 if (!sub)
return NULL;
1849 if (!sub)
return NULL;
2626 #ifndef UPB_TABLE_H_
2627 #define UPB_TABLE_H_
2666 #define SET_TYPE(dest, val) UPB_UNUSED(val)
2668 #define SET_TYPE(dest, val) dest = val
2701 #define FUNCS(name, membername, type_t, converter, proto_type) \
2702 UPB_INLINE void upb_value_set ## name(upb_value *val, type_t cval) { \
2703 val->val = (converter)cval; \
2704 SET_TYPE(val->ctype, proto_type); \
2706 UPB_INLINE upb_value upb_value_ ## name(type_t val) { \
2708 upb_value_set ## name(&ret, val); \
2711 UPB_INLINE type_t upb_value_get ## name(upb_value val) { \
2712 UPB_ASSERT_DEBUGVAR(val.ctype == proto_type); \
2713 return (type_t)(converter)val.val; \
2729 memcpy(&
val->val, &cval,
sizeof(cval));
2734 memcpy(&
val->val, &cval,
sizeof(cval));
2765 char* mem = (
char*)
key;
2766 if (
len) memcpy(
len, mem,
sizeof(*
len));
2767 return mem +
sizeof(*len);
2777 #define UPB_TABVALUE_EMPTY_INIT {-1}
2830 #define UPB_INTTABLE_INIT(count, mask, ctype, size_lg2, ent, a, asize, acount) \
2831 {UPB_TABLE_INIT(count, mask, ctype, size_lg2, ent), a, asize, acount}
2833 #define UPB_EMPTY_INTTABLE_INIT(ctype) \
2834 UPB_INTTABLE_INIT(0, 0, ctype, 0, NULL, NULL, 0, 0)
2836 #define UPB_ARRAY_EMPTYENT -1
2858 return (uint32_t)
key;
2866 return key.val != (uint64_t)-1;
3001 *
v = upb_value_int32(0);
3002 if (key < t->array_size) {
3014 if ((uint32_t)e->
key ==
key) {
3120 class MessageDefPtr;
3174 #define UPB_MAX_FIELDNUMBER ((1 << 29) - 1)
3220 class upb::FieldDefPtr {
3222 FieldDefPtr() : ptr_(nullptr) {}
3223 explicit FieldDefPtr(
const upb_fielddef *ptr) : ptr_(ptr) {}
3226 explicit operator bool()
const {
return ptr_ !=
nullptr; }
3260 return str->size() > 0;
3293 MessageDefPtr containing_type()
const;
3297 OneofDefPtr containing_oneof()
const;
3331 const char *default_string(
size_t *
len)
const {
3338 EnumDefPtr enum_subdef()
const;
3339 MessageDefPtr message_subdef()
const;
3389 class upb::OneofDefPtr {
3391 OneofDefPtr() : ptr_(nullptr) {}
3392 explicit OneofDefPtr(
const upb_oneofdef *ptr) : ptr_(ptr) {}
3395 explicit operator bool() {
return ptr_ !=
nullptr; }
3398 MessageDefPtr containing_type()
const;
3421 FieldDefPtr FindFieldByNumber(uint32_t num)
const {
3425 class const_iterator
3426 :
public std::iterator<std::forward_iterator_tag, FieldDefPtr> {
3434 bool operator!=(
const const_iterator& other)
const {
3438 bool operator==(
const const_iterator& other)
const {
3443 friend class OneofDefPtr;
3446 explicit const_iterator(OneofDefPtr o) {
3449 static const_iterator
end() {
3450 const_iterator iter;
3458 const_iterator
begin()
const {
return const_iterator(*
this); }
3465 inline upb::OneofDefPtr upb::FieldDefPtr::containing_oneof()
const {
3477 #define UPB_MAPENTRY_KEY 1
3478 #define UPB_MAPENTRY_VALUE 2
3481 #define UPB_ANY_TYPE 1
3482 #define UPB_ANY_VALUE 2
3485 #define UPB_DURATION_SECONDS 1
3486 #define UPB_DURATION_NANOS 2
3489 #define UPB_TIMESTAMP_SECONDS 1
3490 #define UPB_TIMESTAMP_NANOS 2
3574 class upb::MessageDefPtr {
3576 MessageDefPtr() : ptr_(nullptr) {}
3577 explicit MessageDefPtr(
const upb_msgdef *ptr) : ptr_(ptr) {}
3579 const upb_msgdef *ptr()
const {
return ptr_; }
3580 explicit operator bool()
const {
return ptr_ !=
nullptr; }
3594 FieldDefPtr FindFieldByNumber(uint32_t
number)
const {
3635 class const_field_iterator
3636 :
public std::iterator<std::forward_iterator_tag, FieldDefPtr> {
3644 bool operator!=(
const const_field_iterator &other)
const {
3648 bool operator==(
const const_field_iterator &other)
const {
3653 friend class MessageDefPtr;
3655 explicit const_field_iterator() {}
3657 explicit const_field_iterator(MessageDefPtr msg) {
3661 static const_field_iterator
end() {
3662 const_field_iterator iter;
3671 class const_oneof_iterator
3672 :
public std::iterator<std::forward_iterator_tag, OneofDefPtr> {
3681 bool operator!=(
const const_oneof_iterator& other)
const {
3685 bool operator==(
const const_oneof_iterator &other)
const {
3690 friend class MessageDefPtr;
3692 const_oneof_iterator() {}
3694 explicit const_oneof_iterator(MessageDefPtr msg) {
3698 static const_oneof_iterator
end() {
3699 const_oneof_iterator iter;
3707 class ConstFieldAccessor {
3709 explicit ConstFieldAccessor(
const upb_msgdef* md) : md_(md) {}
3710 const_field_iterator
begin() {
return MessageDefPtr(md_).field_begin(); }
3711 const_field_iterator
end() {
return MessageDefPtr(md_).field_end(); }
3716 class ConstOneofAccessor {
3718 explicit ConstOneofAccessor(
const upb_msgdef* md) : md_(md) {}
3719 const_oneof_iterator
begin() {
return MessageDefPtr(md_).oneof_begin(); }
3720 const_oneof_iterator
end() {
return MessageDefPtr(md_).oneof_end(); }
3725 const_field_iterator field_begin()
const {
3726 return const_field_iterator(*
this);
3731 const_oneof_iterator oneof_begin()
const {
3732 return const_oneof_iterator(*
this);
3737 ConstFieldAccessor
fields()
const {
return ConstFieldAccessor(ptr()); }
3738 ConstOneofAccessor oneofs()
const {
return ConstOneofAccessor(ptr()); }
3744 inline upb::MessageDefPtr upb::FieldDefPtr::message_subdef()
const {
3748 inline upb::MessageDefPtr upb::FieldDefPtr::containing_type()
const {
3752 inline upb::MessageDefPtr upb::OneofDefPtr::containing_type()
const {
3776 const char *
name, int32_t *num) {
3794 class upb::EnumDefPtr {
3796 EnumDefPtr() : ptr_(nullptr) {}
3797 explicit EnumDefPtr(
const upb_enumdef* ptr) : ptr_(ptr) {}
3800 explicit operator bool()
const {
return ptr_ !=
nullptr; }
3817 bool FindValueByName(
const char *
name, int32_t *num)
const {
3824 const char *FindValueByNumber(int32_t num)
const {
3834 explicit Iterator(EnumDefPtr e) {
upb_enum_begin(&iter_, e.ptr()); }
3849 inline upb::EnumDefPtr upb::FieldDefPtr::enum_subdef()
const {
3880 class upb::FileDefPtr {
3882 explicit FileDefPtr(
const upb_filedef *ptr) : ptr_(ptr) {}
3885 explicit operator bool()
const {
return ptr_ !=
nullptr; }
3908 const FileDefPtr dependency(
int index)
const {
3949 class upb::SymbolTable {
3954 const upb_symtab* ptr()
const {
return ptr_.get(); }
3959 MessageDefPtr LookupMessage(
const char *sym)
const {
3963 EnumDefPtr LookupEnum(
const char *sym)
const {
3967 FileDefPtr LookupFile(
const char *
name)
const {
4010 #ifndef UPB_HANDLERS_H
4011 #define UPB_HANDLERS_H
4018 template <
class T>
class Handler;
4019 template <
class T>
struct CanonicalType;
4031 #define UPB_MAX_HANDLER_DEPTH 64
4052 #define UPB_HANDLER_MAX (UPB_HANDLER_ENDSEQ+1)
4054 #define UPB_BREAK NULL
4058 #define UPB_NO_CLOSURE &_upb_noclosure
4065 #define UPB_STARTMSG_SELECTOR 0
4066 #define UPB_ENDMSG_SELECTOR 1
4067 #define UPB_UNKNOWN_SELECTOR 2
4068 #define UPB_STATIC_SELECTOR_COUNT 3
4071 #define UPB_STARTSTR_SELECTOR 0
4072 #define UPB_STRING_SELECTOR 1
4073 #define UPB_ENDSTR_SELECTOR 2
4076 template<
class T>
const void *UniquePtrForType() {
4077 static const char ch = 0;
4092 #define UPB_HANDLERATTR_INIT {NULL, NULL, NULL, false}
4111 void SetAttachedObject(
const T* _obj) {
4113 objtype = UniquePtrForType<T>();
4117 const T *GetAttachedObject()
const {
4118 return objtype == UniquePtrForType<T>() ?
static_cast<const T *
>(
obj)
4124 #define UPB_BUFHANDLE_INIT {NULL, 0, NULL, NULL}
4213 const void **handler_data);
4274 #define UpbMakeHandler(f) upb::MatchFunc(f).template GetFunc<f>()
4277 #define UpbBind(f, d) upb::MatchFunc(f).template GetFunc<f>((d))
4282 template <
class T>
class upb::Handler {
4288 template <
class F> Handler(
F func);
4292 FuncPtr
handler()
const {
return handler_; }
4296 Handler(
const Handler&) =
delete;
4297 Handler& operator=(
const Handler&) =
delete;
4301 mutable bool registered_;
4302 void *cleanup_data_;
4317 class upb::HandlersPtr {
4326 typedef Handler<
void *(*)(
void *,
const void *)> StartFieldHandler;
4327 typedef Handler<bool (*)(
void *,
const void *)> EndFieldHandler;
4328 typedef Handler<bool (*)(
void *,
const void *)> StartMessageHandler;
4329 typedef Handler<bool (*)(
void *,
const void *,
upb_status *)>
4331 typedef Handler<
void *(*)(
void *,
const void *, size_t)> StartStringHandler;
4332 typedef Handler<size_t (*)(
void *,
const void *,
const char *, size_t,
4336 template <
class T>
struct ValueHandler {
4337 typedef Handler<bool(*)(
void *,
const void *,
T)>
H;
4350 typedef void GenericFunction();
4352 typedef void HandlersCallback(
const void *closure,
upb_handlers *
h);
4355 MessageDefPtr message_def()
const {
4374 bool SetStartMessageHandler(
const StartMessageHandler &
h) {
4375 h.AddCleanup(ptr());
4387 bool SetEndMessageHandler(
const EndMessageHandler&
h) {
4388 h.AddCleanup(ptr());
4412 bool SetInt32Handler(FieldDefPtr
f,
const Int32Handler &
h) {
4413 h.AddCleanup(ptr());
4417 bool SetInt64Handler (FieldDefPtr
f,
const Int64Handler&
h) {
4418 h.AddCleanup(ptr());
4422 bool SetUInt32Handler(FieldDefPtr
f,
const UInt32Handler&
h) {
4423 h.AddCleanup(ptr());
4427 bool SetUInt64Handler(FieldDefPtr
f,
const UInt64Handler&
h) {
4428 h.AddCleanup(ptr());
4432 bool SetFloatHandler (FieldDefPtr
f,
const FloatHandler&
h) {
4433 h.AddCleanup(ptr());
4437 bool SetDoubleHandler(FieldDefPtr
f,
const DoubleHandler&
h) {
4438 h.AddCleanup(ptr());
4442 bool SetBoolHandler(FieldDefPtr
f,
const BoolHandler &
h) {
4443 h.AddCleanup(ptr());
4452 bool SetValueHandler(
4492 bool SetStartStringHandler(FieldDefPtr
f,
const StartStringHandler &
h) {
4493 h.AddCleanup(ptr());
4497 bool SetStringHandler(FieldDefPtr
f,
const StringHandler&
h) {
4498 h.AddCleanup(ptr());
4502 bool SetEndStringHandler(FieldDefPtr
f,
const EndFieldHandler&
h) {
4503 h.AddCleanup(ptr());
4521 bool SetStartSequenceHandler(FieldDefPtr
f,
const StartFieldHandler &
h) {
4522 h.AddCleanup(ptr());
4541 bool SetStartSubMessageHandler(FieldDefPtr
f,
const StartFieldHandler&
h) {
4542 h.AddCleanup(ptr());
4557 bool SetEndSubMessageHandler(FieldDefPtr
f,
const EndFieldHandler &
h) {
4558 h.AddCleanup(ptr());
4573 bool SetEndSequenceHandler(FieldDefPtr
f,
const EndFieldHandler &
h) {
4574 h.AddCleanup(ptr());
4610 class upb::HandlerCache {
4614 HandlerCache(HandlerCache&&) =
default;
4615 HandlerCache& operator=(HandlerCache&&) =
default;
4648 #define UPB_TABENT_INIT {NULL, UPB_HANDLERATTR_INIT}
4654 #define UPB_BYTESHANDLER_INIT \
4656 { UPB_TABENT_INIT, UPB_TABENT_INIT, UPB_TABENT_INIT } \
4724 #ifndef UPB_HANDLERS_INL_H_
4725 #define UPB_HANDLERS_INL_H_
4747 #define UPB_INT32_MAX 0x7fffffffLL
4748 #define UPB_INT32_MIN (-UPB_INT32_MAX - 1)
4749 #define UPB_INT64_MAX 0x7fffffffffffffffLL
4750 #define UPB_INT64_MIN (-UPB_INT64_MAX - 1)
4752 #if INT_MAX == UPB_INT32_MAX && INT_MIN == UPB_INT32_MIN
4753 #define UPB_INT_IS_32BITS 1
4756 #if LONG_MAX == UPB_INT32_MAX && LONG_MIN == UPB_INT32_MIN
4757 #define UPB_LONG_IS_32BITS 1
4760 #if LONG_MAX == UPB_INT64_MAX && LONG_MIN == UPB_INT64_MIN
4761 #define UPB_LONG_IS_64BITS 1
4764 #if LLONG_MAX == UPB_INT64_MAX && LLONG_MIN == UPB_INT64_MIN
4765 #define UPB_LLONG_IS_64BITS 1
4770 #if UPB_INT_IS_32BITS
4771 #define UPB_INT32_T int
4772 #define UPB_UINT32_T unsigned int
4774 #if UPB_LONG_IS_32BITS
4775 #define UPB_TWO_32BIT_TYPES 1
4776 #define UPB_INT32ALT_T long
4777 #define UPB_UINT32ALT_T unsigned long
4780 #elif UPB_LONG_IS_32BITS
4781 #define UPB_INT32_T long
4782 #define UPB_UINT32_T unsigned long
4786 #if UPB_LONG_IS_64BITS
4787 #define UPB_INT64_T long
4788 #define UPB_UINT64_T unsigned long
4790 #if UPB_LLONG_IS_64BITS
4791 #define UPB_TWO_64BIT_TYPES 1
4792 #define UPB_INT64ALT_T long long
4793 #define UPB_UINT64ALT_T unsigned long long
4796 #elif UPB_LLONG_IS_64BITS
4797 #define UPB_INT64_T long long
4798 #define UPB_UINT64_T unsigned long long
4801 #undef UPB_INT32_MAX
4802 #undef UPB_INT32_MIN
4803 #undef UPB_INT64_MAX
4804 #undef UPB_INT64_MIN
4805 #undef UPB_INT_IS_32BITS
4806 #undef UPB_LONG_IS_32BITS
4807 #undef UPB_LONG_IS_64BITS
4808 #undef UPB_LLONG_IS_64BITS
4813 typedef void CleanupFunc(
void *ptr);
4820 class CouldntRemoveConst {};
4821 template <
class T>
struct remove_constptr {
typedef CouldntRemoveConst
type; };
4822 template <
class T>
struct remove_constptr<
const T *> {
typedef T *
type; };
4826 template <
class T,
class U>
struct disable_if_same {
typedef void Type; };
4827 template <
class T>
struct disable_if_same<
T,
T> {};
4829 template <
class T>
void DeletePointer(
void *
p) {
delete static_cast<T>(
p); }
4831 template <
class T1,
class T2>
4832 struct FirstUnlessVoidOrBool {
4837 struct FirstUnlessVoidOrBool<
void, T2> {
4842 struct FirstUnlessVoidOrBool<bool, T2> {
4846 template<
class T,
class U>
4852 struct is_same<
T,
T> {
4856 template<
class T,
class U>
4865 template <
class C,
class R =
void>
4883 struct UnboundFunc {
4884 CleanupFunc *GetCleanup() {
return nullptr; }
4885 void *
GetData() {
return nullptr; }
4888 template <
class R,
class P1, R F(P1),
class I>
4889 struct Func1 :
public UnboundFunc {
4892 static R Call(P1 p1) {
return F(p1); }
4895 template <
class R,
class P1,
class P2, R F(P1, P2),
class I>
4896 struct Func2 :
public UnboundFunc {
4899 static R Call(P1 p1, P2 p2) {
return F(p1, p2); }
4902 template <
class R,
class P1,
class P2,
class P3, R F(P1, P2, P3),
class I>
4903 struct Func3 :
public UnboundFunc {
4906 static R Call(P1 p1, P2 p2, P3 p3) {
return F(p1, p2, p3); }
4909 template <
class R,
class P1,
class P2,
class P3,
class P4, R
F(P1, P2, P3, P4),
4911 struct Func4 :
public UnboundFunc {
4914 static R Call(P1 p1, P2 p2, P3 p3, P4 p4) {
return F(p1, p2, p3, p4); }
4917 template <
class R,
class P1,
class P2,
class P3,
class P4,
class P5,
4918 R
F(P1, P2, P3, P4, P5),
class I>
4919 struct Func5 :
public UnboundFunc {
4922 static R Call(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) {
4923 return F(p1, p2, p3, p4, p5);
4938 CleanupFunc *GetCleanup() {
return &DeletePointer<MutableP2>; }
4943 template <
class R,
class P1,
class P2, R F(P1, P2),
class I>
4944 struct BoundFunc2 :
public BoundFunc<P2> {
4945 typedef BoundFunc<P2> Base;
4947 explicit BoundFunc2(
typename Base::MutableP2 arg) : Base(arg) {}
4950 template <
class R,
class P1,
class P2,
class P3, R F(P1, P2, P3),
class I>
4951 struct BoundFunc3 :
public BoundFunc<P2> {
4952 typedef BoundFunc<P2> Base;
4954 explicit BoundFunc3(
typename Base::MutableP2 arg) : Base(arg) {}
4957 template <
class R,
class P1,
class P2,
class P3,
class P4, R
F(P1, P2, P3, P4),
4959 struct BoundFunc4 :
public BoundFunc<P2> {
4960 typedef BoundFunc<P2> Base;
4962 explicit BoundFunc4(
typename Base::MutableP2 arg) : Base(arg) {}
4965 template <
class R,
class P1,
class P2,
class P3,
class P4,
class P5,
4966 R
F(P1, P2, P3, P4, P5),
class I>
4967 struct BoundFunc5 :
public BoundFunc<P2> {
4968 typedef BoundFunc<P2> Base;
4970 explicit BoundFunc5(
typename Base::MutableP2 arg) : Base(arg) {}
4980 template <
class R,
class P1>
4983 Func1<R, P1, F, FuncInfo<P1, R> > GetFunc() {
4984 return Func1<R, P1, F, FuncInfo<P1, R> >();
4988 template <
class R,
class P1,
class P2>
4990 template <R F(P1, P2)>
4991 Func2<R, P1, P2, F, FuncInfo<P1, R> > GetFunc() {
4992 return Func2<R, P1, P2, F, FuncInfo<P1, R> >();
4995 template <R F(P1, P2)>
4996 BoundFunc2<R, P1, P2, F, FuncInfo<P1, R> > GetFunc(
4998 return BoundFunc2<R, P1, P2, F, FuncInfo<P1, R> >(param2);
5002 template <
class R,
class P1,
class P2,
class P3>
5004 template <R F(P1, P2, P3)>
5005 Func3<R, P1, P2, P3, F, FuncInfo<P1, R> > GetFunc() {
5006 return Func3<R, P1, P2, P3, F, FuncInfo<P1, R> >();
5009 template <R F(P1, P2, P3)>
5010 BoundFunc3<R, P1, P2, P3, F, FuncInfo<P1, R> > GetFunc(
5012 return BoundFunc3<R, P1, P2, P3, F, FuncInfo<P1, R> >(param2);
5016 template <
class R,
class P1,
class P2,
class P3,
class P4>
5018 template <R F(P1, P2, P3, P4)>
5019 Func4<R, P1, P2, P3, P4, F, FuncInfo<P1, R> > GetFunc() {
5020 return Func4<R, P1, P2, P3, P4, F, FuncInfo<P1, R> >();
5023 template <R F(P1, P2, P3, P4)>
5024 BoundFunc4<R, P1, P2, P3, P4, F, FuncInfo<P1, R> > GetFunc(
5026 return BoundFunc4<R, P1, P2, P3, P4, F, FuncInfo<P1, R> >(param2);
5030 template <
class R,
class P1,
class P2,
class P3,
class P4,
class P5>
5032 template <R F(P1, P2, P3, P4, P5)>
5033 Func5<R, P1, P2, P3, P4, P5, F, FuncInfo<P1, R> > GetFunc() {
5034 return Func5<R, P1, P2, P3, P4, P5, F, FuncInfo<P1, R> >();
5037 template <R F(P1, P2, P3, P4, P5)>
5038 BoundFunc5<R, P1, P2, P3, P4, P5, F, FuncInfo<P1, R> > GetFunc(
5040 return BoundFunc5<R, P1, P2, P3, P4, P5, F, FuncInfo<P1, R> >(param2);
5046 template <
class R,
class P1>
5047 inline FuncSig1<R, P1> MatchFunc(R (*
f)(P1)) {
5049 return FuncSig1<R, P1>();
5052 template <
class R,
class P1,
class P2>
5053 inline FuncSig2<R, P1, P2> MatchFunc(R (*
f)(P1, P2)) {
5055 return FuncSig2<R, P1, P2>();
5058 template <
class R,
class P1,
class P2,
class P3>
5059 inline FuncSig3<R, P1, P2, P3> MatchFunc(R (*
f)(P1, P2, P3)) {
5061 return FuncSig3<R, P1, P2, P3>();
5064 template <
class R,
class P1,
class P2,
class P3,
class P4>
5065 inline FuncSig4<R, P1, P2, P3, P4> MatchFunc(R (*
f)(P1, P2, P3, P4)) {
5067 return FuncSig4<R, P1, P2, P3, P4>();
5070 template <
class R,
class P1,
class P2,
class P3,
class P4,
class P5>
5071 inline FuncSig5<R, P1, P2, P3, P4, P5> MatchFunc(R (*
f)(P1, P2, P3, P4, P5)) {
5073 return FuncSig5<R, P1, P2, P3, P4, P5>();
5079 template <
class R,
class C, R (C::*F)()>
5080 R CallMethod0(C *
obj) {
5081 return ((*obj).*
F)();
5084 template <
class R,
class C,
class P1, R (C::*F)(P1)>
5085 R CallMethod1(C *
obj, P1 arg1) {
5086 return ((*obj).*
F)(arg1);
5089 template <
class R,
class C,
class P1,
class P2, R (C::*F)(P1, P2)>
5090 R CallMethod2(C *
obj, P1 arg1, P2 arg2) {
5091 return ((*obj).*
F)(arg1, arg2);
5094 template <
class R,
class C,
class P1,
class P2,
class P3, R (C::*F)(P1, P2, P3)>
5095 R CallMethod3(C *
obj, P1 arg1, P2 arg2, P3 arg3) {
5096 return ((*obj).*
F)(arg1, arg2, arg3);
5099 template <
class R,
class C,
class P1,
class P2,
class P3,
class P4,
5100 R (C::*
F)(P1, P2, P3, P4)>
5101 R CallMethod4(C *
obj, P1 arg1, P2 arg2, P3 arg3, P4 arg4) {
5102 return ((*obj).*
F)(arg1, arg2, arg3, arg4);
5109 template <
class R,
class C>
5111 template <R (C::*F)()>
5112 Func1<R, C *, CallMethod0<R, C, F>, FuncInfo<C *, R> > GetFunc() {
5113 return Func1<R, C *, CallMethod0<R, C, F>, FuncInfo<C *, R> >();
5117 template <
class R,
class C,
class P1>
5119 template <R (C::*F)(P1)>
5120 Func2<R, C *, P1, CallMethod1<R, C, P1, F>, FuncInfo<C *, R> > GetFunc() {
5121 return Func2<R, C *, P1, CallMethod1<R, C, P1, F>, FuncInfo<C *, R> >();
5124 template <R (C::*F)(P1)>
5125 BoundFunc2<R, C *, P1, CallMethod1<R, C, P1, F>, FuncInfo<C *, R> > GetFunc(
5127 return BoundFunc2<R, C *, P1, CallMethod1<R, C, P1, F>, FuncInfo<C *, R> >(
5132 template <
class R,
class C,
class P1,
class P2>
5134 template <R (C::*F)(P1, P2)>
5135 Func3<R, C *, P1, P2, CallMethod2<R, C, P1, P2, F>, FuncInfo<C *, R> >
5137 return Func3<R, C *, P1, P2, CallMethod2<R, C, P1, P2, F>,
5138 FuncInfo<C *, R> >();
5141 template <R (C::*F)(P1, P2)>
5142 BoundFunc3<R, C *, P1, P2, CallMethod2<R, C, P1, P2, F>, FuncInfo<C *, R> >
5144 return BoundFunc3<R, C *, P1, P2, CallMethod2<R, C, P1, P2, F>,
5145 FuncInfo<C *, R> >(param1);
5149 template <
class R,
class C,
class P1,
class P2,
class P3>
5151 template <R (C::*F)(P1, P2, P3)>
5152 Func4<R, C *, P1, P2, P3, CallMethod3<R, C, P1, P2, P3, F>, FuncInfo<C *, R> >
5154 return Func4<R, C *, P1, P2, P3, CallMethod3<R, C, P1, P2, P3, F>,
5155 FuncInfo<C *, R> >();
5158 template <R (C::*F)(P1, P2, P3)>
5159 BoundFunc4<R, C *, P1, P2, P3, CallMethod3<R, C, P1, P2, P3, F>,
5162 return BoundFunc4<R, C *, P1, P2, P3, CallMethod3<R, C, P1, P2, P3, F>,
5163 FuncInfo<C *, R> >(param1);
5167 template <
class R,
class C,
class P1,
class P2,
class P3,
class P4>
5169 template <R (C::*F)(P1, P2, P3, P4)>
5170 Func5<R, C *, P1, P2, P3, P4, CallMethod4<R, C, P1, P2, P3, P4, F>,
5173 return Func5<R, C *, P1, P2, P3, P4, CallMethod4<R, C, P1, P2, P3, P4, F>,
5174 FuncInfo<C *, R> >();
5177 template <R (C::*F)(P1, P2, P3, P4)>
5178 BoundFunc5<R, C *, P1, P2, P3, P4, CallMethod4<R, C, P1, P2, P3, P4, F>,
5181 return BoundFunc5<R, C *, P1, P2, P3, P4,
5182 CallMethod4<R, C, P1, P2, P3, P4, F>, FuncInfo<C *, R> >(
5187 template <
class R,
class C>
5188 inline MethodSig0<R, C> MatchFunc(R (C::*
f)()) {
5190 return MethodSig0<R, C>();
5193 template <
class R,
class C,
class P1>
5194 inline MethodSig1<R, C, P1> MatchFunc(R (C::*
f)(P1)) {
5196 return MethodSig1<R, C, P1>();
5199 template <
class R,
class C,
class P1,
class P2>
5200 inline MethodSig2<R, C, P1, P2> MatchFunc(R (C::*
f)(P1, P2)) {
5202 return MethodSig2<R, C, P1, P2>();
5205 template <
class R,
class C,
class P1,
class P2,
class P3>
5206 inline MethodSig3<R, C, P1, P2, P3> MatchFunc(R (C::*
f)(P1, P2, P3)) {
5208 return MethodSig3<R, C, P1, P2, P3>();
5211 template <
class R,
class C,
class P1,
class P2,
class P3,
class P4>
5212 inline MethodSig4<R, C, P1, P2, P3, P4> MatchFunc(R (C::*
f)(P1, P2, P3, P4)) {
5214 return MethodSig4<R, C, P1, P2, P3, P4>();
5234 template <
class F,
class R,
class Enable =
void>
5235 struct MaybeWrapReturn;
5239 struct MaybeWrapReturn<
F, typename
F::
Return> {
5244 template <
class P1,
class P2,
void F(P1, P2)>
5245 bool ReturnTrue2(P1 p1, P2 p2) {
5250 template <
class P1,
class P2,
class P3,
void F(P1, P2, P3)>
5251 bool ReturnTrue3(P1 p1, P2 p2, P3 p3) {
5257 template <
class P1,
class P2,
void F(P1, P2)>
5258 void *ReturnClosure2(P1 p1, P2 p2) {
5263 template <
class P1,
class P2,
class P3,
void F(P1, P2, P3)>
5264 void *ReturnClosure3(P1 p1, P2 p2, P3 p3) {
5270 template <
class R,
class P1,
class P2, R F(P1, P2)>
5271 void *CastReturnToVoidPtr2(P1 p1, P2 p2) {
5275 template <
class R,
class P1,
class P2,
class P3, R F(P1, P2, P3)>
5276 void *CastReturnToVoidPtr3(P1 p1, P2 p2, P3 p3) {
5277 return F(p1, p2, p3);
5281 template <
class P1,
class P2,
bool F(P1, P2)>
5282 void *ReturnClosureOrBreak2(P1 p1, P2 p2) {
5286 template <
class P1,
class P2,
class P3,
bool F(P1, P2, P3)>
5287 void *ReturnClosureOrBreak3(P1 p1, P2 p2, P3 p3) {
5292 template <
class P1,
class P2,
5294 size_t ReturnStringLen(P1 p1, P2 p2,
const char *p3,
size_t p4,
5296 F(p1, p2, p3, p4, p5);
5302 template <
class P1,
class P2,
5304 size_t ReturnNOr0(P1 p1, P2 p2,
const char *p3,
size_t p4,
5306 return F(p1, p2, p3, p4, p5) ? p4 : 0;
5311 template <
class P1,
class P2,
void F(P1, P2),
class I>
5312 struct MaybeWrapReturn<Func2<
void, P1, P2,
F, I>, bool> {
5313 typedef Func2<bool, P1, P2, ReturnTrue2<P1, P2, F>, I>
Func;
5316 template <
class P1,
class P2,
class P3,
void F(P1, P2, P3),
class I>
5317 struct MaybeWrapReturn<Func3<
void, P1, P2, P3,
F, I>, bool> {
5318 typedef Func3<bool, P1, P2, P3, ReturnTrue3<P1, P2, P3, F>, I>
Func;
5323 template <
class P1,
class P2,
void F(P1, P2),
class I>
5324 struct MaybeWrapReturn<Func2<
void, P1, P2,
F, I>,
void *> {
5325 typedef Func2<void *, P1, P2, ReturnClosure2<P1, P2, F>, I>
Func;
5328 template <
class P1,
class P2,
class P3,
void F(P1, P2, P3),
class I>
5329 struct MaybeWrapReturn<Func3<
void, P1, P2, P3,
F, I>,
void *> {
5330 typedef Func3<void *, P1, P2, P3, ReturnClosure3<P1, P2, P3, F>, I>
Func;
5335 template <
class R,
class P1,
class P2, R *F(P1, P2),
class I>
5336 struct MaybeWrapReturn<Func2<R *, P1, P2,
F, I>,
void *,
5338 typedef Func2<void *, P1, P2, CastReturnToVoidPtr2<R *, P1, P2, F>, I>
Func;
5341 template <
class R,
class P1,
class P2,
class P3, R *F(P1, P2, P3),
class I>
5342 struct MaybeWrapReturn<Func3<R *, P1, P2, P3,
F, I>,
void *,
5344 typedef Func3<void *, P1, P2, P3, CastReturnToVoidPtr3<R *, P1, P2, P3, F>, I>
5350 template <
class P1,
class P2,
bool F(P1, P2),
class I>
5351 struct MaybeWrapReturn<Func2<bool, P1, P2,
F, I>,
void *> {
5352 typedef Func2<void *, P1, P2, ReturnClosureOrBreak2<P1, P2, F>, I>
Func;
5355 template <
class P1,
class P2,
class P3,
bool F(P1, P2, P3),
class I>
5356 struct MaybeWrapReturn<Func3<bool, P1, P2, P3,
F, I>,
void *> {
5357 typedef Func3<void *, P1, P2, P3, ReturnClosureOrBreak3<P1, P2, P3, F>, I>
5363 template <
class P1,
class P2,
5364 void F(P1, P2,
const char *,
size_t,
const upb_bufhandle *),
class I>
5365 struct MaybeWrapReturn<
5368 typedef Func5<size_t, P1, P2,
const char *, size_t,
const upb_bufhandle *,
5369 ReturnStringLen<P1, P2, F>, I>
Func;
5374 template <
class P1,
class P2,
5375 bool F(P1, P2,
const char *,
size_t,
const upb_bufhandle *),
class I>
5376 struct MaybeWrapReturn<
5379 typedef Func5<size_t, P1, P2,
const char *, size_t,
const upb_bufhandle *,
5380 ReturnNOr0<P1, P2, F>, I>
Func;
5389 template <
class F,
class T>
5390 struct ConvertParams;
5393 template <
class R,
class P1, R F(P1)>
5394 R IgnoreHandlerData2(
void *p1,
const void *hd) {
5396 return F(
static_cast<P1
>(p1));
5399 template <
class R,
class P1,
class P2Wrapper,
class P2Wrapped,
5401 R IgnoreHandlerData3(
void *p1,
const void *hd, P2Wrapper p2) {
5403 return F(
static_cast<P1
>(p1), p2);
5406 template <
class R,
class P1,
class P2,
class P3, R F(P1, P2, P3)>
5407 R IgnoreHandlerData4(
void *p1,
const void *hd, P2 p2, P3 p3) {
5409 return F(
static_cast<P1
>(p1), p2, p3);
5412 template <
class R,
class P1,
class P2,
class P3,
class P4, R F(P1, P2, P3, P4)>
5413 R IgnoreHandlerData5(
void *p1,
const void *hd, P2 p2, P3 p3, P4 p4) {
5415 return F(
static_cast<P1
>(p1), p2, p3, p4);
5418 template <
class R,
class P1, R F(P1, const
char*,
size_t)>
5419 R IgnoreHandlerDataIgnoreHandle(
void *p1,
const void *hd,
const char *p2,
5423 return F(
static_cast<P1
>(p1), p2, p3);
5427 template <
class R,
class P1,
class P2, R F(P1, P2)>
5428 R CastHandlerData2(
void *c,
const void *hd) {
5429 return F(
static_cast<P1
>(c),
static_cast<P2
>(hd));
5432 template <
class R,
class P1,
class P2,
class P3Wrapper,
class P3Wrapped,
5433 R
F(P1, P2, P3Wrapped)>
5434 R CastHandlerData3(
void *c,
const void *hd, P3Wrapper p3) {
5435 return F(
static_cast<P1
>(c),
static_cast<P2
>(hd), p3);
5438 template <
class R,
class P1,
class P2,
class P3,
class P4,
class P5,
5439 R
F(P1, P2, P3, P4, P5)>
5440 R CastHandlerData5(
void *c,
const void *hd, P3 p3, P4 p4, P5 p5) {
5441 return F(
static_cast<P1
>(c),
static_cast<P2
>(hd), p3, p4, p5);
5444 template <
class R,
class P1,
class P2, R F(P1, P2, const
char *,
size_t)>
5445 R CastHandlerDataIgnoreHandle(
void *c,
const void *hd,
const char *p3,
5448 return F(
static_cast<P1
>(c),
static_cast<P2
>(hd), p3, p4);
5452 template <
class R,
class P1, R F(P1),
class I,
class T>
5453 struct ConvertParams<Func1<R, P1,
F, I>,
T> {
5454 typedef Func2<R, void *, const void *, IgnoreHandlerData2<R, P1, F>, I>
Func;
5457 template <
class R,
class P1,
class P2, R
F(P1, P2),
class I,
5458 class R2,
class P1_2,
class P2_2,
class P3_2>
5459 struct ConvertParams<Func2<R, P1, P2,
F, I>,
5460 R2 (*)(P1_2, P2_2, P3_2)> {
5461 typedef Func3<R,
void *,
const void *, P3_2,
5462 IgnoreHandlerData3<R, P1, P3_2, P2, F>, I>
Func;
5467 template <
class R,
class P1, R F(P1, const
char *,
size_t),
class I,
class T>
5468 struct ConvertParams<Func3<R, P1,
const char *, size_t,
F, I>,
T> {
5469 typedef Func5<R,
void *,
const void *,
const char *, size_t,
5470 const upb_bufhandle *, IgnoreHandlerDataIgnoreHandle<R, P1, F>,
5474 template <
class R,
class P1,
class P2,
class P3,
class P4, R
F(P1, P2, P3, P4),
5476 struct ConvertParams<Func4<R, P1, P2, P3, P4,
F, I>,
T> {
5477 typedef Func5<R,
void *,
const void *, P2, P3, P4,
5478 IgnoreHandlerData5<R, P1, P2, P3, P4, F>, I>
Func;
5482 template <
class R,
class P1,
class P2, R F(P1, P2),
class I,
class T>
5483 struct ConvertParams<BoundFunc2<R, P1, P2,
F, I>,
T> {
5484 typedef Func2<R, void *, const void *, CastHandlerData2<R, P1, P2, F>, I>
5488 template <
class R,
class P1,
class P2,
class P3, R
F(P1, P2, P3),
class I,
5489 class R2,
class P1_2,
class P2_2,
class P3_2>
5490 struct ConvertParams<BoundFunc3<R, P1, P2, P3,
F, I>,
5491 R2 (*)(P1_2, P2_2, P3_2)> {
5492 typedef Func3<R,
void *,
const void *, P3_2,
5493 CastHandlerData3<R, P1, P2, P3_2, P3, F>, I>
Func;
5497 template <
class R,
class P1,
class P2, R
F(P1, P2,
const char *,
size_t),
5499 struct ConvertParams<BoundFunc4<R, P1, P2,
const char *, size_t,
F, I>,
T> {
5500 typedef Func5<R,
void *,
const void *,
const char *, size_t,
5502 CastHandlerDataIgnoreHandle<R, P1, P2, F>, I>
5506 template <
class R,
class P1,
class P2,
class P3,
class P4,
class P5,
5507 R
F(P1, P2, P3, P4, P5),
class I,
class T>
5508 struct ConvertParams<BoundFunc5<R, P1, P2, P3, P4, P5,
F, I>,
T> {
5509 typedef Func5<R,
void *,
const void *, P3, P4, P5,
5510 CastHandlerData5<R, P1, P2, P3, P4, P5, F>, I>
Func;
5515 #define TYPE_METHODS(utype, ltype, ctype, vtype) \
5517 struct CanonicalType<vtype> { \
5518 typedef ctype Type; \
5521 inline bool HandlersPtr::SetValueHandler<vtype>( \
5522 FieldDefPtr f, const HandlersPtr::utype##Handler &handler) { \
5523 handler.AddCleanup(ptr()); \
5524 return upb_handlers_set##ltype(ptr(), f.ptr(), handler.handler(), \
5528 TYPE_METHODS(
Double,
double,
double,
double)
5529 TYPE_METHODS(
Float,
float,
float,
float)
5532 TYPE_METHODS(
Int64,
int64, int64_t, UPB_INT64_T)
5533 TYPE_METHODS(
Int32,
int32, int32_t, UPB_INT32_T)
5534 TYPE_METHODS(
Bool,
bool,
bool,
bool)
5536 #ifdef UPB_TWO_32BIT_TYPES
5537 TYPE_METHODS(
Int32,
int32, int32_t, UPB_INT32ALT_T)
5538 TYPE_METHODS(
UInt32,
uint32, uint32_t, UPB_UINT32ALT_T)
5541 #ifdef UPB_TWO_64BIT_TYPES
5542 TYPE_METHODS(
Int64,
int64, int64_t, UPB_INT64ALT_T)
5543 TYPE_METHODS(
UInt64,
uint64, uint64_t, UPB_UINT64ALT_T)
5547 template <>
struct CanonicalType<
Status*> {
5551 template <
class F>
struct ReturnOf;
5553 template <
class R,
class P1,
class P2>
5554 struct ReturnOf<R (*)(P1, P2)> {
5558 template <
class R,
class P1,
class P2,
class P3>
5559 struct ReturnOf<R (*)(P1, P2, P3)> {
5563 template <
class R,
class P1,
class P2,
class P3,
class P4>
5564 struct ReturnOf<R (*)(P1, P2, P3, P4)> {
5568 template <
class R,
class P1,
class P2,
class P3,
class P4,
class P5>
5569 struct ReturnOf<R (*)(P1, P2, P3, P4, P5)> {
5576 inline Handler<T>::Handler(
F func)
5577 : registered_(
false),
5578 cleanup_data_(
func.GetData()),
5579 cleanup_func_(
func.GetCleanup()) {
5580 attr_.handler_data =
func.GetData();
5585 handler_ = ReturnWrappedFunc().Call;
5593 attr_.alwaysok = always_ok;
5596 attr_.closure_type = UniquePtrForType<typename F::FuncInfo::Closure>();
5605 typename F::FuncInfo::Closure>
::value
5607 attr_.return_closure_type = UniquePtrForType<EffectiveReturn>();
5614 if (cleanup_func_) {
5625 #undef UPB_TWO_32BIT_TYPES
5626 #undef UPB_TWO_64BIT_TYPES
5629 #undef UPB_INT32ALT_T
5630 #undef UPB_UINT32ALT_T
5633 #undef UPB_INT64ALT_T
5634 #undef UPB_UINT64ALT_T
5678 #define PUTVAL(type, ctype) \
5679 UPB_INLINE bool upb_sink_put##type(upb_sink s, upb_selector_t sel, \
5681 typedef upb_##type##_handlerfunc functype; \
5684 if (!s.handlers) return true; \
5685 func = (functype *)upb_handlers_gethandler(s.handlers, sel, &hd); \
5686 if (!func) return true; \
5687 return func(s.closure, hd, val); \
5705 const char *
buf,
size_t n,
5710 if (!
s.handlers)
return n;
5721 if (!
s.handlers)
return true;
5733 if (!
s.handlers)
return true;
5745 if (!
s.handlers)
return true;
5749 if (!
endmsg)
return true;
5750 return endmsg(
s.closure, hd, status);
5760 if (!
s.handlers)
return true;
5772 if (!
s.handlers)
return true;
5775 if (!
endseq)
return true;
5786 if (!
s.handlers)
return true;
5789 if (!startstr)
return true;
5790 sub->
closure = startstr(
s.closure, hd, size_hint);
5798 if (!
s.handlers)
return true;
5801 if (!endstr)
return true;
5802 return endstr(
s.closure, hd);
5818 if (!startsubmsg)
return true;
5819 sub->
closure = startsubmsg(
s.closure, hd);
5827 if (!
s.handlers)
return true;
5830 if (!endsubmsg)
return s.closure;
5831 return endsubmsg(
s.closure, hd);
5878 Sink(
const Sink&) =
default;
5879 Sink& operator=(
const Sink&) =
default;
5881 Sink(
const upb_sink& sink) : sink_(sink) {}
5882 Sink &operator=(
const upb_sink &sink) {
5893 template <
class T> Sink(
const upb_handlers* handlers,
T* closure) {
5894 Reset(handlers, closure);
5908 template <
class T>
T* GetObject()
const {
5909 return static_cast<T*
>(sink_.closure);
5936 bool PutInt32(HandlersPtr::Selector s, int32_t
val) {
5937 return upb_sink_putint32(sink_, s,
val);
5940 bool PutInt64(HandlersPtr::Selector s, int64_t
val) {
5941 return upb_sink_putint64(sink_, s,
val);
5944 bool PutUInt32(HandlersPtr::Selector s, uint32_t
val) {
5945 return upb_sink_putuint32(sink_, s,
val);
5948 bool PutUInt64(HandlersPtr::Selector s, uint64_t
val) {
5949 return upb_sink_putuint64(sink_, s,
val);
5952 bool PutFloat(HandlersPtr::Selector s,
float val) {
5953 return upb_sink_putfloat(sink_, s,
val);
5956 bool PutDouble(HandlersPtr::Selector s,
double val) {
5957 return upb_sink_putdouble(sink_, s,
val);
5960 bool PutBool(HandlersPtr::Selector s,
bool val) {
5961 return upb_sink_putbool(sink_, s,
val);
5969 bool StartString(HandlersPtr::Selector s,
size_t size_hint, Sink* sub) {
5976 size_t PutStringBuffer(HandlersPtr::Selector s,
const char *
buf,
size_t len,
5981 bool EndString(HandlersPtr::Selector s) {
5990 bool StartSubMessage(HandlersPtr::Selector s, Sink* sub) {
5997 bool EndSubMessage(HandlersPtr::Selector s) {
6007 bool StartSequence(HandlersPtr::Selector s, Sink* sub) {
6014 bool EndSequence(HandlersPtr::Selector s) {
6039 s->closure = closure;
6047 if (!
s.handler)
return true;
6054 return *subc !=
NULL;
6062 if (!
s.handler)
return true;
6073 if (!
s.handler)
return true;
6076 if (!
end)
return true;
6077 return end(
s.closure,
6083 class upb::BytesSink {
6087 BytesSink(
const BytesSink&) =
default;
6088 BytesSink& operator=(
const BytesSink&) =
default;
6111 bool Start(
size_t size_hint,
void **subc) {
6115 size_t PutBuffer(
void *subc,
const char *
buf,
size_t len,
6142 template <
class T>
bool PutBuffer(
const T&
str, BytesSink sink) {
6152 #ifndef UPB_MSGFACTORY_H_
6153 #define UPB_MSGFACTORY_H_
6200 #ifndef UPB_DECODER_INT_H_
6201 #define UPB_DECODER_INT_H_
6217 #ifndef UPB_DECODER_H_
6218 #define UPB_DECODER_H_
6226 class DecoderMethodPtr;
6227 class DecoderMethodOptions;
6237 #define UPB_DECODER_MAX_RESIDUAL_BYTES 14
6259 class upb::pb::DecoderMethodPtr {
6261 DecoderMethodPtr() : ptr_(nullptr) {}
6269 const Handlers *dest_handlers()
const {
6274 const BytesHandler* input_handler()
const {
6279 bool is_native()
const {
6295 #define UPB_PB_DECODER_SIZE 4416
6319 class upb::pb::DecoderPtr {
6321 DecoderPtr() : ptr_(nullptr) {}
6331 static DecoderPtr Create(Arena *arena, DecoderMethodPtr
method,
6334 output.sink(), status->ptr()));
6338 const DecoderMethodPtr
method()
const {
6401 class upb::pb::CodeCache {
6403 CodeCache(upb::HandlerCache *
dest)
6405 CodeCache(CodeCache&&) =
default;
6406 CodeCache& operator=(CodeCache&&) =
default;
6431 const DecoderMethodPtr
Get(MessageDefPtr md) {
6457 #define T(type) OP_PARSE_ ## type = UPB_DESCRIPTOR_TYPE_ ## type
6458 T(DOUBLE),
T(FLOAT),
T(INT64),
T(UINT64),
T(INT32),
T(FIXED64),
T(FIXED32),
6459 T(BOOL),
T(UINT32),
T(SFIXED32),
T(SFIXED64),
T(SINT32),
T(SINT64),
6500 #define OP_MAX OP_HALT
6527 #ifdef UPB_USE_JIT_X64
6545 #define UPB_DECODER_MAX_NESTING 64
6646 #ifdef UPB_USE_JIT_X64
6651 const void *saved_rsp;
6687 #define LABEL_DISPATCH 0
6691 #define DISPATCH_ENDMSG 0
6695 #define NO_WIRE_TYPE 0xff
6712 return (ofs << 16) | (wt2 << 8) | wt1;
6716 uint8_t *wt1, uint8_t *wt2) {
6729 #define DECODE_OK -1
6730 #define DECODE_MISMATCH -2
6731 #define DECODE_ENDGROUP -3
6733 #define CHECK_RETURN(x) { int32_t ret = x; if (ret >= 0) return ret; }
6741 #ifndef UPB_VARINT_DECODER_H_
6742 #define UPB_VARINT_DECODER_H_
6752 #define UPB_MAX_WIRE_TYPE 5
6755 #define UPB_PB_VARINT_MAX_LEN 10
6763 return ((((
val) & 0xff00000000000000ull) >> 56)
6764 | (((
val) & 0x00ff000000000000ull) >> 40)
6765 | (((
val) & 0x0000ff0000000000ull) >> 24)
6766 | (((
val) & 0x000000ff00000000ull) >> 8)
6767 | (((
val) & 0x00000000ff000000ull) << 8)
6768 | (((
val) & 0x0000000000ff0000ull) << 24)
6769 | (((
val) & 0x000000000000ff00ull) << 40)
6770 | (((
val) & 0x00000000000000ffull) << 56));
6776 return (
n >> 1) ^ -(int32_t)(
n & 1);
6779 return (
n >> 1) ^ -(int64_t)(
n & 1);
6806 #define UPB_VARINT_DECODER_CHECK2(name, decode_max8_function) \
6807 UPB_INLINE upb_decoderet upb_vdecode_check2_ ## name(const char *_p) { \
6808 uint8_t *p = (uint8_t*)_p; \
6810 if ((*p & 0x80) == 0) { \
6812 return upb_decoderet_make(_p + 1, *p & 0x7fU); \
6814 r = upb_decoderet_make(_p + 2, (*p & 0x7fU) | ((*(p + 1) & 0x7fU) << 7)); \
6815 if ((*(p + 1) & 0x80) == 0) { \
6820 return decode_max8_function(r); \
6825 #undef UPB_VARINT_DECODER_CHECK2
6830 if (
sizeof(
long) == 8)
6831 return upb_vdecode_check2_branch64(
p);
6833 return upb_vdecode_check2_branch32(
p);
6841 int high_bit = 63 - __builtin_clzll(
val);
6845 while(tmp >>= 1) high_bit++;
6847 return val == 0 ? 1 : high_bit / 8 + 1;
6856 if (
val == 0) {
buf[0] = 0;
return 1; }
6859 uint8_t
byte =
val & 0x7fU;
6861 if (
val)
byte |= 0x80U;
6879 #ifdef UPB_BIG_ENDIAN
6902 #ifndef UPB_ENCODER_H_
6903 #define UPB_ENCODER_H_
6914 #define UPB_PBENCODER_MAX_NESTING 100
6922 #define UPB_PB_ENCODER_SIZE 784
6942 class upb::pb::EncoderPtr {
6950 static EncoderPtr Create(Arena* arena,
const Handlers* handlers,
6960 static HandlerCache NewCache() {
6986 class TextPrinterPtr;
7010 class upb::pb::TextPrinterPtr {
7016 static TextPrinterPtr Create(Arena *arena, upb::HandlersPtr *handlers,
7018 return TextPrinterPtr(
7022 void SetSingleLineMode(
bool single_line) {
7030 static HandlerCache NewCache() {
7048 #ifndef UPB_JSON_PARSER_H_
7049 #define UPB_JSON_PARSER_H_
7057 class ParserMethodPtr;
7077 class upb::json::ParserMethodPtr {
7079 ParserMethodPtr() : ptr_(nullptr) {}
7084 const BytesHandler* input_handler()
const {
7100 #define UPB_JSON_PARSER_SIZE 5712
7122 class upb::json::ParserPtr {
7126 static ParserPtr Create(Arena* arena, ParserMethodPtr
method,
7131 arena->ptr(),
method.ptr(), symtab_ptr,
output.sink(), status->ptr(),
7163 class upb::json::CodeCache {
7169 ParserMethodPtr
Get(MessageDefPtr md) {
7186 #ifndef UPB_JSON_TYPED_PRINTER_H_
7187 #define UPB_JSON_TYPED_PRINTER_H_
7200 #define UPB_JSON_PRINTER_SIZE 192
7214 bool preserve_fieldnames,
7225 class upb::json::PrinterPtr {
7229 static PrinterPtr Create(Arena *arena,
const upb::Handlers *handlers,
7240 static HandlerCache NewCache(
bool preserve_proto_fieldnames) {
7254 #undef UPB_READ_ONEOF
7255 #undef UPB_WRITE_ONEOF
const upb_msglayout google_protobuf_ServiceOptions_msginit
void upb_inttable_compact2(upb_inttable *t, upb_alloc *a)
bool upb_double_handlerfunc(void *c, const void *hd, double val)
const UPB_INLINE google_protobuf_OneofDescriptorProto *const * google_protobuf_DescriptorProto_oneof_decl(const google_protobuf_DescriptorProto *msg, size_t *len)
UPB_INLINE google_protobuf_MessageOptions * google_protobuf_MessageOptions_new(upb_arena *arena)
UPB_INLINE upb_decoderet upb_vdecode_fast(const char *p)
UPB_INLINE void google_protobuf_MessageOptions_set_no_standard_descriptor_accessor(google_protobuf_MessageOptions *msg, bool value)
UPB_INLINE google_protobuf_FieldDescriptorProto * google_protobuf_FieldDescriptorProto_parse(const char *buf, size_t size, upb_arena *arena)
struct google_protobuf_OneofDescriptorProto google_protobuf_OneofDescriptorProto
void upb_inttable_next(upb_inttable_iter *i)
bool upb_array_set(upb_array *arr, size_t i, upb_msgval val)
UPB_INLINE char * google_protobuf_FileOptions_serialize(const google_protobuf_FileOptions *msg, upb_arena *arena, size_t *len)
upb_pb_encoder * upb_pb_encoder_create(upb_arena *a, const upb_handlers *h, upb_bytessink output)
void upb_msg_field_begin(upb_msg_field_iter *iter, const upb_msgdef *m)
const UPB_INLINE upb_oneofdef * upb_msgdef_ntooz(const upb_msgdef *m, const char *name)
UPB_INLINE bool google_protobuf_FileOptions_has_java_package(const google_protobuf_FileOptions *msg)
char * upb_strdup2(const char *s, size_t len, upb_alloc *a)
UPB_INLINE google_protobuf_EnumDescriptorProto * google_protobuf_EnumDescriptorProto_new(upb_arena *arena)
const char * upb_filedef_phpprefix(const upb_filedef *f)
UPB_INLINE void google_protobuf_DescriptorProto_ExtensionRange_set_start(google_protobuf_DescriptorProto_ExtensionRange *msg, int32_t value)
struct google_protobuf_DescriptorProto google_protobuf_DescriptorProto
struct google_protobuf_DescriptorProto_ExtensionRange google_protobuf_DescriptorProto_ExtensionRange
void upb_status_seterrmsg(upb_status *status, const char *msg)
google_protobuf_FieldDescriptorProto_Label
@ google_protobuf_FieldOptions_JS_NUMBER
UPB_INLINE bool google_protobuf_FileOptions_has_swift_prefix(const google_protobuf_FileOptions *msg)
void upb_pbcodecache_free(upb_pbcodecache *c)
UPB_INLINE bool google_protobuf_EnumOptions_allow_alias(const google_protobuf_EnumOptions *msg)
UPB_INLINE int32_t const * google_protobuf_FileDescriptorProto_public_dependency(const google_protobuf_FileDescriptorProto *msg, size_t *len)
UPB_INLINE upb_strview google_protobuf_FileOptions_go_package(const google_protobuf_FileOptions *msg)
bool upb_int32_handlerfunc(void *c, const void *hd, int32_t val)
void upb_handlercache_free(upb_handlercache *cache)
UPB_INLINE int32_t google_protobuf_GeneratedCodeInfo_Annotation_begin(const google_protobuf_GeneratedCodeInfo_Annotation *msg)
UPB_INLINE google_protobuf_FieldDescriptorProto ** google_protobuf_FileDescriptorProto_resize_extension(google_protobuf_FileDescriptorProto *msg, size_t len, upb_arena *arena)
WEPOLL_INTERNAL int init(void)
@ UPB_DESCRIPTOR_TYPE_UINT64
unsigned long long int UInt64
UPB_INLINE bool google_protobuf_FieldOptions_has_deprecated(const google_protobuf_FieldOptions *msg)
const upb_filedef * upb_symtab_lookupfile(const upb_symtab *s, const char *name)
bool upb_strtable_insert3(upb_strtable *t, const char *key, size_t len, upb_value val, upb_alloc *a)
GLuint const GLchar * name
PyObject * FindOneofByName(PyDescriptorPool *self, PyObject *arg)
UPB_INLINE void google_protobuf_OneofDescriptorProto_set_name(google_protobuf_OneofDescriptorProto *msg, upb_strview value)
UPB_INLINE google_protobuf_EnumValueDescriptorProto * google_protobuf_EnumValueDescriptorProto_new(upb_arena *arena)
UPB_INLINE int32_t const * google_protobuf_GeneratedCodeInfo_Annotation_path(const google_protobuf_GeneratedCodeInfo_Annotation *msg, size_t *len)
struct google_protobuf_SourceCodeInfo google_protobuf_SourceCodeInfo
UPB_INLINE bool upb_strtable_remove(upb_strtable *t, const char *key, upb_value *v)
UPB_INLINE int32_t const * google_protobuf_SourceCodeInfo_Location_path(const google_protobuf_SourceCodeInfo_Location *msg, size_t *len)
@ google_protobuf_FieldDescriptorProto_TYPE_FIXED64
UPB_INLINE char * google_protobuf_EnumValueOptions_serialize(const google_protobuf_EnumValueOptions *msg, upb_arena *arena, size_t *len)
UPB_INLINE google_protobuf_DescriptorProto_ReservedRange ** google_protobuf_DescriptorProto_resize_reserved_range(google_protobuf_DescriptorProto *msg, size_t len, upb_arena *arena)
UPB_INLINE struct google_protobuf_OneofDescriptorProto * google_protobuf_DescriptorProto_add_oneof_decl(google_protobuf_DescriptorProto *msg, upb_arena *arena)
UPB_INLINE bool google_protobuf_MethodDescriptorProto_has_client_streaming(const google_protobuf_MethodDescriptorProto *msg)
UPB_INLINE google_protobuf_EnumDescriptorProto_EnumReservedRange ** google_protobuf_EnumDescriptorProto_mutable_reserved_range(google_protobuf_EnumDescriptorProto *msg, size_t *len)
UPB_INLINE void google_protobuf_EnumValueOptions_set_deprecated(google_protobuf_EnumValueOptions *msg, bool value)
google_protobuf_FileOptions_OptimizeMode
UPB_INLINE void google_protobuf_FileOptions_set_py_generic_services(google_protobuf_FileOptions *msg, bool value)
struct upb_arena upb_arena
const upb_msgdef * upb_fielddef_containingtype(const upb_fielddef *f)
UPB_INLINE bool google_protobuf_UninterpretedOption_has_positive_int_value(const google_protobuf_UninterpretedOption *msg)
struct upb_json_codecache upb_json_codecache
UPB_INLINE bool upb_inttable_insertptr(upb_inttable *t, const void *key, upb_value val)
UPB_INLINE google_protobuf_UninterpretedOption ** google_protobuf_FieldOptions_mutable_uninterpreted_option(google_protobuf_FieldOptions *msg, size_t *len)
size_t upb_array_size(const upb_array *arr)
void * upb_startfield_handlerfunc(void *c, const void *hd)
UPB_INLINE google_protobuf_FileOptions * google_protobuf_FileOptions_new(upb_arena *arena)
UPB_INLINE struct google_protobuf_FileDescriptorProto * google_protobuf_FileDescriptorSet_add_file(google_protobuf_FileDescriptorSet *msg, upb_arena *arena)
const uint32_t ** callstack
UPB_INLINE int32_t upb_zzdec_32(uint32_t n)
UPB_INLINE void upb_value_setfloat(upb_value *val, float cval)
google_protobuf_FieldDescriptorProto_Type
UPB_INLINE google_protobuf_ExtensionRangeOptions * google_protobuf_ExtensionRangeOptions_parse(const char *buf, size_t size, upb_arena *arena)
bool upb_msgdef_lookupname(const upb_msgdef *m, const char *name, size_t len, const upb_fielddef **f, const upb_oneofdef **o)
upb_handlercache * upb_json_printer_newcache(bool preserve_proto_fieldnames)
@ UPB_DESCRIPTOR_TYPE_FIXED32
UPB_INLINE struct google_protobuf_FileOptions * google_protobuf_FileDescriptorProto_mutable_options(google_protobuf_FileDescriptorProto *msg, upb_arena *arena)
UPB_INLINE bool google_protobuf_EnumDescriptorProto_add_reserved_name(google_protobuf_EnumDescriptorProto *msg, upb_strview val, upb_arena *arena)
upb_fieldtype_t upb_array_type(const upb_array *arr)
UPB_INLINE upb_strview * google_protobuf_EnumDescriptorProto_mutable_reserved_name(google_protobuf_EnumDescriptorProto *msg, size_t *len)
@ UPB_HANDLER_STARTSUBMSG
UPB_INLINE bool google_protobuf_FieldDescriptorProto_has_number(const google_protobuf_FieldDescriptorProto *msg)
const upb_msglayout_field * fields
@ google_protobuf_FieldDescriptorProto_LABEL_REQUIRED
bool upb_msg_getscalarhandlerdata(const upb_handlers *h, upb_selector_t s, upb_fieldtype_t *type, size_t *offset, int32_t *hasbit)
const upb_msglayout google_protobuf_EnumValueOptions_msginit
UPB_INLINE char * google_protobuf_UninterpretedOption_NamePart_serialize(const google_protobuf_UninterpretedOption_NamePart *msg, upb_arena *arena, size_t *len)
const uint8_t upb_desctype_to_fieldtype[]
UPB_INLINE void google_protobuf_DescriptorProto_ReservedRange_set_end(google_protobuf_DescriptorProto_ReservedRange *msg, int32_t value)
@ UPB_DESCRIPTOR_TYPE_FIXED64
const upb_msglayout google_protobuf_DescriptorProto_ReservedRange_msginit
UPB_INLINE void google_protobuf_DescriptorProto_ExtensionRange_set_options(google_protobuf_DescriptorProto_ExtensionRange *msg, google_protobuf_ExtensionRangeOptions *value)
UPB_INLINE void google_protobuf_MessageOptions_set_map_entry(google_protobuf_MessageOptions *msg, bool value)
void upb_pbdecoder_freejit(mgroup *group)
const upb_oneofdef * upb_msg_iter_oneof(const upb_msg_oneof_iter *iter)
UPB_INLINE upb_strview const * google_protobuf_FileDescriptorProto_dependency(const google_protobuf_FileDescriptorProto *msg, size_t *len)
struct google_protobuf_MethodOptions google_protobuf_MethodOptions
UPB_INLINE google_protobuf_GeneratedCodeInfo * google_protobuf_GeneratedCodeInfo_parse(const char *buf, size_t size, upb_arena *arena)
void upb_inttable_begin(upb_inttable_iter *i, const upb_inttable *t)
UPB_INLINE int64_t upb_zzdec_64(uint64_t n)
UPB_INLINE struct google_protobuf_MessageOptions * google_protobuf_DescriptorProto_mutable_options(google_protobuf_DescriptorProto *msg, upb_arena *arena)
UPB_INLINE upb_value upb_value_float(float cval)
void upb_arena_free(upb_arena *a)
@ UPB_DESCRIPTOR_TYPE_INT64
@ UPB_WELLKNOWN_STRINGVALUE
const upb_pbdecodermethod * upb_pbdecoder_method(const upb_pbdecoder *d)
@ UPB_WELLKNOWN_UINT64VALUE
UPB_INLINE upb_arena * upb_arena_new()
UPB_INLINE bool google_protobuf_UninterpretedOption_has_string_value(const google_protobuf_UninterpretedOption *msg)
upb_pbdecoder_frame * stack
UPB_INLINE upb_strview google_protobuf_OneofDescriptorProto_name(const google_protobuf_OneofDescriptorProto *msg)
UPB_INLINE int64_t google_protobuf_UninterpretedOption_negative_int_value(const google_protobuf_UninterpretedOption *msg)
UPB_INLINE bool google_protobuf_FileDescriptorProto_add_weak_dependency(google_protobuf_FileDescriptorProto *msg, int32_t val, upb_arena *arena)
UPB_INLINE void google_protobuf_UninterpretedOption_set_identifier_value(google_protobuf_UninterpretedOption *msg, upb_strview value)
UPB_INLINE bool google_protobuf_MethodDescriptorProto_server_streaming(const google_protobuf_MethodDescriptorProto *msg)
UPB_INLINE google_protobuf_GeneratedCodeInfo_Annotation * google_protobuf_GeneratedCodeInfo_Annotation_new(upb_arena *arena)
upb_msgfactory * upb_msgfactory_new(const upb_symtab *symtab)
UPB_INLINE char * google_protobuf_EnumValueDescriptorProto_serialize(const google_protobuf_EnumValueDescriptorProto *msg, upb_arena *arena, size_t *len)
void upb_msg_addunknown(upb_msg *msg, const char *data, size_t len)
void upb_strtable_packedsize(const upb_strtable *t, size_t *size)
UPB_INLINE void google_protobuf_FieldDescriptorProto_set_name(google_protobuf_FieldDescriptorProto *msg, upb_strview value)
upb_pbdecoder * upb_pbdecoder_create(upb_arena *arena, const upb_pbdecodermethod *method, upb_sink output, upb_status *status)
const UPB_INLINE google_protobuf_EnumOptions * google_protobuf_EnumDescriptorProto_options(const google_protobuf_EnumDescriptorProto *msg)
UPB_INLINE bool google_protobuf_FileOptions_php_generic_services(const google_protobuf_FileOptions *msg)
const UPB_INLINE google_protobuf_FileDescriptorProto *const * google_protobuf_FileDescriptorSet_file(const google_protobuf_FileDescriptorSet *msg, size_t *len)
void upb_msg_field_next(upb_msg_field_iter *iter)
UPB_INLINE bool google_protobuf_GeneratedCodeInfo_Annotation_has_begin(const google_protobuf_GeneratedCodeInfo_Annotation *msg)
UPB_INLINE char * google_protobuf_ExtensionRangeOptions_serialize(const google_protobuf_ExtensionRangeOptions *msg, upb_arena *arena, size_t *len)
UPB_INLINE struct google_protobuf_UninterpretedOption * google_protobuf_ServiceOptions_add_uninterpreted_option(google_protobuf_ServiceOptions *msg, upb_arena *arena)
UPB_INLINE upb_strview google_protobuf_SourceCodeInfo_Location_leading_comments(const google_protobuf_SourceCodeInfo_Location *msg)
UPB_INLINE bool google_protobuf_UninterpretedOption_has_identifier_value(const google_protobuf_UninterpretedOption *msg)
UPB_INLINE upb_strview google_protobuf_FileDescriptorProto_name(const google_protobuf_FileDescriptorProto *msg)
@ google_protobuf_FieldDescriptorProto_TYPE_INT64
bool upb_msg_setscalarhandler(upb_handlers *h, const upb_fielddef *f, size_t offset, int32_t hasbit)
@ google_protobuf_FieldDescriptorProto_TYPE_UINT64
const upb_filedef * upb_msgdef_file(const upb_msgdef *m)
bool upb_inttable_remove(upb_inttable *t, uintptr_t key, upb_value *val)
const UPB_INLINE google_protobuf_MethodOptions * google_protobuf_MethodDescriptorProto_options(const google_protobuf_MethodDescriptorProto *msg)
UPB_INLINE void google_protobuf_FileDescriptorProto_set_syntax(google_protobuf_FileDescriptorProto *msg, upb_strview value)
const upb_enumdef * upb_fielddef_enumsubdef(const upb_fielddef *f)
struct upb_msglayout upb_msglayout
UPB_INLINE bool google_protobuf_OneofDescriptorProto_has_name(const google_protobuf_OneofDescriptorProto *msg)
upb_textprinter * upb_textprinter_create(upb_arena *arena, const upb_handlers *h, upb_bytessink output)
#define UPB_SIZE(size32, size64)
UPB_INLINE bool google_protobuf_MethodDescriptorProto_has_name(const google_protobuf_MethodDescriptorProto *msg)
UPB_INLINE bool google_protobuf_MethodDescriptorProto_has_output_type(const google_protobuf_MethodDescriptorProto *msg)
char * upb_strdup(const char *s, upb_alloc *a)
UPB_INLINE bool google_protobuf_MethodOptions_deprecated(const google_protobuf_MethodOptions *msg)
UPB_INLINE char * google_protobuf_DescriptorProto_serialize(const google_protobuf_DescriptorProto *msg, upb_arena *arena, size_t *len)
uint128 operator*(const uint128 &lhs, const uint128 &rhs)
UPB_INLINE int32_t * google_protobuf_FileDescriptorProto_mutable_public_dependency(google_protobuf_FileDescriptorProto *msg, size_t *len)
UPB_INLINE bool google_protobuf_UninterpretedOption_NamePart_is_extension(const google_protobuf_UninterpretedOption_NamePart *msg)
GLenum GLuint GLenum GLsizei length
@ UPB_WELLKNOWN_TIMESTAMP
#define UPB_PB_VARINT_MAX_LEN
UPB_INLINE int32_t google_protobuf_DescriptorProto_ExtensionRange_start(const google_protobuf_DescriptorProto_ExtensionRange *msg)
UPB_INLINE void google_protobuf_GeneratedCodeInfo_Annotation_set_source_file(google_protobuf_GeneratedCodeInfo_Annotation *msg, upb_strview value)
int32_t upb_fielddef_defaultint32(const upb_fielddef *f)
void upb_enum_begin(upb_enum_iter *iter, const upb_enumdef *e)
bool upb_pbcodecache_allowjit(const upb_pbcodecache *c)
UPB_INLINE int upb_value_size(uint64_t val)
UPB_INLINE struct google_protobuf_EnumDescriptorProto * google_protobuf_FileDescriptorProto_add_enum_type(google_protobuf_FileDescriptorProto *msg, upb_arena *arena)
upb_symtab * upb_symtab_new()
UPB_INLINE google_protobuf_EnumValueDescriptorProto * google_protobuf_EnumValueDescriptorProto_parse(const char *buf, size_t size, upb_arena *arena)
UPB_INLINE void google_protobuf_FileOptions_set_csharp_namespace(google_protobuf_FileOptions *msg, upb_strview value)
UPB_INLINE void google_protobuf_FileDescriptorProto_set_source_code_info(google_protobuf_FileDescriptorProto *msg, google_protobuf_SourceCodeInfo *value)
const upb_msglayout google_protobuf_FileOptions_msginit
static PyObject * GetJsonName(PyBaseDescriptor *self, void *closure)
const upb_msgdef * upb_symtab_lookupmsg2(const upb_symtab *s, const char *sym, size_t len)
upb_json_printer * upb_json_printer_create(upb_arena *a, const upb_handlers *h, upb_bytessink output)
UPB_INLINE void google_protobuf_DescriptorProto_ReservedRange_set_start(google_protobuf_DescriptorProto_ReservedRange *msg, int32_t value)
UPB_INLINE google_protobuf_GeneratedCodeInfo_Annotation ** google_protobuf_GeneratedCodeInfo_mutable_annotation(google_protobuf_GeneratedCodeInfo *msg, size_t *len)
bool upb_handlers_setstartmsg(upb_handlers *h, upb_startmsg_handlerfunc *func, const upb_handlerattr *attr)
UPB_INLINE uint64_t google_protobuf_UninterpretedOption_positive_int_value(const google_protobuf_UninterpretedOption *msg)
bool upb_decode(const char *buf, size_t size, upb_msg *msg, const upb_msglayout *l)
UPB_INLINE bool google_protobuf_UninterpretedOption_has_negative_int_value(const google_protobuf_UninterpretedOption *msg)
bool upb_msgdef_isnumberwrapper(const upb_msgdef *m)
UPB_INLINE bool google_protobuf_EnumDescriptorProto_EnumReservedRange_has_start(const google_protobuf_EnumDescriptorProto_EnumReservedRange *msg)
const upb_msglayout google_protobuf_UninterpretedOption_msginit
UPB_INLINE google_protobuf_FileDescriptorProto * google_protobuf_FileDescriptorProto_new(upb_arena *arena)
void upb_strtable_uninit2(upb_strtable *table, upb_alloc *a)
int64_t upb_fielddef_defaultint64(const upb_fielddef *f)
UPB_INLINE void google_protobuf_MethodDescriptorProto_set_output_type(google_protobuf_MethodDescriptorProto *msg, upb_strview value)
bool upb_handlers_setstartseq(upb_handlers *h, const upb_fielddef *f, upb_startfield_handlerfunc *func, const upb_handlerattr *attr)
const upb_oneofdef * upb_msgdef_ntoo(const upb_msgdef *m, const char *name, size_t len)
UPB_INLINE char * google_protobuf_MessageOptions_serialize(const google_protobuf_MessageOptions *msg, upb_arena *arena, size_t *len)
const UPB_INLINE google_protobuf_GeneratedCodeInfo_Annotation *const * google_protobuf_GeneratedCodeInfo_annotation(const google_protobuf_GeneratedCodeInfo *msg, size_t *len)
UPB_INLINE void google_protobuf_FileOptions_set_java_multiple_files(google_protobuf_FileOptions *msg, bool value)
const UPB_INLINE upb_fielddef * upb_oneofdef_ntofz(const upb_oneofdef *o, const char *name)
upb_byteshandler input_handler_
UPB_INLINE struct google_protobuf_EnumDescriptorProto_EnumReservedRange * google_protobuf_EnumDescriptorProto_add_reserved_range(google_protobuf_EnumDescriptorProto *msg, upb_arena *arena)
UPB_INLINE google_protobuf_DescriptorProto_ReservedRange ** google_protobuf_DescriptorProto_mutable_reserved_range(google_protobuf_DescriptorProto *msg, size_t *len)
UPB_INLINE void google_protobuf_FieldDescriptorProto_set_extendee(google_protobuf_FieldDescriptorProto *msg, upb_strview value)
UPB_INLINE google_protobuf_FieldDescriptorProto * google_protobuf_FieldDescriptorProto_new(upb_arena *arena)
UPB_INLINE google_protobuf_DescriptorProto_ReservedRange * google_protobuf_DescriptorProto_ReservedRange_parse(const char *buf, size_t size, upb_arena *arena)
void upb_pbdecoder_seterr(upb_pbdecoder *d, const char *msg)
UPB_INLINE google_protobuf_EnumDescriptorProto_EnumReservedRange * google_protobuf_EnumDescriptorProto_EnumReservedRange_new(upb_arena *arena)
UPB_INLINE upb_strview * google_protobuf_EnumDescriptorProto_resize_reserved_name(google_protobuf_EnumDescriptorProto *msg, size_t len, upb_arena *arena)
@ UPB_DESCRIPTOR_TYPE_SFIXED32
bool upb_handlers_setendstr(upb_handlers *h, const upb_fielddef *f, upb_endfield_handlerfunc *func, const upb_handlerattr *attr)
bool upb_msg_oneof_iter_isequal(const upb_msg_oneof_iter *iter1, const upb_msg_oneof_iter *iter2)
upb_decoderet upb_vdecode_max8_branch64(upb_decoderet r)
const char * upb_fielddef_fullname(const upb_fielddef *f)
static PyObject * Get(PyContainer *self, PyObject *args)
uint32_t upb_fielddef_index(const upb_fielddef *f)
upb_descriptortype_t upb_fielddef_descriptortype(const upb_fielddef *f)
UPB_INLINE int32_t google_protobuf_DescriptorProto_ReservedRange_end(const google_protobuf_DescriptorProto_ReservedRange *msg)
bool upb_pbdecoder_setmaxnesting(upb_pbdecoder *d, size_t max)
UPB_INLINE int32_t const * google_protobuf_FileDescriptorProto_weak_dependency(const google_protobuf_FileDescriptorProto *msg, size_t *len)
GLuint GLsizei const GLchar * label
UPB_INLINE google_protobuf_UninterpretedOption ** google_protobuf_EnumValueOptions_mutable_uninterpreted_option(google_protobuf_EnumValueOptions *msg, size_t *len)
UPB_INLINE bool google_protobuf_FieldDescriptorProto_has_default_value(const google_protobuf_FieldDescriptorProto *msg)
UPB_INLINE bool google_protobuf_EnumDescriptorProto_EnumReservedRange_has_end(const google_protobuf_EnumDescriptorProto_EnumReservedRange *msg)
const upb_fielddef * upb_oneofdef_itof(const upb_oneofdef *o, uint32_t num)
@ google_protobuf_FieldOptions_JS_NORMAL
UPB_INLINE bool google_protobuf_MessageOptions_has_message_set_wire_format(const google_protobuf_MessageOptions *msg)
const upb_msglayout google_protobuf_FieldDescriptorProto_msginit
#define UPB_FIELD_AT(msg, fieldtype, offset)
bool upb_endfield_handlerfunc(void *c, const void *hd)
@ UPB_DESCRIPTOR_TYPE_FLOAT
struct google_protobuf_EnumValueOptions google_protobuf_EnumValueOptions
UPB_INLINE struct google_protobuf_UninterpretedOption * google_protobuf_EnumOptions_add_uninterpreted_option(google_protobuf_EnumOptions *msg, upb_arena *arena)
UPB_INLINE int32_t google_protobuf_MethodOptions_idempotency_level(const google_protobuf_MethodOptions *msg)
UPB_INLINE struct google_protobuf_MethodDescriptorProto * google_protobuf_ServiceDescriptorProto_add_method(google_protobuf_ServiceDescriptorProto *msg, upb_arena *arena)
UPB_INLINE bool google_protobuf_FileOptions_has_deprecated(const google_protobuf_FileOptions *msg)
bool upb_oneof_iter_isequal(const upb_oneof_iter *iter1, const upb_oneof_iter *iter2)
int32_t upb_pbdecoder_decode_f64(upb_pbdecoder *d, uint64_t *u64)
void AddFile(const std::string &filename, const std::string &data)
const UPB_INLINE google_protobuf_UninterpretedOption *const * google_protobuf_MethodOptions_uninterpreted_option(const google_protobuf_MethodOptions *msg, size_t *len)
UPB_INLINE void google_protobuf_FileOptions_set_java_package(google_protobuf_FileOptions *msg, upb_strview value)
@ google_protobuf_FieldDescriptorProto_TYPE_MESSAGE
UPB_INLINE char * google_protobuf_DescriptorProto_ReservedRange_serialize(const google_protobuf_DescriptorProto_ReservedRange *msg, upb_arena *arena, size_t *len)
UPB_INLINE bool upb_inttable_init(upb_inttable *table, upb_ctype_t ctype)
UPB_INLINE void google_protobuf_MethodDescriptorProto_set_client_streaming(google_protobuf_MethodDescriptorProto *msg, bool value)
uint32_t upb_fielddef_defaultuint32(const upb_fielddef *f)
const char * upb_strtable_iter_key(const upb_strtable_iter *i)
UPB_INLINE char * google_protobuf_EnumOptions_serialize(const google_protobuf_EnumOptions *msg, upb_arena *arena, size_t *len)
const upb_bufhandle * handle
UPB_INLINE upb_strview google_protobuf_FileOptions_csharp_namespace(const google_protobuf_FileOptions *msg)
UPB_INLINE bool google_protobuf_DescriptorProto_ReservedRange_has_start(const google_protobuf_DescriptorProto_ReservedRange *msg)
UPB_INLINE upb_strview google_protobuf_FieldDescriptorProto_extendee(const google_protobuf_FieldDescriptorProto *msg)
struct _upb_tabent upb_tabent
void upb_mapiter_free(upb_mapiter *i, upb_alloc *a)
UPB_INLINE void * _upb_array_resize_accessor(void *msg, size_t ofs, size_t size, size_t elem_size, upb_fieldtype_t type, upb_arena *arena)
const upb_msglayout google_protobuf_MessageOptions_msginit
uint32_t upb_fielddef_number(const upb_fielddef *f)
struct upb_handlercache upb_handlercache
UPB_INLINE void google_protobuf_EnumDescriptorProto_EnumReservedRange_set_start(google_protobuf_EnumDescriptorProto_EnumReservedRange *msg, int32_t value)
const upb_enumdef * upb_filedef_enum(const upb_filedef *f, int i)
UPB_INLINE bool google_protobuf_GeneratedCodeInfo_Annotation_has_source_file(const google_protobuf_GeneratedCodeInfo_Annotation *msg)
UPB_INLINE google_protobuf_DescriptorProto ** google_protobuf_FileDescriptorProto_mutable_message_type(google_protobuf_FileDescriptorProto *msg, size_t *len)
UPB_INLINE void google_protobuf_FileDescriptorProto_set_package(google_protobuf_FileDescriptorProto *msg, upb_strview value)
UPB_INLINE upb_strview * google_protobuf_SourceCodeInfo_Location_resize_leading_detached_comments(google_protobuf_SourceCodeInfo_Location *msg, size_t len, upb_arena *arena)
@ google_protobuf_FieldDescriptorProto_TYPE_SINT64
void upb_inttable_packedsize(const upb_inttable *t, size_t *size)
UPB_INLINE char * google_protobuf_FileDescriptorSet_serialize(const google_protobuf_FileDescriptorSet *msg, upb_arena *arena, size_t *len)
const UPB_INLINE google_protobuf_UninterpretedOption *const * google_protobuf_EnumValueOptions_uninterpreted_option(const google_protobuf_EnumValueOptions *msg, size_t *len)
const UPB_INLINE google_protobuf_MessageOptions * google_protobuf_DescriptorProto_options(const google_protobuf_DescriptorProto *msg)
const UPB_INLINE google_protobuf_EnumDescriptorProto *const * google_protobuf_FileDescriptorProto_enum_type(const google_protobuf_FileDescriptorProto *msg, size_t *len)
upb_label_t upb_fielddef_label(const upb_fielddef *f)
const UPB_INLINE google_protobuf_FieldOptions * google_protobuf_FieldDescriptorProto_options(const google_protobuf_FieldDescriptorProto *msg)
bool upb_int64_handlerfunc(void *c, const void *hd, int64_t val)
UPB_INLINE google_protobuf_FieldDescriptorProto ** google_protobuf_DescriptorProto_resize_extension(google_protobuf_DescriptorProto *msg, size_t len, upb_arena *arena)
#define UPB_UNKNOWN_SELECTOR
struct upb_def_init ** deps
UPB_INLINE bool upb_strtable_init(upb_strtable *table, upb_ctype_t ctype)
bool upb_handlers_addcleanup(upb_handlers *h, void *p, upb_handlerfree *hfree)
google_protobuf_FieldOptions_CType
UPB_INLINE void google_protobuf_FieldDescriptorProto_set_label(google_protobuf_FieldDescriptorProto *msg, int32_t value)
int upb_filedef_enumcount(const upb_filedef *f)
int32_t upb_enum_iter_number(upb_enum_iter *iter)
UPB_INLINE void google_protobuf_ServiceOptions_set_deprecated(google_protobuf_ServiceOptions *msg, bool value)
UPB_INLINE char * google_protobuf_GeneratedCodeInfo_serialize(const google_protobuf_GeneratedCodeInfo *msg, upb_arena *arena, size_t *len)
GLsizei const GLchar *const * string
const UPB_INLINE google_protobuf_FieldDescriptorProto *const * google_protobuf_FileDescriptorProto_extension(const google_protobuf_FileDescriptorProto *msg, size_t *len)
UPB_INLINE bool google_protobuf_DescriptorProto_ReservedRange_has_end(const google_protobuf_DescriptorProto_ReservedRange *msg)
bool upb_oneof_done(upb_oneof_iter *iter)
const UPB_INLINE google_protobuf_FieldDescriptorProto *const * google_protobuf_DescriptorProto_extension(const google_protobuf_DescriptorProto *msg, size_t *len)
UPB_INLINE size_t upb_vencode64(uint64_t val, char *buf)
UPB_INLINE bool google_protobuf_FieldOptions_deprecated(const google_protobuf_FieldOptions *msg)
UPB_INLINE size_t upb_sink_putstring(upb_sink s, upb_selector_t sel, const char *buf, size_t n, const upb_bufhandle *handle)
void upb_strtable_next(upb_strtable_iter *i)
uint32_t upb_oneofdef_index(const upb_oneofdef *o)
UPB_INLINE bool google_protobuf_SourceCodeInfo_Location_has_leading_comments(const google_protobuf_SourceCodeInfo_Location *msg)
PHP_PROTO_OBJECT_FREE_END PHP_PROTO_OBJECT_DTOR_END if(!upb_strtable_init(&intern->table, UPB_CTYPE_UINT64))
bool upb_inttable_init2(upb_inttable *table, upb_ctype_t ctype, upb_alloc *a)
UPB_INLINE bool google_protobuf_FieldOptions_has_packed(const google_protobuf_FieldOptions *msg)
google_protobuf_MethodOptions_IdempotencyLevel
UPB_INLINE google_protobuf_FieldOptions * google_protobuf_FieldOptions_new(upb_arena *arena)
UPB_INLINE upb_strview google_protobuf_ServiceDescriptorProto_name(const google_protobuf_ServiceDescriptorProto *msg)
UPB_INLINE void google_protobuf_EnumDescriptorProto_set_name(google_protobuf_EnumDescriptorProto *msg, upb_strview value)
UPB_INLINE bool google_protobuf_FileOptions_has_php_namespace(const google_protobuf_FileOptions *msg)
UPB_INLINE bool google_protobuf_EnumOptions_has_deprecated(const google_protobuf_EnumOptions *msg)
UPB_INLINE google_protobuf_EnumDescriptorProto * google_protobuf_EnumDescriptorProto_parse(const char *buf, size_t size, upb_arena *arena)
int upb_msgdef_numoneofs(const upb_msgdef *m)
UPB_INLINE bool google_protobuf_MethodOptions_has_idempotency_level(const google_protobuf_MethodOptions *msg)
UPB_INLINE google_protobuf_MethodDescriptorProto ** google_protobuf_ServiceDescriptorProto_resize_method(google_protobuf_ServiceDescriptorProto *msg, size_t len, upb_arena *arena)
UPB_INLINE opcode getop(uint32_t instr)
@ google_protobuf_FieldOptions_CORD
bool upb_inttable_lookup(const upb_inttable *t, uintptr_t key, upb_value *v)
UPB_INLINE void google_protobuf_SourceCodeInfo_Location_set_trailing_comments(google_protobuf_SourceCodeInfo_Location *msg, upb_strview value)
UPB_INLINE void google_protobuf_MessageOptions_set_deprecated(google_protobuf_MessageOptions *msg, bool value)
bool upb_inttable_push2(upb_inttable *t, upb_value val, upb_alloc *a)
bool upb_handlers_setbool(upb_handlers *h, const upb_fielddef *f, upb_bool_handlerfunc *func, const upb_handlerattr *attr)
UPB_INLINE bool google_protobuf_FileOptions_has_java_outer_classname(const google_protobuf_FileOptions *msg)
void upb_enum_next(upb_enum_iter *iter)
UPB_INLINE bool google_protobuf_MethodOptions_has_deprecated(const google_protobuf_MethodOptions *msg)
bool upb_handlers_getselector(const upb_fielddef *f, upb_handlertype_t type, upb_selector_t *s)
UPB_INLINE bool upb_inttable_lookup32(const upb_inttable *t, uint32_t key, upb_value *v)
UPB_INLINE uintptr_t upb_intkey(uintptr_t key)
UPB_INLINE google_protobuf_UninterpretedOption ** google_protobuf_MessageOptions_resize_uninterpreted_option(google_protobuf_MessageOptions *msg, size_t len, upb_arena *arena)
bool upb_pbdecodermethod_isnative(const upb_pbdecodermethod *m)
bool upb_strtable_done(const upb_strtable_iter *i)
UPB_INLINE int32_t google_protobuf_EnumDescriptorProto_EnumReservedRange_start(const google_protobuf_EnumDescriptorProto_EnumReservedRange *msg)
UPB_INLINE char * google_protobuf_FieldDescriptorProto_serialize(const google_protobuf_FieldDescriptorProto *msg, upb_arena *arena, size_t *len)
@ google_protobuf_FieldOptions_STRING
const upb_enumdef * upb_symtab_lookupenum(const upb_symtab *s, const char *sym)
static int32_t dispatch(upb_pbdecoder *d)
const upb_pbdecodermethod * method_
TypeWithSize< 4 >::Int Int32
UPB_INLINE upb_strview * google_protobuf_DescriptorProto_resize_reserved_name(google_protobuf_DescriptorProto *msg, size_t len, upb_arena *arena)
const upb_filedef * upb_enumdef_file(const upb_enumdef *e)
bool upb_msg_has(const upb_msg *msg, int field_index, const upb_msglayout *l)
UPB_INLINE bool google_protobuf_FileOptions_java_generate_equals_and_hash(const google_protobuf_FileOptions *msg)
bool upb_arena_addcleanup(upb_arena *a, void *ud, upb_cleanup_func *func)
static int Func(int i, int j)
const UPB_INLINE google_protobuf_EnumValueOptions * google_protobuf_EnumValueDescriptorProto_options(const google_protobuf_EnumValueDescriptorProto *msg)
upb_handlercache * upb_textprinter_newcache()
size_t upb_msgdef_selectorcount(const upb_msgdef *m)
struct google_protobuf_SourceCodeInfo_Location google_protobuf_SourceCodeInfo_Location
UPB_INLINE upb_strview google_protobuf_UninterpretedOption_string_value(const google_protobuf_UninterpretedOption *msg)
UPB_INLINE struct google_protobuf_EnumOptions * google_protobuf_EnumDescriptorProto_mutable_options(google_protobuf_EnumDescriptorProto *msg, upb_arena *arena)
const upb_msglayout google_protobuf_DescriptorProto_msginit
UPB_INLINE struct google_protobuf_FieldDescriptorProto * google_protobuf_FileDescriptorProto_add_extension(google_protobuf_FileDescriptorProto *msg, upb_arena *arena)
UPB_INLINE void * upb_arena_malloc(upb_arena *a, size_t size)
UPB_INLINE uint64_t byteswap64(uint64_t val)
UPB_INLINE bool google_protobuf_SourceCodeInfo_Location_has_trailing_comments(const google_protobuf_SourceCodeInfo_Location *msg)
UPB_INLINE struct google_protobuf_EnumValueOptions * google_protobuf_EnumValueDescriptorProto_mutable_options(google_protobuf_EnumValueDescriptorProto *msg, upb_arena *arena)
const upb_handlers * handlers
int upb_filedef_msgcount(const upb_filedef *f)
const upb_msglayout google_protobuf_GeneratedCodeInfo_msginit
UPB_INLINE upb_value _upb_value_val(uint64_t val, upb_ctype_t ctype)
UPB_INLINE bool google_protobuf_FileDescriptorProto_has_package(const google_protobuf_FileDescriptorProto *msg)
UPB_INLINE struct google_protobuf_UninterpretedOption * google_protobuf_EnumValueOptions_add_uninterpreted_option(google_protobuf_EnumValueOptions *msg, upb_arena *arena)
int upb_oneofdef_numfields(const upb_oneofdef *o)
UPB_INLINE bool google_protobuf_MessageOptions_message_set_wire_format(const google_protobuf_MessageOptions *msg)
UPB_INLINE bool google_protobuf_EnumValueDescriptorProto_has_options(const google_protobuf_EnumValueDescriptorProto *msg)
UPB_INLINE size_t upb_varint_size(uint64_t val)
int32_t upb_pbdecoder_resume(upb_pbdecoder *d, void *p, const char *buf, size_t size, const upb_bufhandle *handle)
const UPB_INLINE google_protobuf_UninterpretedOption_NamePart *const * google_protobuf_UninterpretedOption_name(const google_protobuf_UninterpretedOption *msg, size_t *len)
struct google_protobuf_GeneratedCodeInfo_Annotation google_protobuf_GeneratedCodeInfo_Annotation
const upb_fielddef * upb_oneofdef_ntof(const upb_oneofdef *o, const char *name, size_t length)
bool upb_bool_handlerfunc(void *c, const void *hd, bool val)
bool upb_fielddef_isprimitive(const upb_fielddef *f)
bool upb_fielddef_issubmsg(const upb_fielddef *f)
const char * upb_filedef_phpnamespace(const upb_filedef *f)
google_protobuf_FieldOptions_JSType
bool upb_strtable_init2(upb_strtable *table, upb_ctype_t ctype, upb_alloc *a)
const upb_msglayout google_protobuf_GeneratedCodeInfo_Annotation_msginit
static uint32_t idx(tarjan *t, const upb_refcounted *r)
UPB_INLINE google_protobuf_OneofDescriptorProto * google_protobuf_OneofDescriptorProto_parse(const char *buf, size_t size, upb_arena *arena)
const upb_msglayout google_protobuf_SourceCodeInfo_msginit
bool upb_byteshandler_setstartstr(upb_byteshandler *h, upb_startstr_handlerfunc *func, void *d)
static bool endseq(void *closure, const void *handler_data)
UPB_INLINE bool google_protobuf_EnumValueOptions_deprecated(const google_protobuf_EnumValueOptions *msg)
@ google_protobuf_FieldDescriptorProto_TYPE_GROUP
bool _upb_symtab_loaddefinit(upb_symtab *s, const upb_def_init *init)
struct google_protobuf_ServiceDescriptorProto google_protobuf_ServiceDescriptorProto
upb_inttable * upb_inttable_pack(const upb_inttable *t, void *p, size_t *ofs, size_t size)
void upb_msg_oneof_next(upb_msg_oneof_iter *iter)
void * upb_alloc_func(upb_alloc *alloc, void *ptr, size_t oldsize, size_t size)
UPB_INLINE void google_protobuf_FileOptions_set_go_package(google_protobuf_FileOptions *msg, upb_strview value)
bool upb_mapiter_isequal(const upb_mapiter *i1, const upb_mapiter *i2)
float upb_fielddef_defaultfloat(const upb_fielddef *f)
UPB_INLINE google_protobuf_DescriptorProto_ExtensionRange ** google_protobuf_DescriptorProto_resize_extension_range(google_protobuf_DescriptorProto *msg, size_t len, upb_arena *arena)
upb_handlertype_t upb_handlers_getprimitivehandlertype(const upb_fielddef *f)
UPB_INLINE bool _upb_has_field(const void *msg, size_t idx)
UPB_INLINE google_protobuf_FileDescriptorSet * google_protobuf_FileDescriptorSet_parse(const char *buf, size_t size, upb_arena *arena)
UPB_INLINE void google_protobuf_FieldDescriptorProto_set_type_name(google_protobuf_FieldDescriptorProto *msg, upb_strview value)
const upb_handlers * upb_json_printer_newhandlers(const upb_msgdef *md, bool preserve_fieldnames, const void *owner)
UPB_INLINE upb_value upb_value_double(double cval)
const UPB_INLINE upb_fielddef * upb_msgdef_ntofz(const upb_msgdef *m, const char *name)
const upb_handlers * upb_handlers_getsubhandlers_sel(const upb_handlers *h, upb_selector_t sel)
const UPB_INLINE google_protobuf_DescriptorProto *const * google_protobuf_FileDescriptorProto_message_type(const google_protobuf_FileDescriptorProto *msg, size_t *len)
upb_alloc upb_alloc_global
UPB_INLINE char * google_protobuf_GeneratedCodeInfo_Annotation_serialize(const google_protobuf_GeneratedCodeInfo_Annotation *msg, upb_arena *arena, size_t *len)
const char * upb_msg_getunknown(const upb_msg *msg, size_t *len)
FloatingPoint< double > Double
UPB_INLINE void google_protobuf_FieldDescriptorProto_set_number(google_protobuf_FieldDescriptorProto *msg, int32_t value)
bool upb_handlers_setendsubmsg(upb_handlers *h, const upb_fielddef *f, upb_endfield_handlerfunc *func, const upb_handlerattr *attr)
GLboolean GLboolean GLboolean b
#define UPB_ENDSTR_SELECTOR
const char * upb_msgdef_fullname(const upb_msgdef *m)
UPB_INLINE bool google_protobuf_MethodDescriptorProto_has_input_type(const google_protobuf_MethodDescriptorProto *msg)
upb_arena * upb_msg_arena(const upb_msg *msg)
bool upb_handlers_setstartstr(upb_handlers *h, const upb_fielddef *f, upb_startstr_handlerfunc *func, const upb_handlerattr *attr)
UPB_INLINE struct google_protobuf_SourceCodeInfo * google_protobuf_FileDescriptorProto_mutable_source_code_info(google_protobuf_FileDescriptorProto *msg, upb_arena *arena)
upb_inttable_iter upb_msg_field_iter
UPB_INLINE bool upb_sink_startstr(upb_sink s, upb_selector_t sel, size_t size_hint, upb_sink *sub)
TypeWithSize< 4 >::UInt UInt32
UPB_INLINE google_protobuf_MethodDescriptorProto ** google_protobuf_ServiceDescriptorProto_mutable_method(google_protobuf_ServiceDescriptorProto *msg, size_t *len)
bool upb_msg_field_done(const upb_msg_field_iter *iter)
struct google_protobuf_MethodDescriptorProto google_protobuf_MethodDescriptorProto
UPB_INLINE void google_protobuf_GeneratedCodeInfo_Annotation_set_end(google_protobuf_GeneratedCodeInfo_Annotation *msg, int32_t value)
@ UPB_WELLKNOWN_BYTESVALUE
UPB_INLINE bool google_protobuf_ServiceDescriptorProto_has_name(const google_protobuf_ServiceDescriptorProto *msg)
UPB_INLINE bool google_protobuf_ServiceOptions_deprecated(const google_protobuf_ServiceOptions *msg)
bool upb_map_set(upb_map *map, upb_msgval key, upb_msgval val, upb_msgval *valremoved)
const char * upb_enumdef_fullname(const upb_enumdef *e)
#define UPB_DECODER_MAX_RESIDUAL_BYTES
upb_func * upb_handlers_gethandler(const upb_handlers *h, upb_selector_t s, const void **handler_data)
upb_msgval upb_mapiter_value(const upb_mapiter *i)
const upb_byteshandler * handler
UPB_INLINE struct google_protobuf_EnumValueDescriptorProto * google_protobuf_EnumDescriptorProto_add_value(google_protobuf_EnumDescriptorProto *msg, upb_arena *arena)
UPB_INLINE int32_t * google_protobuf_FileDescriptorProto_mutable_weak_dependency(google_protobuf_FileDescriptorProto *msg, size_t *len)
UPB_INLINE bool upb_strtable_insert(upb_strtable *t, const char *key, upb_value val)
UPB_INLINE bool upb_arrhas(upb_tabval key)
UPB_INLINE uint64_t upb_vencode32(uint32_t val)
static size_t begin(const upb_table *t)
UPB_INLINE struct google_protobuf_DescriptorProto_ExtensionRange * google_protobuf_DescriptorProto_add_extension_range(google_protobuf_DescriptorProto *msg, upb_arena *arena)
struct google_protobuf_FileDescriptorProto google_protobuf_FileDescriptorProto
UPB_INLINE struct google_protobuf_SourceCodeInfo_Location * google_protobuf_SourceCodeInfo_add_location(google_protobuf_SourceCodeInfo *msg, upb_arena *arena)
bool upb_handlers_setendmsg(upb_handlers *h, upb_endmsg_handlerfunc *func, const upb_handlerattr *attr)
const upb_msglayout google_protobuf_MethodDescriptorProto_msginit
double upb_fielddef_defaultdouble(const upb_fielddef *f)
void upb_textprinter_setsingleline(upb_textprinter *p, bool single_line)
UPB_INLINE bool google_protobuf_EnumOptions_has_allow_alias(const google_protobuf_EnumOptions *msg)
@ google_protobuf_FieldDescriptorProto_TYPE_FLOAT
UPB_INLINE void upb_pbdecoder_unpackdispatch(uint64_t dispatch, uint64_t *ofs, uint8_t *wt1, uint8_t *wt2)
void upb_pbdecoder_reset(upb_pbdecoder *d)
UPB_INLINE void google_protobuf_OneofDescriptorProto_set_options(google_protobuf_OneofDescriptorProto *msg, google_protobuf_OneofOptions *value)
UPB_INLINE google_protobuf_UninterpretedOption ** google_protobuf_MessageOptions_mutable_uninterpreted_option(google_protobuf_MessageOptions *msg, size_t *len)
upb_strtable_iter upb_msg_oneof_iter
#define UPB_ENDMSG_SELECTOR
@ UPB_WIRE_TYPE_START_GROUP
upb_handlercache * upb_pb_encoder_newcache()
void upb_inttable_uninit2(upb_inttable *table, upb_alloc *a)
UPB_INLINE google_protobuf_MessageOptions * google_protobuf_MessageOptions_parse(const char *buf, size_t size, upb_arena *arena)
UPB_INLINE bool google_protobuf_MessageOptions_has_deprecated(const google_protobuf_MessageOptions *msg)
upb_msgval upb_mapiter_key(const upb_mapiter *i)
const char * upb_pbdecoder_getopname(unsigned int op)
UPB_INLINE google_protobuf_EnumOptions * google_protobuf_EnumOptions_parse(const char *buf, size_t size, upb_arena *arena)
GLsizei GLsizei GLuint * obj
UPB_INLINE bool google_protobuf_FileDescriptorProto_has_name(const google_protobuf_FileDescriptorProto *msg)
@ UPB_WELLKNOWN_BOOLVALUE
UPB_INLINE bool google_protobuf_DescriptorProto_ExtensionRange_has_end(const google_protobuf_DescriptorProto_ExtensionRange *msg)
UPB_INLINE upb_strview google_protobuf_FileOptions_php_class_prefix(const google_protobuf_FileOptions *msg)
UPB_INLINE int32_t * google_protobuf_GeneratedCodeInfo_Annotation_mutable_path(google_protobuf_GeneratedCodeInfo_Annotation *msg, size_t *len)
const UPB_INLINE google_protobuf_DescriptorProto_ReservedRange *const * google_protobuf_DescriptorProto_reserved_range(const google_protobuf_DescriptorProto *msg, size_t *len)
UPB_INLINE upb_strview * google_protobuf_FileDescriptorProto_mutable_dependency(google_protobuf_FileDescriptorProto *msg, size_t *len)
void upb_pbcodecache_setlazy(upb_pbcodecache *c, bool lazy)
bool upb_uint64_handlerfunc(void *c, const void *hd, uint64_t val)
upb_value upb_inttable_pop(upb_inttable *t)
UPB_INLINE struct google_protobuf_FieldOptions * google_protobuf_FieldDescriptorProto_mutable_options(google_protobuf_FieldDescriptorProto *msg, upb_arena *arena)
UPB_INLINE bool upb_sink_putunknown(upb_sink s, const char *buf, size_t n)
struct google_protobuf_ExtensionRangeOptions google_protobuf_ExtensionRangeOptions
const char * upb_fielddef_defaultstr(const upb_fielddef *f, size_t *len)
UPB_INLINE google_protobuf_ServiceDescriptorProto * google_protobuf_ServiceDescriptorProto_parse(const char *buf, size_t size, upb_arena *arena)
UPB_INLINE bool google_protobuf_FileDescriptorProto_has_syntax(const google_protobuf_FileDescriptorProto *msg)
size_t upb_pbdecoder_maxnesting(const upb_pbdecoder *d)
UPB_INLINE bool upb_sink_endseq(upb_sink s, upb_selector_t sel)
UPB_INLINE void upb_free(upb_alloc *alloc, void *ptr)
UPB_INLINE google_protobuf_UninterpretedOption ** google_protobuf_EnumOptions_mutable_uninterpreted_option(google_protobuf_EnumOptions *msg, size_t *len)
UPB_INLINE bool google_protobuf_DescriptorProto_has_name(const google_protobuf_DescriptorProto *msg)
static void putbuf(upb_pb_encoder *e, const char *buf, size_t len)
UPB_INLINE int32_t * google_protobuf_FileDescriptorProto_resize_public_dependency(google_protobuf_FileDescriptorProto *msg, size_t len, upb_arena *arena)
UPB_INLINE void google_protobuf_MethodOptions_set_idempotency_level(google_protobuf_MethodOptions *msg, int32_t value)
struct google_protobuf_EnumDescriptorProto google_protobuf_EnumDescriptorProto
bool upb_pbdecoder_end(void *closure, const void *handler_data)
UPB_INLINE google_protobuf_FileOptions * google_protobuf_FileOptions_parse(const char *buf, size_t size, upb_arena *arena)
const UPB_INLINE google_protobuf_SourceCodeInfo * google_protobuf_FileDescriptorProto_source_code_info(const google_protobuf_FileDescriptorProto *msg)
UPB_INLINE void upb_gfree(void *ptr)
UPB_INLINE bool google_protobuf_FieldDescriptorProto_has_options(const google_protobuf_FieldDescriptorProto *msg)
const upb_filedef * upb_symtab_addfile(upb_symtab *s, const google_protobuf_FileDescriptorProto *file, upb_status *status)
UPB_INLINE void google_protobuf_FileOptions_set_java_string_check_utf8(google_protobuf_FileOptions *msg, bool value)
upb_fielddef * upb_msg_iter_field(const upb_msg_field_iter *iter)
UPB_INLINE google_protobuf_UninterpretedOption_NamePart ** google_protobuf_UninterpretedOption_resize_name(google_protobuf_UninterpretedOption *msg, size_t len, upb_arena *arena)
UPB_INLINE struct google_protobuf_UninterpretedOption * google_protobuf_FieldOptions_add_uninterpreted_option(google_protobuf_FieldOptions *msg, upb_arena *arena)
UPB_INLINE bool google_protobuf_FieldOptions_has_jstype(const google_protobuf_FieldOptions *msg)
UPB_INLINE struct google_protobuf_UninterpretedOption * google_protobuf_ExtensionRangeOptions_add_uninterpreted_option(google_protobuf_ExtensionRangeOptions *msg, upb_arena *arena)
UPB_INLINE void google_protobuf_MessageOptions_set_message_set_wire_format(google_protobuf_MessageOptions *msg, bool value)
union upb_pbdecodermethod::@89 code_base
const UPB_INLINE google_protobuf_UninterpretedOption *const * google_protobuf_ServiceOptions_uninterpreted_option(const google_protobuf_ServiceOptions *msg, size_t *len)
UPB_INLINE void google_protobuf_FieldDescriptorProto_set_default_value(google_protobuf_FieldDescriptorProto *msg, upb_strview value)
const void * closure_type
@ UPB_DESCRIPTOR_TYPE_BOOL
PyObject * FindFieldByName(PyDescriptorPool *self, PyObject *arg)
const upb_oneofdef * upb_fielddef_containingoneof(const upb_fielddef *f)
UPB_INLINE void google_protobuf_FileOptions_set_java_generic_services(google_protobuf_FileOptions *msg, bool value)
UPB_INLINE void google_protobuf_UninterpretedOption_set_aggregate_value(google_protobuf_UninterpretedOption *msg, upb_strview value)
void upb_msg_oneof_begin(upb_msg_oneof_iter *iter, const upb_msgdef *m)
struct google_protobuf_EnumValueDescriptorProto google_protobuf_EnumValueDescriptorProto
void upb_oneof_iter_setdone(upb_oneof_iter *iter)
upb_fieldtype_t upb_map_keytype(const upb_map *map)
bool upb_handlers_setendseq(upb_handlers *h, const upb_fielddef *f, upb_endfield_handlerfunc *func, const upb_handlerattr *attr)
UPB_INLINE upb_strview google_protobuf_SourceCodeInfo_Location_trailing_comments(const google_protobuf_SourceCodeInfo_Location *msg)
UPB_INLINE google_protobuf_ServiceDescriptorProto ** google_protobuf_FileDescriptorProto_resize_service(google_protobuf_FileDescriptorProto *msg, size_t len, upb_arena *arena)
@ UPB_DESCRIPTOR_TYPE_BYTES
@ google_protobuf_FieldDescriptorProto_TYPE_INT32
UPB_INLINE bool google_protobuf_FileOptions_py_generic_services(const google_protobuf_FileOptions *msg)
FloatingPoint< float > Float
UPB_INLINE bool upb_bytessink_start(upb_bytessink s, size_t size_hint, void **subc)
UPB_INLINE upb_strview google_protobuf_MethodDescriptorProto_name(const google_protobuf_MethodDescriptorProto *msg)
bool upb_fielddef_lazy(const upb_fielddef *f)
UPB_INLINE upb_strview google_protobuf_FileOptions_java_package(const google_protobuf_FileOptions *msg)
UPB_INLINE size_t upb_table_size(const upb_table *t)
void upb_msg_oneof_iter_setdone(upb_msg_oneof_iter *iter)
UPB_INLINE void google_protobuf_UninterpretedOption_set_double_value(google_protobuf_UninterpretedOption *msg, double value)
UPB_INLINE bool google_protobuf_FileDescriptorProto_add_public_dependency(google_protobuf_FileDescriptorProto *msg, int32_t val, upb_arena *arena)
UPB_INLINE google_protobuf_MethodOptions * google_protobuf_MethodOptions_parse(const char *buf, size_t size, upb_arena *arena)
UPB_INLINE bool upb_sink_startmsg(upb_sink s)
const upb_handlers * upb_pbdecodermethod_desthandlers(const upb_pbdecodermethod *m)
const upb_filedef * upb_filedef_dep(const upb_filedef *f, int i)
bool upb_byteshandler_setendstr(upb_byteshandler *h, upb_endfield_handlerfunc *func, void *d)
UPB_INLINE bool google_protobuf_FieldOptions_has_weak(const google_protobuf_FieldOptions *msg)
UPB_INLINE google_protobuf_UninterpretedOption * google_protobuf_UninterpretedOption_parse(const char *buf, size_t size, upb_arena *arena)
upb_value upb_strtable_iter_value(const upb_strtable_iter *i)
bool upb_strtable_remove3(upb_strtable *t, const char *key, size_t len, upb_value *val, upb_alloc *alloc)
@ google_protobuf_FieldOptions_STRING_PIECE
const upb_byteshandler * upb_pbdecodermethod_inputhandler(const upb_pbdecodermethod *m)
void upb_status_seterrf(upb_status *status, const char *fmt,...)
UPB_INLINE google_protobuf_GeneratedCodeInfo_Annotation * google_protobuf_GeneratedCodeInfo_Annotation_parse(const char *buf, size_t size, upb_arena *arena)
UPB_INLINE google_protobuf_GeneratedCodeInfo * google_protobuf_GeneratedCodeInfo_new(upb_arena *arena)
const char * upb_status_errmsg(const upb_status *status)
UPB_INLINE struct google_protobuf_UninterpretedOption * google_protobuf_OneofOptions_add_uninterpreted_option(google_protobuf_OneofOptions *msg, upb_arena *arena)
struct google_protobuf_FieldDescriptorProto google_protobuf_FieldDescriptorProto
UPB_INLINE bool google_protobuf_FileOptions_has_php_generic_services(const google_protobuf_FileOptions *msg)
@ UPB_WELLKNOWN_INT32VALUE
void upb_handlers_clearerr(upb_handlers *h)
UPB_INLINE void google_protobuf_EnumDescriptorProto_EnumReservedRange_set_end(google_protobuf_EnumDescriptorProto_EnumReservedRange *msg, int32_t value)
UPB_INLINE google_protobuf_SourceCodeInfo_Location ** google_protobuf_SourceCodeInfo_resize_location(google_protobuf_SourceCodeInfo *msg, size_t len, upb_arena *arena)
const char * upb_oneofdef_name(const upb_oneofdef *o)
const UPB_INLINE google_protobuf_ServiceDescriptorProto *const * google_protobuf_FileDescriptorProto_service(const google_protobuf_FileDescriptorProto *msg, size_t *len)
UPB_INLINE bool google_protobuf_FileOptions_java_generic_services(const google_protobuf_FileOptions *msg)
bool upb_strtable_iter_isequal(const upb_strtable_iter *i1, const upb_strtable_iter *i2)
bool operator==(const in6_addr a, const in6_addr b)
UPB_INLINE struct google_protobuf_DescriptorProto_ReservedRange * google_protobuf_DescriptorProto_add_reserved_range(google_protobuf_DescriptorProto *msg, upb_arena *arena)
UPB_INLINE google_protobuf_EnumValueDescriptorProto ** google_protobuf_EnumDescriptorProto_resize_value(google_protobuf_EnumDescriptorProto *msg, size_t len, upb_arena *arena)
bool upb_unknown_handlerfunc(void *c, const void *hd, const char *buf, size_t n)
UPB_INLINE google_protobuf_ServiceDescriptorProto ** google_protobuf_FileDescriptorProto_mutable_service(google_protobuf_FileDescriptorProto *msg, size_t *len)
#define UPB_VARINT_DECODER_CHECK2(name, decode_max8_function)
struct google_protobuf_EnumOptions google_protobuf_EnumOptions
const uint8_t upb_pb_native_wire_types[]
UPB_INLINE upb_strview const * google_protobuf_SourceCodeInfo_Location_leading_detached_comments(const google_protobuf_SourceCodeInfo_Location *msg, size_t *len)
UPB_INLINE upb_strview google_protobuf_EnumValueDescriptorProto_name(const google_protobuf_EnumValueDescriptorProto *msg)
UPB_INLINE upb_decoderet upb_decoderet_make(const char *p, uint64_t val)
UPB_INLINE bool google_protobuf_FileOptions_java_multiple_files(const google_protobuf_FileOptions *msg)
UPB_INLINE int32_t google_protobuf_FieldDescriptorProto_label(const google_protobuf_FieldDescriptorProto *msg)
struct google_protobuf_ServiceOptions google_protobuf_ServiceOptions
UPB_INLINE bool google_protobuf_FileOptions_has_objc_class_prefix(const google_protobuf_FileOptions *msg)
UPB_INLINE google_protobuf_DescriptorProto_ExtensionRange * google_protobuf_DescriptorProto_ExtensionRange_parse(const char *buf, size_t size, upb_arena *arena)
UPB_INLINE google_protobuf_UninterpretedOption * google_protobuf_UninterpretedOption_new(upb_arena *arena)
UPB_INLINE bool google_protobuf_FileOptions_has_java_generic_services(const google_protobuf_FileOptions *msg)
@ UPB_WIRE_TYPE_END_GROUP
bool IsMap(const google::protobuf::Field &field, const google::protobuf::Type &type)
UPB_INLINE int32_t * google_protobuf_SourceCodeInfo_Location_resize_path(google_protobuf_SourceCodeInfo_Location *msg, size_t len, upb_arena *arena)
UPB_INLINE void google_protobuf_FileOptions_set_objc_class_prefix(google_protobuf_FileOptions *msg, upb_strview value)
const upb_msglayout google_protobuf_UninterpretedOption_NamePart_msginit
UPB_INLINE bool google_protobuf_OneofDescriptorProto_has_options(const google_protobuf_OneofDescriptorProto *msg)
UPB_INLINE upb_selector_t upb_handlers_getendselector(upb_selector_t start)
UPB_INLINE void google_protobuf_EnumValueDescriptorProto_set_options(google_protobuf_EnumValueDescriptorProto *msg, google_protobuf_EnumValueOptions *value)
GTEST_API_ const char * fmt
#define UPB_JSON_PRINTER_SIZE
upb_strtable_iter upb_enum_iter
UPB_INLINE bool google_protobuf_FileOptions_cc_generic_services(const google_protobuf_FileOptions *msg)
char * upb_encode(const void *msg, const upb_msglayout *l, upb_arena *arena, size_t *size)
UPB_INLINE char * google_protobuf_OneofOptions_serialize(const google_protobuf_OneofOptions *msg, upb_arena *arena, size_t *len)
const upb_msglayout google_protobuf_EnumDescriptorProto_msginit
@ UPB_WELLKNOWN_UNSPECIFIED
UPB_INLINE void google_protobuf_UninterpretedOption_set_string_value(google_protobuf_UninterpretedOption *msg, upb_strview value)
UPB_INLINE void upb_byteshandler_init(upb_byteshandler *handler)
const struct upb_msglayout *const * submsgs
UPB_INLINE upb_strview upb_strview_makez(const char *data)
UPB_INLINE google_protobuf_UninterpretedOption ** google_protobuf_ExtensionRangeOptions_resize_uninterpreted_option(google_protobuf_ExtensionRangeOptions *msg, size_t len, upb_arena *arena)
UPB_INLINE void upb_strtable_uninit(upb_strtable *table)
UPB_INLINE void google_protobuf_FileOptions_set_java_outer_classname(google_protobuf_FileOptions *msg, upb_strview value)
const UPB_INLINE google_protobuf_DescriptorProto *const * google_protobuf_DescriptorProto_nested_type(const google_protobuf_DescriptorProto *msg, size_t *len)
UPB_INLINE bool google_protobuf_FileOptions_has_go_package(const google_protobuf_FileOptions *msg)
void upb_handlerfree(void *d)
upb_syntax_t upb_filedef_syntax(const upb_filedef *f)
UPB_INLINE struct google_protobuf_EnumDescriptorProto * google_protobuf_DescriptorProto_add_enum_type(google_protobuf_DescriptorProto *msg, upb_arena *arena)
@ UPB_WELLKNOWN_INT64VALUE
@ google_protobuf_FieldDescriptorProto_LABEL_REPEATED
@ google_protobuf_FieldDescriptorProto_TYPE_ENUM
upb_handlers_callback * callback
bool upb_enum_done(upb_enum_iter *iter)
UPB_INLINE void google_protobuf_FieldOptions_set_ctype(google_protobuf_FieldOptions *msg, int32_t value)
UPB_INLINE bool upb_sink_startseq(upb_sink s, upb_selector_t sel, upb_sink *sub)
const upb_msglayout google_protobuf_ExtensionRangeOptions_msginit
char residual[UPB_DECODER_MAX_RESIDUAL_BYTES]
UPB_INLINE int32_t google_protobuf_EnumDescriptorProto_EnumReservedRange_end(const google_protobuf_EnumDescriptorProto_EnumReservedRange *msg)
UPB_INLINE void * _upb_array_mutable_accessor(void *msg, size_t ofs, size_t *size)
UPB_INLINE void google_protobuf_FileOptions_set_cc_generic_services(google_protobuf_FileOptions *msg, bool value)
int upb_filedef_depcount(const upb_filedef *f)
UPB_INLINE google_protobuf_UninterpretedOption ** google_protobuf_FileOptions_resize_uninterpreted_option(google_protobuf_FileOptions *msg, size_t len, upb_arena *arena)
bool upb_byteshandler_setstring(upb_byteshandler *h, upb_string_handlerfunc *func, void *d)
const UPB_INLINE google_protobuf_UninterpretedOption *const * google_protobuf_MessageOptions_uninterpreted_option(const google_protobuf_MessageOptions *msg, size_t *len)
UPB_INLINE struct google_protobuf_ServiceOptions * google_protobuf_ServiceDescriptorProto_mutable_options(google_protobuf_ServiceDescriptorProto *msg, upb_arena *arena)
size_t upb_strtable_iter_keylength(const upb_strtable_iter *i)
UPB_INLINE upb_strview google_protobuf_FileDescriptorProto_syntax(const google_protobuf_FileDescriptorProto *msg)
UPB_INLINE bool google_protobuf_UninterpretedOption_has_aggregate_value(const google_protobuf_UninterpretedOption *msg)
@ google_protobuf_FieldDescriptorProto_TYPE_SINT32
UPB_INLINE google_protobuf_DescriptorProto_ExtensionRange * google_protobuf_DescriptorProto_ExtensionRange_new(upb_arena *arena)
upb_fielddef * upb_oneof_iter_field(const upb_oneof_iter *iter)
@ UPB_WIRE_TYPE_DELIMITED
UPB_INLINE google_protobuf_UninterpretedOption ** google_protobuf_OneofOptions_mutable_uninterpreted_option(google_protobuf_OneofOptions *msg, size_t *len)
UPB_INLINE void google_protobuf_FieldOptions_set_weak(google_protobuf_FieldOptions *msg, bool value)
upb_decoderet upb_vdecode_max8_branch32(upb_decoderet r)
upb_bytessink upb_json_parser_input(upb_json_parser *p)
bool upb_handlers_setuint32(upb_handlers *h, const upb_fielddef *f, upb_uint32_handlerfunc *func, const upb_handlerattr *attr)
void upb_status_vseterrf(upb_status *status, const char *fmt, va_list args)
const UPB_INLINE google_protobuf_SourceCodeInfo_Location *const * google_protobuf_SourceCodeInfo_location(const google_protobuf_SourceCodeInfo *msg, size_t *len)
UPB_INLINE bool google_protobuf_FieldDescriptorProto_has_type_name(const google_protobuf_FieldDescriptorProto *msg)
void upb_oneof_begin(upb_oneof_iter *iter, const upb_oneofdef *o)
UPB_INLINE void google_protobuf_EnumOptions_set_deprecated(google_protobuf_EnumOptions *msg, bool value)
size_t upb_string_handlerfunc(void *c, const void *hd, const char *buf, size_t n, const upb_bufhandle *handle)
UPB_INLINE google_protobuf_MethodDescriptorProto * google_protobuf_MethodDescriptorProto_parse(const char *buf, size_t size, upb_arena *arena)
UPB_INLINE google_protobuf_EnumDescriptorProto ** google_protobuf_FileDescriptorProto_resize_enum_type(google_protobuf_FileDescriptorProto *msg, size_t len, upb_arena *arena)
upb_msg * upb_msg_new(const upb_msglayout *l, upb_arena *a)
size_t upb_pbdecoder_suspend(upb_pbdecoder *d)
const UPB_INLINE google_protobuf_UninterpretedOption *const * google_protobuf_FileOptions_uninterpreted_option(const google_protobuf_FileOptions *msg, size_t *len)
bool upb_fielddef_packed(const upb_fielddef *f)
UPB_INLINE void google_protobuf_UninterpretedOption_NamePart_set_is_extension(google_protobuf_UninterpretedOption_NamePart *msg, bool value)
UPB_INLINE void google_protobuf_ServiceDescriptorProto_set_options(google_protobuf_ServiceDescriptorProto *msg, google_protobuf_ServiceOptions *value)
void upb_msgfactory_free(upb_msgfactory *f)
UPB_INLINE bool google_protobuf_FieldDescriptorProto_has_label(const google_protobuf_FieldDescriptorProto *msg)
const upb_msgdef * upb_handlers_msgdef(const upb_handlers *h)
size_t upb_inttable_count(const upb_inttable *t)
UPB_INLINE int32_t google_protobuf_DescriptorProto_ExtensionRange_end(const google_protobuf_DescriptorProto_ExtensionRange *msg)
UPB_INLINE bool google_protobuf_MessageOptions_no_standard_descriptor_accessor(const google_protobuf_MessageOptions *msg)
#define UPB_PB_DECODER_SIZE
UPB_INLINE void upb_status_setoom(upb_status *status)
UPB_INLINE bool google_protobuf_MessageOptions_has_no_standard_descriptor_accessor(const google_protobuf_MessageOptions *msg)
#define FUNCS(name, membername, type_t, converter, proto_type)
int32_t upb_pbdecoder_decode_f32(upb_pbdecoder *d, uint32_t *u32)
const UPB_INLINE google_protobuf_FieldDescriptorProto *const * google_protobuf_DescriptorProto_field(const google_protobuf_DescriptorProto *msg, size_t *len)
void upb_cleanup_func(void *ud)
UPB_INLINE uint32_t upb_zzenc_32(int32_t n)
size_t upb_mapiter_sizeof()
UPB_INLINE google_protobuf_SourceCodeInfo_Location * google_protobuf_SourceCodeInfo_Location_new(upb_arena *arena)
bool upb_map_del(upb_map *map, upb_msgval key)
SETUP_TEARDOWN_TESTCONTEXT typedef uint8_t byte
bool upb_fielddef_haspresence(const upb_fielddef *f)
UPB_INLINE void google_protobuf_FieldOptions_set_packed(google_protobuf_FieldOptions *msg, bool value)
struct upb_pbcodecache upb_pbcodecache
bool upb_fielddef_isstring(const upb_fielddef *f)
UPB_INLINE bool _upb_has_oneof_field(const void *msg, size_t case_ofs, int32_t num)
UPB_INLINE bool google_protobuf_FileOptions_has_cc_enable_arenas(const google_protobuf_FileOptions *msg)
bool upb_enumdef_ntoi(const upb_enumdef *e, const char *name, size_t len, int32_t *num)
UPB_INLINE bool google_protobuf_UninterpretedOption_has_double_value(const google_protobuf_UninterpretedOption *msg)
const char * upb_filedef_name(const upb_filedef *f)
UPB_INLINE bool google_protobuf_MessageOptions_has_map_entry(const google_protobuf_MessageOptions *msg)
UPB_INLINE int32_t google_protobuf_DescriptorProto_ReservedRange_start(const google_protobuf_DescriptorProto_ReservedRange *msg)
UPB_INLINE bool google_protobuf_FieldDescriptorProto_has_json_name(const google_protobuf_FieldDescriptorProto *msg)
UPB_INLINE bool google_protobuf_FieldDescriptorProto_has_oneof_index(const google_protobuf_FieldDescriptorProto *msg)
UPB_INLINE char * google_protobuf_MethodOptions_serialize(const google_protobuf_MethodOptions *msg, upb_arena *arena, size_t *len)
UPB_INLINE struct google_protobuf_GeneratedCodeInfo_Annotation * google_protobuf_GeneratedCodeInfo_add_annotation(google_protobuf_GeneratedCodeInfo *msg, upb_arena *arena)
const char * upb_fielddef_name(const upb_fielddef *f)
UPB_INLINE void google_protobuf_EnumValueDescriptorProto_set_name(google_protobuf_EnumValueDescriptorProto *msg, upb_strview value)
bool upb_fielddef_isseq(const upb_fielddef *f)
UPB_INLINE upb_strview google_protobuf_FileDescriptorProto_package(const google_protobuf_FileDescriptorProto *msg)
UPB_INLINE void google_protobuf_EnumValueDescriptorProto_set_number(google_protobuf_EnumValueDescriptorProto *msg, int32_t value)
@ google_protobuf_MethodOptions_NO_SIDE_EFFECTS
UPB_INLINE google_protobuf_UninterpretedOption ** google_protobuf_ServiceOptions_resize_uninterpreted_option(google_protobuf_ServiceOptions *msg, size_t len, upb_arena *arena)
UPB_INLINE google_protobuf_OneofDescriptorProto ** google_protobuf_DescriptorProto_resize_oneof_decl(google_protobuf_DescriptorProto *msg, size_t len, upb_arena *arena)
UPB_INLINE google_protobuf_EnumValueDescriptorProto ** google_protobuf_EnumDescriptorProto_mutable_value(google_protobuf_EnumDescriptorProto *msg, size_t *len)
struct google_protobuf_FieldOptions google_protobuf_FieldOptions
UPB_INLINE upb_strview upb_strview_make(const char *data, size_t size)
#define UPB_STATUS_MAX_MESSAGE
const char * kPbDecoderSubmessageTooLong
const upb_fielddef * upb_msgdef_ntof(const upb_msgdef *m, const char *name, size_t len)
GLenum GLuint GLenum GLsizei const GLchar * buf
UPB_INLINE int32_t const * google_protobuf_SourceCodeInfo_Location_span(const google_protobuf_SourceCodeInfo_Location *msg, size_t *len)
void upb_inttable_iter_setdone(upb_inttable_iter *i)
const upb_msglayout google_protobuf_DescriptorProto_ExtensionRange_msginit
UPB_INLINE bool upb_tabent_isempty(const upb_tabent *e)
const SETUP_TEARDOWN_TESTCONTEXT char * key
const UPB_INLINE google_protobuf_FileOptions * google_protobuf_FileDescriptorProto_options(const google_protobuf_FileDescriptorProto *msg)
UPB_INLINE bool google_protobuf_FileDescriptorProto_has_source_code_info(const google_protobuf_FileDescriptorProto *msg)
struct google_protobuf_UninterpretedOption google_protobuf_UninterpretedOption
UPB_INLINE google_protobuf_FileDescriptorSet * google_protobuf_FileDescriptorSet_new(upb_arena *arena)
bool upb_handlers_setfloat(upb_handlers *h, const upb_fielddef *f, upb_float_handlerfunc *func, const upb_handlerattr *attr)
upb_wellknowntype_t upb_msgdef_wellknowntype(const upb_msgdef *m)
@ google_protobuf_MethodOptions_IDEMPOTENCY_UNKNOWN
UPB_INLINE struct google_protobuf_FieldDescriptorProto * google_protobuf_DescriptorProto_add_extension(google_protobuf_DescriptorProto *msg, upb_arena *arena)
UPB_INLINE google_protobuf_DescriptorProto * google_protobuf_DescriptorProto_new(upb_arena *arena)
uint32_t MurmurHash2(const void *key, size_t len, uint32_t seed)
UPB_INLINE google_protobuf_FileDescriptorProto * google_protobuf_FileDescriptorProto_parse(const char *buf, size_t size, upb_arena *arena)
const UPB_INLINE google_protobuf_OneofOptions * google_protobuf_OneofDescriptorProto_options(const google_protobuf_OneofDescriptorProto *msg)
@ google_protobuf_FieldDescriptorProto_TYPE_DOUBLE
UPB_INLINE google_protobuf_EnumValueOptions * google_protobuf_EnumValueOptions_new(upb_arena *arena)
size_t upb_pbdecoder_decode(void *closure, const void *hd, const char *buf, size_t size, const upb_bufhandle *handle)
UPB_INLINE bool google_protobuf_FileOptions_deprecated(const google_protobuf_FileOptions *msg)
const UPB_INLINE google_protobuf_UninterpretedOption *const * google_protobuf_OneofOptions_uninterpreted_option(const google_protobuf_OneofOptions *msg, size_t *len)
UPB_INLINE bool google_protobuf_MethodDescriptorProto_has_server_streaming(const google_protobuf_MethodDescriptorProto *msg)
UPB_INLINE bool google_protobuf_FileOptions_has_java_multiple_files(const google_protobuf_FileOptions *msg)
UPB_INLINE google_protobuf_SourceCodeInfo * google_protobuf_SourceCodeInfo_parse(const char *buf, size_t size, upb_arena *arena)
UPB_INLINE char * google_protobuf_ServiceOptions_serialize(const google_protobuf_ServiceOptions *msg, upb_arena *arena, size_t *len)
UPB_INLINE google_protobuf_ExtensionRangeOptions * google_protobuf_ExtensionRangeOptions_new(upb_arena *arena)
static PyObject * GetData(PyUnknownFieldRef *self, void *closure)
const UPB_INLINE google_protobuf_UninterpretedOption *const * google_protobuf_ExtensionRangeOptions_uninterpreted_option(const google_protobuf_ExtensionRangeOptions *msg, size_t *len)
const upb_symtab * upb_msgfactory_symtab(const upb_msgfactory *f)
UPB_INLINE bool upb_sink_endstr(upb_sink s, upb_selector_t sel)
@ UPB_DESCRIPTOR_TYPE_UINT32
UPB_INLINE bool google_protobuf_FieldDescriptorProto_has_type(const google_protobuf_FieldDescriptorProto *msg)
UPB_INLINE google_protobuf_EnumDescriptorProto ** google_protobuf_DescriptorProto_resize_enum_type(google_protobuf_DescriptorProto *msg, size_t len, upb_arena *arena)
UPB_INLINE struct google_protobuf_DescriptorProto * google_protobuf_DescriptorProto_add_nested_type(google_protobuf_DescriptorProto *msg, upb_arena *arena)
@ google_protobuf_FieldDescriptorProto_TYPE_BOOL
UPB_INLINE bool google_protobuf_FileOptions_has_csharp_namespace(const google_protobuf_FileOptions *msg)
UPB_INLINE bool upb_enumdef_ntoiz(const upb_enumdef *e, const char *name, int32_t *num)
typedef void(APIENTRY *GLDEBUGPROCARB)(GLenum source
void upb_pbcodecache_setallowjit(upb_pbcodecache *c, bool allow)
UPB_INLINE upb_strview const * google_protobuf_EnumDescriptorProto_reserved_name(const google_protobuf_EnumDescriptorProto *msg, size_t *len)
@ google_protobuf_FieldDescriptorProto_TYPE_FIXED32
const UPB_INLINE google_protobuf_DescriptorProto_ExtensionRange *const * google_protobuf_DescriptorProto_extension_range(const google_protobuf_DescriptorProto *msg, size_t *len)
const upb_json_parsermethod const upb_symtab upb_sink bool ignore_json_unknown
UPB_INLINE char * google_protobuf_FileDescriptorProto_serialize(const google_protobuf_FileDescriptorProto *msg, upb_arena *arena, size_t *len)
UPB_INLINE bool upb_sink_endsubmsg(upb_sink s, upb_selector_t sel)
Status
Status of any operation that the TOF sdk performs.
bool upb_handlers_setint32(upb_handlers *h, const upb_fielddef *f, upb_int32_handlerfunc *func, const upb_handlerattr *attr)
const struct _upb_tabent * next
UPB_INLINE google_protobuf_UninterpretedOption ** google_protobuf_OneofOptions_resize_uninterpreted_option(google_protobuf_OneofOptions *msg, size_t len, upb_arena *arena)
UPB_INLINE google_protobuf_DescriptorProto ** google_protobuf_DescriptorProto_resize_nested_type(google_protobuf_DescriptorProto *msg, size_t len, upb_arena *arena)
@ google_protobuf_FieldDescriptorProto_LABEL_OPTIONAL
const upb_msglayout google_protobuf_MethodOptions_msginit
bool upb_handlercache_addcleanup(upb_handlercache *h, void *p, upb_handlerfree *hfree)
UPB_INLINE void * upb_realloc(upb_alloc *alloc, void *ptr, size_t oldsize, size_t size)
UPB_INLINE void upb_sink_reset(upb_sink *s, const upb_handlers *h, void *c)
UPB_INLINE google_protobuf_DescriptorProto_ReservedRange * google_protobuf_DescriptorProto_ReservedRange_new(upb_arena *arena)
UPB_INLINE void google_protobuf_UninterpretedOption_NamePart_set_name_part(google_protobuf_UninterpretedOption_NamePart *msg, upb_strview value)
UPB_INLINE upb_strview google_protobuf_UninterpretedOption_NamePart_name_part(const google_protobuf_UninterpretedOption_NamePart *msg)
uint32_t upb_handlers_selectorcount(const upb_fielddef *f)
const UPB_INLINE google_protobuf_UninterpretedOption *const * google_protobuf_EnumOptions_uninterpreted_option(const google_protobuf_EnumOptions *msg, size_t *len)
upb_msgval upb_msg_get(const upb_msg *msg, int field_index, const upb_msglayout *l)
@ google_protobuf_FileOptions_CODE_SIZE
@ UPB_DESCRIPTOR_TYPE_MESSAGE
UPB_INLINE void google_protobuf_FileDescriptorProto_set_name(google_protobuf_FileDescriptorProto *msg, upb_strview value)
const UPB_INLINE google_protobuf_ServiceOptions * google_protobuf_ServiceDescriptorProto_options(const google_protobuf_ServiceDescriptorProto *msg)
bool upb_handlers_setstartsubmsg(upb_handlers *h, const upb_fielddef *f, upb_startfield_handlerfunc *func, const upb_handlerattr *attr)
UPB_INLINE google_protobuf_FieldOptions * google_protobuf_FieldOptions_parse(const char *buf, size_t size, upb_arena *arena)
static const upb_fielddef fields[107]
static void * startseq(void *closure, const void *handler_data)
UPB_INLINE char * google_protobuf_UninterpretedOption_serialize(const google_protobuf_UninterpretedOption *msg, upb_arena *arena, size_t *len)
UPB_INLINE bool google_protobuf_FileDescriptorProto_has_options(const google_protobuf_FileDescriptorProto *msg)
const upb_handlers * upb_handlers_getsubhandlers(const upb_handlers *h, const upb_fielddef *f)
const upb_handlers * upb_handlercache_get(upb_handlercache *cache, const upb_msgdef *md)
struct google_protobuf_GeneratedCodeInfo google_protobuf_GeneratedCodeInfo
UPB_INLINE bool upb_strtable_insert2(upb_strtable *t, const char *key, size_t len, upb_value val)
UPB_INLINE bool google_protobuf_GeneratedCodeInfo_Annotation_add_path(google_protobuf_GeneratedCodeInfo_Annotation *msg, int32_t val, upb_arena *arena)
@ google_protobuf_FieldDescriptorProto_TYPE_UINT32
void upb_strtable_iter_setdone(upb_strtable_iter *i)
UPB_INLINE void google_protobuf_MethodOptions_set_deprecated(google_protobuf_MethodOptions *msg, bool value)
UPB_INLINE upb_strview google_protobuf_FieldDescriptorProto_name(const google_protobuf_FieldDescriptorProto *msg)
UPB_INLINE void * upb_arena_realloc(upb_arena *a, void *ptr, size_t oldsize, size_t size)
UPB_INLINE int32_t * google_protobuf_GeneratedCodeInfo_Annotation_resize_path(google_protobuf_GeneratedCodeInfo_Annotation *msg, size_t len, upb_arena *arena)
upb_value upb_inttable_iter_value(const upb_inttable_iter *i)
UPB_INLINE google_protobuf_FieldDescriptorProto ** google_protobuf_DescriptorProto_mutable_field(google_protobuf_DescriptorProto *msg, size_t *len)
bool upb_handlers_setdouble(upb_handlers *h, const upb_fielddef *f, upb_double_handlerfunc *func, const upb_handlerattr *attr)
UPB_INLINE int32_t google_protobuf_FieldOptions_ctype(const google_protobuf_FieldOptions *msg)
UPB_INLINE google_protobuf_DescriptorProto_ExtensionRange ** google_protobuf_DescriptorProto_mutable_extension_range(google_protobuf_DescriptorProto *msg, size_t *len)
UPB_INLINE void google_protobuf_ServiceDescriptorProto_set_name(google_protobuf_ServiceDescriptorProto *msg, upb_strview value)
UPB_INLINE google_protobuf_EnumOptions * google_protobuf_EnumOptions_new(upb_arena *arena)
UPB_INLINE upb_strview google_protobuf_UninterpretedOption_identifier_value(const google_protobuf_UninterpretedOption *msg)
const upb_msglayout google_protobuf_SourceCodeInfo_Location_msginit
UPB_INLINE bool google_protobuf_FileOptions_has_java_generate_equals_and_hash(const google_protobuf_FileOptions *msg)
@ UPB_DESCRIPTOR_TYPE_SINT32
UPB_INLINE void google_protobuf_MethodDescriptorProto_set_options(google_protobuf_MethodDescriptorProto *msg, google_protobuf_MethodOptions *value)
UPB_INLINE google_protobuf_OneofDescriptorProto * google_protobuf_OneofDescriptorProto_new(upb_arena *arena)
UPB_INLINE void google_protobuf_FieldDescriptorProto_set_options(google_protobuf_FieldDescriptorProto *msg, google_protobuf_FieldOptions *value)
upb_syntax_t upb_msgdef_syntax(const upb_msgdef *m)
@ UPB_WELLKNOWN_FLOATVALUE
UPB_INLINE void google_protobuf_FileOptions_set_deprecated(google_protobuf_FileOptions *msg, bool value)
upb_mapiter * upb_mapiter_new(const upb_map *t, upb_alloc *a)
UPB_INLINE google_protobuf_EnumDescriptorProto_EnumReservedRange ** google_protobuf_EnumDescriptorProto_resize_reserved_range(google_protobuf_EnumDescriptorProto *msg, size_t len, upb_arena *arena)
bool upb_msg_clearfield(upb_msg *msg, int field_index, const upb_msglayout *l)
UPB_INLINE int32_t google_protobuf_FileOptions_optimize_for(const google_protobuf_FileOptions *msg)
UPB_INLINE upb_alloc * upb_arena_alloc(upb_arena *a)
uintptr_t upb_inttable_iter_key(const upb_inttable_iter *i)
UPB_INLINE char * google_protobuf_FieldOptions_serialize(const google_protobuf_FieldOptions *msg, upb_arena *arena, size_t *len)
UPB_INLINE char * google_protobuf_EnumDescriptorProto_serialize(const google_protobuf_EnumDescriptorProto *msg, upb_arena *arena, size_t *len)
bool upb_fielddef_ismap(const upb_fielddef *f)
const UPB_INLINE google_protobuf_EnumValueDescriptorProto *const * google_protobuf_EnumDescriptorProto_value(const google_protobuf_EnumDescriptorProto *msg, size_t *len)
const upb_status * upb_handlers_status(upb_handlers *h)
UPB_INLINE google_protobuf_FieldDescriptorProto ** google_protobuf_DescriptorProto_resize_field(google_protobuf_DescriptorProto *msg, size_t len, upb_arena *arena)
UPB_INLINE void upb_bytessink_reset(upb_bytessink *s, const upb_byteshandler *h, void *closure)
UPB_INLINE struct google_protobuf_DescriptorProto * google_protobuf_FileDescriptorProto_add_message_type(google_protobuf_FileDescriptorProto *msg, upb_arena *arena)
UPB_INLINE char * google_protobuf_MethodDescriptorProto_serialize(const google_protobuf_MethodDescriptorProto *msg, upb_arena *arena, size_t *len)
UPB_INLINE void google_protobuf_FieldDescriptorProto_set_oneof_index(google_protobuf_FieldDescriptorProto *msg, int32_t value)
UPB_INLINE bool upb_sink_startsubmsg(upb_sink s, upb_selector_t sel, upb_sink *sub)
const char * upb_enum_iter_name(upb_enum_iter *iter)
UPB_INLINE google_protobuf_UninterpretedOption ** google_protobuf_ServiceOptions_mutable_uninterpreted_option(google_protobuf_ServiceOptions *msg, size_t *len)
UPB_INLINE google_protobuf_DescriptorProto ** google_protobuf_DescriptorProto_mutable_nested_type(google_protobuf_DescriptorProto *msg, size_t *len)
@ UPB_WELLKNOWN_LISTVALUE
UPB_INLINE google_protobuf_MethodOptions * google_protobuf_MethodOptions_new(upb_arena *arena)
@ google_protobuf_MethodOptions_IDEMPOTENT
upb_sink upb_json_printer_input(upb_json_printer *p)
@ UPB_DESCRIPTOR_TYPE_INT32
UPB_INLINE struct google_protobuf_UninterpretedOption * google_protobuf_MessageOptions_add_uninterpreted_option(google_protobuf_MessageOptions *msg, upb_arena *arena)
bool upb_msg_oneof_done(const upb_msg_oneof_iter *iter)
bool upb_inttable_lookupptr(const upb_inttable *t, const void *key, upb_value *val)
struct google_protobuf_EnumDescriptorProto_EnumReservedRange google_protobuf_EnumDescriptorProto_EnumReservedRange
UPB_INLINE uint64_t upb_zzenc_64(int64_t n)
UPB_INLINE bool google_protobuf_DescriptorProto_add_reserved_name(google_protobuf_DescriptorProto *msg, upb_strview val, upb_arena *arena)
static bool endmsg(void *c, const void *hd, upb_status *status)
UPB_INLINE bool google_protobuf_FileDescriptorProto_add_dependency(google_protobuf_FileDescriptorProto *msg, upb_strview val, upb_arena *arena)
UPB_INLINE void google_protobuf_FileDescriptorProto_set_options(google_protobuf_FileDescriptorProto *msg, google_protobuf_FileOptions *value)
UPB_INLINE void google_protobuf_FileOptions_set_php_class_prefix(google_protobuf_FileOptions *msg, upb_strview value)
const char * upb_msgdef_name(const upb_msgdef *m)
struct google_protobuf_DescriptorProto_ReservedRange google_protobuf_DescriptorProto_ReservedRange
UPB_INLINE bool google_protobuf_FileOptions_has_java_string_check_utf8(const google_protobuf_FileOptions *msg)
void upb_strtable_begin(upb_strtable_iter *i, const upb_strtable *t)
UPB_INLINE bool google_protobuf_FieldDescriptorProto_has_name(const google_protobuf_FieldDescriptorProto *msg)
void upb_handlers_callback(const void *closure, upb_handlers *h)
bool upb_inttable_removeptr(upb_inttable *t, const void *key, upb_value *val)
UPB_INLINE bool google_protobuf_ServiceDescriptorProto_has_options(const google_protobuf_ServiceDescriptorProto *msg)
UPB_INLINE google_protobuf_GeneratedCodeInfo_Annotation ** google_protobuf_GeneratedCodeInfo_resize_annotation(google_protobuf_GeneratedCodeInfo *msg, size_t len, upb_arena *arena)
UPB_INLINE bool google_protobuf_DescriptorProto_ExtensionRange_has_options(const google_protobuf_DescriptorProto_ExtensionRange *msg)
const upb_msgdef * upb_fielddef_msgsubdef(const upb_fielddef *f)
const upb_msglayout * upb_msgfactory_getlayout(upb_msgfactory *f, const upb_msgdef *m)
void upb_json_codecache_free(upb_json_codecache *cache)
UPB_INLINE char * google_protobuf_ServiceDescriptorProto_serialize(const google_protobuf_ServiceDescriptorProto *msg, upb_arena *arena, size_t *len)
const char * kPbDecoderStackOverflow
UPB_INLINE google_protobuf_DescriptorProto ** google_protobuf_FileDescriptorProto_resize_message_type(google_protobuf_FileDescriptorProto *msg, size_t len, upb_arena *arena)
UPB_INLINE google_protobuf_OneofOptions * google_protobuf_OneofOptions_parse(const char *buf, size_t size, upb_arena *arena)
const upb_msgdef * upb_oneofdef_containingtype(const upb_oneofdef *o)
UPB_INLINE google_protobuf_OneofOptions * google_protobuf_OneofOptions_new(upb_arena *arena)
#define UPB_STRING_SELECTOR
UPB_INLINE bool upb_strview_eql(upb_strview a, upb_strview b)
UPB_INLINE google_protobuf_EnumDescriptorProto ** google_protobuf_DescriptorProto_mutable_enum_type(google_protobuf_DescriptorProto *msg, size_t *len)
UPB_INLINE google_protobuf_OneofDescriptorProto ** google_protobuf_DescriptorProto_mutable_oneof_decl(google_protobuf_DescriptorProto *msg, size_t *len)
upb_handlercache * upb_handlercache_new(upb_handlers_callback *callback, const void *closure)
upb_pbcodecache * upb_pbcodecache_new(upb_handlercache *dest)
static bool startmsg(void *c, const void *hd)
upb_strtable * upb_strtable_pack(const upb_strtable *t, void *p, size_t *ofs, size_t size)
bool operator!=(const detail::socket_base &a, const detail::socket_base &b) ZMQ_NOTHROW
const char * upb_enumdef_name(const upb_enumdef *e)
UPB_INLINE bool google_protobuf_UninterpretedOption_NamePart_has_is_extension(const google_protobuf_UninterpretedOption_NamePart *msg)
UPB_INLINE size_t upb_bytessink_putbuf(upb_bytessink s, void *subc, const char *buf, size_t size, const upb_bufhandle *handle)
UPB_INLINE upb_strview google_protobuf_EnumDescriptorProto_name(const google_protobuf_EnumDescriptorProto *msg)
UPB_INLINE google_protobuf_ServiceOptions * google_protobuf_ServiceOptions_new(upb_arena *arena)
UPB_INLINE upb_strview * google_protobuf_SourceCodeInfo_Location_mutable_leading_detached_comments(google_protobuf_SourceCodeInfo_Location *msg, size_t *len)
UPB_INLINE google_protobuf_EnumValueOptions * google_protobuf_EnumValueOptions_parse(const char *buf, size_t size, upb_arena *arena)
UPB_INLINE bool google_protobuf_EnumValueDescriptorProto_has_number(const google_protobuf_EnumValueDescriptorProto *msg)
bool upb_inttable_insert2(upb_inttable *t, uintptr_t key, upb_value val, upb_alloc *a)
UPB_INLINE void google_protobuf_FieldOptions_set_jstype(google_protobuf_FieldOptions *msg, int32_t value)
UPB_INLINE bool google_protobuf_FileOptions_has_cc_generic_services(const google_protobuf_FileOptions *msg)
UPB_INLINE struct google_protobuf_ServiceDescriptorProto * google_protobuf_FileDescriptorProto_add_service(google_protobuf_FileDescriptorProto *msg, upb_arena *arena)
UPB_INLINE upb_strview const * google_protobuf_DescriptorProto_reserved_name(const google_protobuf_DescriptorProto *msg, size_t *len)
static const upb_tabent * upb_getentry(const upb_table *t, uint32_t hash)
bool upb_strtable_lookup2(const upb_strtable *t, const char *key, size_t len, upb_value *v)
const void * return_closure_type
uint32_t upb_handlers_selectorbaseoffset(const upb_fielddef *f)
bool upb_inttable_replace(upb_inttable *t, uintptr_t key, upb_value val)
UPB_INLINE int32_t google_protobuf_GeneratedCodeInfo_Annotation_end(const google_protobuf_GeneratedCodeInfo_Annotation *msg)
UPB_INLINE bool google_protobuf_FieldOptions_has_ctype(const google_protobuf_FieldOptions *msg)
const upb_json_parsermethod * m
UPB_INLINE struct google_protobuf_UninterpretedOption * google_protobuf_FileOptions_add_uninterpreted_option(google_protobuf_FileOptions *msg, upb_arena *arena)
bool upb_strtable_resize(upb_strtable *t, size_t size_lg2, upb_alloc *a)
UPB_INLINE struct google_protobuf_FieldDescriptorProto * google_protobuf_DescriptorProto_add_field(google_protobuf_DescriptorProto *msg, upb_arena *arena)
void upb_oneof_next(upb_oneof_iter *iter)
const upb_msglayout google_protobuf_EnumOptions_msginit
struct google_protobuf_FileDescriptorSet google_protobuf_FileDescriptorSet
@ google_protobuf_FieldDescriptorProto_TYPE_SFIXED64
UPB_INLINE void google_protobuf_FieldDescriptorProto_set_json_name(google_protobuf_FieldDescriptorProto *msg, upb_strview value)
upb_fieldtype_t upb_fielddef_type(const upb_fielddef *f)
void upb_symtab_free(upb_symtab *s)
@ UPB_DESCRIPTOR_TYPE_ENUM
UPB_INLINE int32_t google_protobuf_FieldOptions_jstype(const google_protobuf_FieldOptions *msg)
UPB_INLINE google_protobuf_UninterpretedOption_NamePart * google_protobuf_UninterpretedOption_NamePart_new(upb_arena *arena)
#define PTR_AT(msg, ofs, type)
UPB_INLINE char * google_protobuf_EnumDescriptorProto_EnumReservedRange_serialize(const google_protobuf_EnumDescriptorProto_EnumReservedRange *msg, upb_arena *arena, size_t *len)
upb_json_codecache * upb_json_codecache_new()
const UPB_INLINE google_protobuf_MethodDescriptorProto *const * google_protobuf_ServiceDescriptorProto_method(const google_protobuf_ServiceDescriptorProto *msg, size_t *len)
UPB_INLINE google_protobuf_UninterpretedOption_NamePart * google_protobuf_UninterpretedOption_NamePart_parse(const char *buf, size_t size, upb_arena *arena)
const upb_msglayout google_protobuf_OneofOptions_msginit
UPB_INLINE bool google_protobuf_FieldOptions_has_lazy(const google_protobuf_FieldOptions *msg)
UPB_INLINE struct google_protobuf_ExtensionRangeOptions * google_protobuf_DescriptorProto_ExtensionRange_mutable_options(google_protobuf_DescriptorProto_ExtensionRange *msg, upb_arena *arena)
struct upb_symtab upb_symtab
void * upb_startstr_handlerfunc(void *c, const void *hd, size_t size_hint)
UPB_INLINE upb_strview google_protobuf_FieldDescriptorProto_json_name(const google_protobuf_FieldDescriptorProto *msg)
UPB_INLINE upb_strview google_protobuf_DescriptorProto_name(const google_protobuf_DescriptorProto *msg)
bool upb_fielddef_defaultbool(const upb_fielddef *f)
UPB_INLINE double google_protobuf_UninterpretedOption_double_value(const google_protobuf_UninterpretedOption *msg)
size_t upb_fielddef_getjsonname(const upb_fielddef *f, char *buf, size_t len)
int32_t upb_enumdef_default(const upb_enumdef *e)
UPB_INLINE uint32_t upb_inthash(uintptr_t key)
UPB_INLINE upb_msgval upb_msgval_makestr(const char *data, size_t size)
void * upb_pbdecoder_startjit(void *closure, const void *hd, size_t size_hint)
@ UPB_DESCRIPTOR_TYPE_SINT64
UPB_INLINE struct google_protobuf_UninterpretedOption_NamePart * google_protobuf_UninterpretedOption_add_name(google_protobuf_UninterpretedOption *msg, upb_arena *arena)
uint64_t upb_fielddef_defaultuint64(const upb_fielddef *f)
UPB_INLINE google_protobuf_ServiceDescriptorProto * google_protobuf_ServiceDescriptorProto_new(upb_arena *arena)
UPB_INLINE bool upb_inttable_insert(upb_inttable *t, uintptr_t key, upb_value val)
bool upb_ok(const upb_status *status)
UPB_INLINE google_protobuf_SourceCodeInfo_Location ** google_protobuf_SourceCodeInfo_mutable_location(google_protobuf_SourceCodeInfo *msg, size_t *len)
UPB_INLINE void upb_inttable_compact(upb_inttable *t)
UPB_INLINE int32_t * google_protobuf_FileDescriptorProto_resize_weak_dependency(google_protobuf_FileDescriptorProto *msg, size_t len, upb_arena *arena)
UPB_INLINE bool upb_bytessink_end(upb_bytessink s)
void upb_msg_set(upb_msg *msg, int field_index, upb_msgval val, const upb_msglayout *l)
const char * upb_filedef_package(const upb_filedef *f)
UPB_INLINE void google_protobuf_FieldOptions_set_deprecated(google_protobuf_FieldOptions *msg, bool value)
UPB_INLINE upb_strview google_protobuf_UninterpretedOption_aggregate_value(const google_protobuf_UninterpretedOption *msg)
UPB_INLINE google_protobuf_SourceCodeInfo_Location * google_protobuf_SourceCodeInfo_Location_parse(const char *buf, size_t size, upb_arena *arena)
UPB_INLINE void google_protobuf_FileOptions_set_php_namespace(google_protobuf_FileOptions *msg, upb_strview value)
UPB_INLINE char * google_protobuf_OneofDescriptorProto_serialize(const google_protobuf_OneofDescriptorProto *msg, upb_arena *arena, size_t *len)
int32_t upb_pbdecoder_decode_varint_slow(upb_pbdecoder *d, uint64_t *u64)
UPB_INLINE void * upb_gmalloc(size_t size)
UPB_INLINE bool google_protobuf_SourceCodeInfo_Location_add_span(google_protobuf_SourceCodeInfo_Location *msg, int32_t val, upb_arena *arena)
UPB_INLINE google_protobuf_UninterpretedOption_NamePart ** google_protobuf_UninterpretedOption_mutable_name(google_protobuf_UninterpretedOption *msg, size_t *len)
UPB_INLINE google_protobuf_FileDescriptorProto ** google_protobuf_FileDescriptorSet_mutable_file(google_protobuf_FileDescriptorSet *msg, size_t *len)
@ google_protobuf_FieldDescriptorProto_TYPE_SFIXED32
void upb_mapiter_next(upb_mapiter *i)
const UPB_INLINE google_protobuf_UninterpretedOption *const * google_protobuf_FieldOptions_uninterpreted_option(const google_protobuf_FieldOptions *msg, size_t *len)
UPB_INLINE bool google_protobuf_MessageOptions_deprecated(const google_protobuf_MessageOptions *msg)
UPB_INLINE google_protobuf_DescriptorProto * google_protobuf_DescriptorProto_parse(const char *buf, size_t size, upb_arena *arena)
UPB_INLINE void google_protobuf_SourceCodeInfo_Location_set_leading_comments(google_protobuf_SourceCodeInfo_Location *msg, upb_strview value)
const UPB_INLINE google_protobuf_EnumDescriptorProto_EnumReservedRange *const * google_protobuf_EnumDescriptorProto_reserved_range(const google_protobuf_EnumDescriptorProto *msg, size_t *len)
const upb_msgdef * upb_filedef_msg(const upb_filedef *f, int i)
UPB_INLINE void upb_inttable_uninit(upb_inttable *table)
UPB_INLINE upb_strview * google_protobuf_FileDescriptorProto_resize_dependency(google_protobuf_FileDescriptorProto *msg, size_t len, upb_arena *arena)
void upb_status_clear(upb_status *status)
bool upb_msgdef_setsyntax(upb_msgdef *m, upb_syntax_t syntax)
UPB_INLINE bool google_protobuf_MethodDescriptorProto_client_streaming(const google_protobuf_MethodDescriptorProto *msg)
void upb_msg_field_iter_setdone(upb_msg_field_iter *iter)
UPB_INLINE bool google_protobuf_DescriptorProto_ExtensionRange_has_start(const google_protobuf_DescriptorProto_ExtensionRange *msg)
UPB_INLINE char * google_protobuf_SourceCodeInfo_serialize(const google_protobuf_SourceCodeInfo *msg, upb_arena *arena, size_t *len)
UPB_INLINE upb_strview google_protobuf_FileOptions_swift_prefix(const google_protobuf_FileOptions *msg)
const upb_msglayout google_protobuf_EnumValueDescriptorProto_msginit
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
upb_msgval upb_array_get(const upb_array *arr, size_t i)
UPB_INLINE bool google_protobuf_FieldDescriptorProto_has_extendee(const google_protobuf_FieldDescriptorProto *msg)
UPB_INLINE void google_protobuf_FileOptions_set_optimize_for(google_protobuf_FileOptions *msg, int32_t value)
UPB_INLINE bool google_protobuf_SourceCodeInfo_Location_add_path(google_protobuf_SourceCodeInfo_Location *msg, int32_t val, upb_arena *arena)
UPB_INLINE void * upb_grealloc(void *ptr, size_t oldsize, size_t size)
UPB_INLINE bool google_protobuf_FileOptions_has_optimize_for(const google_protobuf_FileOptions *msg)
UPB_INLINE upb_strview google_protobuf_MethodDescriptorProto_input_type(const google_protobuf_MethodDescriptorProto *msg)
UPB_INLINE void google_protobuf_MethodDescriptorProto_set_name(google_protobuf_MethodDescriptorProto *msg, upb_strview value)
UPB_INLINE bool google_protobuf_GeneratedCodeInfo_Annotation_has_end(const google_protobuf_GeneratedCodeInfo_Annotation *msg)
bool upb_inttable_done(const upb_inttable_iter *i)
struct google_protobuf_FileOptions google_protobuf_FileOptions
UPB_INLINE void google_protobuf_FileOptions_set_java_generate_equals_and_hash(google_protobuf_FileOptions *msg, bool value)
UPB_INLINE bool google_protobuf_UninterpretedOption_NamePart_has_name_part(const google_protobuf_UninterpretedOption_NamePart *msg)
upb_fieldtype_t upb_map_valuetype(const upb_map *map)
const upb_msglayout google_protobuf_FieldOptions_msginit
void upb_mapiter_setdone(upb_mapiter *i)
UPB_INLINE bool google_protobuf_EnumDescriptorProto_has_name(const google_protobuf_EnumDescriptorProto *msg)
int upb_msgdef_numfields(const upb_msgdef *m)
UPB_INLINE void google_protobuf_FileOptions_set_swift_prefix(google_protobuf_FileOptions *msg, upb_strview value)
uint32_t upb_msgdef_submsgfieldcount(const upb_msgdef *m)
const upb_msgdef * upb_symtab_lookupmsg(const upb_symtab *s, const char *sym)
UPB_INLINE bool google_protobuf_FileOptions_has_py_generic_services(const google_protobuf_FileOptions *msg)
UPB_INLINE void google_protobuf_FieldDescriptorProto_set_type(google_protobuf_FieldDescriptorProto *msg, int32_t value)
internal::ReturnAction< R > Return(R value)
size_t upb_map_size(const upb_map *map)
const upb_handlers * dest_handlers_
bool upb_msg_field_iter_isequal(const upb_msg_field_iter *iter1, const upb_msg_field_iter *iter2)
bool upb_map_get(const upb_map *map, upb_msgval key, upb_msgval *val)
UPB_INLINE void google_protobuf_MethodDescriptorProto_set_input_type(google_protobuf_MethodDescriptorProto *msg, upb_strview value)
UPB_INLINE bool google_protobuf_DescriptorProto_has_options(const google_protobuf_DescriptorProto *msg)
bool upb_msgdef_mapentry(const upb_msgdef *m)
bool upb_float_handlerfunc(void *c, const void *hd, float val)
UPB_INLINE char * upb_gstrdup(const char *s)
UPB_INLINE char * upb_tabstr(upb_tabkey key, uint32_t *len)
struct google_protobuf_MessageOptions google_protobuf_MessageOptions
upb_sink upb_textprinter_input(upb_textprinter *p)
upb_bytessink upb_pbdecoder_input(upb_pbdecoder *d)
#define SET_TYPE(dest, val)
const upb_msglayout google_protobuf_ServiceDescriptorProto_msginit
upb_inttable_iter upb_oneof_iter
UPB_INLINE void google_protobuf_GeneratedCodeInfo_Annotation_set_begin(google_protobuf_GeneratedCodeInfo_Annotation *msg, int32_t value)
UPB_INLINE void * upb_malloc(upb_alloc *alloc, size_t size)
UPB_INLINE int32_t * google_protobuf_SourceCodeInfo_Location_mutable_path(google_protobuf_SourceCodeInfo_Location *msg, size_t *len)
UPB_INLINE void google_protobuf_DescriptorProto_set_options(google_protobuf_DescriptorProto *msg, google_protobuf_MessageOptions *value)
UPB_INLINE struct google_protobuf_MethodOptions * google_protobuf_MethodDescriptorProto_mutable_options(google_protobuf_MethodDescriptorProto *msg, upb_arena *arena)
struct upb_def_init upb_def_init
const upb_msglayout google_protobuf_FileDescriptorSet_msginit
bool upb_handlers_getattr(const upb_handlers *h, upb_selector_t s, upb_handlerattr *attr)
UPB_INLINE google_protobuf_UninterpretedOption ** google_protobuf_EnumValueOptions_resize_uninterpreted_option(google_protobuf_EnumValueOptions *msg, size_t len, upb_arena *arena)
#define UPB_PB_ENCODER_SIZE
GLsizei const GLfloat * value
UPB_INLINE void google_protobuf_UninterpretedOption_set_negative_int_value(google_protobuf_UninterpretedOption *msg, int64_t value)
UPB_INLINE google_protobuf_UninterpretedOption ** google_protobuf_FileOptions_mutable_uninterpreted_option(google_protobuf_FileOptions *msg, size_t *len)
#define UPB_STARTSTR_SELECTOR
UPB_INLINE bool google_protobuf_FileOptions_has_php_class_prefix(const google_protobuf_FileOptions *msg)
size_t upb_arena_bytesallocated(const upb_arena *a)
UPB_INLINE void google_protobuf_FileOptions_set_php_generic_services(google_protobuf_FileOptions *msg, bool value)
#define UPB_BYTESHANDLER_INIT
UPB_INLINE bool upb_strtable_lookup(const upb_strtable *t, const char *key, upb_value *v)
@ UPB_WELLKNOWN_FIELDMASK
UPB_INLINE int32_t google_protobuf_EnumValueDescriptorProto_number(const google_protobuf_EnumValueDescriptorProto *msg)
UPB_INLINE bool google_protobuf_EnumDescriptorProto_has_options(const google_protobuf_EnumDescriptorProto *msg)
UPB_INLINE int32_t google_protobuf_FieldDescriptorProto_type(const google_protobuf_FieldDescriptorProto *msg)
UPB_INLINE upb_strview google_protobuf_FileOptions_objc_class_prefix(const google_protobuf_FileOptions *msg)
UPB_INLINE upb_strview google_protobuf_FileOptions_php_namespace(const google_protobuf_FileOptions *msg)
UPB_INLINE bool upb_inttable_push(upb_inttable *t, upb_value val)
upb_pbdecoder_frame * top
UPB_INLINE bool google_protobuf_FieldOptions_lazy(const google_protobuf_FieldOptions *msg)
UPB_INLINE google_protobuf_UninterpretedOption ** google_protobuf_ExtensionRangeOptions_mutable_uninterpreted_option(google_protobuf_ExtensionRangeOptions *msg, size_t *len)
const upb_msglayout google_protobuf_OneofDescriptorProto_msginit
UPB_INLINE bool google_protobuf_MethodDescriptorProto_has_options(const google_protobuf_MethodDescriptorProto *msg)
UPB_INLINE void google_protobuf_EnumOptions_set_allow_alias(google_protobuf_EnumOptions *msg, bool value)
UPB_INLINE void google_protobuf_FieldOptions_set_lazy(google_protobuf_FieldOptions *msg, bool value)
UPB_INLINE void google_protobuf_FileOptions_set_cc_enable_arenas(google_protobuf_FileOptions *msg, bool value)
int upb_symtab_filecount(const upb_symtab *s)
@ UPB_DESCRIPTOR_TYPE_GROUP
UPB_INLINE int32_t google_protobuf_FieldDescriptorProto_number(const google_protobuf_FieldDescriptorProto *msg)
UPB_INLINE void google_protobuf_EnumDescriptorProto_set_options(google_protobuf_EnumDescriptorProto *msg, google_protobuf_EnumOptions *value)
@ google_protobuf_FileOptions_SPEED
const upb_json_parsermethod const upb_symtab upb_sink * output
@ UPB_WELLKNOWN_UINT32VALUE
bool upb_mapiter_done(const upb_mapiter *i)
upb_map * upb_map_new(upb_fieldtype_t ktype, upb_fieldtype_t vtype, upb_arena *a)
const UPB_INLINE google_protobuf_EnumDescriptorProto *const * google_protobuf_DescriptorProto_enum_type(const google_protobuf_DescriptorProto *msg, size_t *len)
UPB_INLINE bool upb_msgdef_lookupnamez(const upb_msgdef *m, const char *name, const upb_fielddef **f, const upb_oneofdef **o)
const UPB_INLINE void * _upb_array_accessor(const void *msg, size_t ofs, size_t *size)
UPB_INLINE bool google_protobuf_FieldOptions_weak(const google_protobuf_FieldOptions *msg)
UPB_INLINE struct google_protobuf_OneofOptions * google_protobuf_OneofDescriptorProto_mutable_options(google_protobuf_OneofDescriptorProto *msg, upb_arena *arena)
bool upb_uint32_handlerfunc(void *c, const void *hd, uint32_t val)
UPB_INLINE char * google_protobuf_SourceCodeInfo_Location_serialize(const google_protobuf_SourceCodeInfo_Location *msg, upb_arena *arena, size_t *len)
upb_array * upb_array_new(upb_fieldtype_t type, upb_arena *a)
UPB_INLINE void google_protobuf_UninterpretedOption_set_positive_int_value(google_protobuf_UninterpretedOption *msg, uint64_t value)
UPB_INLINE size_t upb_strtable_count(const upb_strtable *t)
void * upb_pbdecoder_startbc(void *closure, const void *pc, size_t size_hint)
@ google_protobuf_FileOptions_LITE_RUNTIME
upb_json_parser * upb_json_parser_create(upb_arena *a, const upb_json_parsermethod *m, const upb_symtab *symtab, upb_sink output, upb_status *status, bool ignore_json_unknown)
#define PUTVAL(type, ctype)
UPB_INLINE google_protobuf_UninterpretedOption ** google_protobuf_MethodOptions_resize_uninterpreted_option(google_protobuf_MethodOptions *msg, size_t len, upb_arena *arena)
UPB_INLINE bool google_protobuf_FileOptions_cc_enable_arenas(const google_protobuf_FileOptions *msg)
int32_t upb_pbdecoder_skipunknown(upb_pbdecoder *d, int32_t fieldnum, uint8_t wire_type)
@ google_protobuf_FieldOptions_JS_STRING
UPB_INLINE upb_strview google_protobuf_GeneratedCodeInfo_Annotation_source_file(const google_protobuf_GeneratedCodeInfo_Annotation *msg)
UPB_INLINE upb_strview google_protobuf_MethodDescriptorProto_output_type(const google_protobuf_MethodDescriptorProto *msg)
UPB_INLINE char * google_protobuf_DescriptorProto_ExtensionRange_serialize(const google_protobuf_DescriptorProto_ExtensionRange *msg, upb_arena *arena, size_t *len)
bool upb_handlers_setunknown(upb_handlers *h, upb_unknown_handlerfunc *func, const upb_handlerattr *attr)
UPB_INLINE bool google_protobuf_EnumValueOptions_has_deprecated(const google_protobuf_EnumValueOptions *msg)
UPB_INLINE bool upb_strtable_remove2(upb_strtable *t, const char *key, size_t len, upb_value *val)
UPB_INLINE upb_strview google_protobuf_FieldDescriptorProto_type_name(const google_protobuf_FieldDescriptorProto *msg)
const upb_tabent * entries
@ google_protobuf_FieldDescriptorProto_TYPE_STRING
UPB_INLINE upb_strview google_protobuf_FileOptions_java_outer_classname(const google_protobuf_FileOptions *msg)
static uint32_t * group(tarjan *t, upb_refcounted *r)
@ UPB_DESCRIPTOR_TYPE_SFIXED64
UPB_INLINE google_protobuf_FieldDescriptorProto ** google_protobuf_DescriptorProto_mutable_extension(google_protobuf_DescriptorProto *msg, size_t *len)
GLboolean GLboolean GLboolean GLboolean a
UPB_INLINE bool _upb_array_append_accessor(void *msg, size_t ofs, size_t elem_size, upb_fieldtype_t type, const void *value, upb_arena *arena)
UPB_INLINE google_protobuf_FieldDescriptorProto ** google_protobuf_FileDescriptorProto_mutable_extension(google_protobuf_FileDescriptorProto *msg, size_t *len)
const upb_msglayout google_protobuf_EnumDescriptorProto_EnumReservedRange_msginit
UPB_INLINE google_protobuf_ServiceOptions * google_protobuf_ServiceOptions_parse(const char *buf, size_t size, upb_arena *arena)
UPB_INLINE bool google_protobuf_ServiceOptions_has_deprecated(const google_protobuf_ServiceOptions *msg)
UPB_INLINE bool _upb_clearhas(const void *msg, size_t idx)
const char * upb_enumdef_iton(const upb_enumdef *e, int32_t num)
#define UPB_STARTMSG_SELECTOR
bool upb_bufsrc_putbuf(const char *buf, size_t len, upb_bytessink sink)
const void * handler_data
UPB_INLINE struct google_protobuf_UninterpretedOption * google_protobuf_MethodOptions_add_uninterpreted_option(google_protobuf_MethodOptions *msg, upb_arena *arena)
UPB_INLINE void google_protobuf_DescriptorProto_ExtensionRange_set_end(google_protobuf_DescriptorProto_ExtensionRange *msg, int32_t value)
@ google_protobuf_FieldDescriptorProto_TYPE_BYTES
void upb_mapiter_begin(upb_mapiter *i, const upb_map *t)
bool upb_startmsg_handlerfunc(void *c, const void *)
UPB_INLINE bool google_protobuf_EnumValueDescriptorProto_has_name(const google_protobuf_EnumValueDescriptorProto *msg)
UPB_INLINE int32_t * google_protobuf_SourceCodeInfo_Location_mutable_span(google_protobuf_SourceCodeInfo_Location *msg, size_t *len)
const upb_json_parsermethod * upb_json_codecache_get(upb_json_codecache *cache, const upb_msgdef *md)
int32_t upb_pbdecoder_checktag_slow(upb_pbdecoder *d, uint64_t expected)
bool upb_inttable_insertptr2(upb_inttable *t, const void *key, upb_value val, upb_alloc *a)
bool upb_fielddef_hassubdef(const upb_fielddef *f)
UPB_INLINE google_protobuf_UninterpretedOption ** google_protobuf_FieldOptions_resize_uninterpreted_option(google_protobuf_FieldOptions *msg, size_t len, upb_arena *arena)
UPB_INLINE uint64_t upb_pbdecoder_packdispatch(uint64_t ofs, uint8_t wt1, uint8_t wt2)
bool upb_endmsg_handlerfunc(void *c, const void *, upb_status *status)
UPB_INLINE bool google_protobuf_SourceCodeInfo_Location_add_leading_detached_comments(google_protobuf_SourceCodeInfo_Location *msg, upb_strview val, upb_arena *arena)
struct google_protobuf_OneofOptions google_protobuf_OneofOptions
UPB_INLINE google_protobuf_EnumDescriptorProto_EnumReservedRange * google_protobuf_EnumDescriptorProto_EnumReservedRange_parse(const char *buf, size_t size, upb_arena *arena)
UPB_INLINE google_protobuf_SourceCodeInfo * google_protobuf_SourceCodeInfo_new(upb_arena *arena)
UPB_INLINE int32_t google_protobuf_FieldDescriptorProto_oneof_index(const google_protobuf_FieldDescriptorProto *msg)
UPB_INLINE google_protobuf_MethodDescriptorProto * google_protobuf_MethodDescriptorProto_new(upb_arena *arena)
UPB_INLINE bool google_protobuf_FieldOptions_packed(const google_protobuf_FieldOptions *msg)
uint32_t upb_fielddef_selectorbase(const upb_fielddef *f)
upb_sink upb_pb_encoder_input(upb_pb_encoder *p)
UPB_INLINE void upb_value_setdouble(upb_value *val, double cval)
@ UPB_DESCRIPTOR_TYPE_STRING
struct google_protobuf_UninterpretedOption_NamePart google_protobuf_UninterpretedOption_NamePart
const upb_pbdecodermethod * upb_pbcodecache_get(upb_pbcodecache *c, const upb_msgdef *md)
UPB_INLINE void _upb_value_setval(upb_value *v, uint64_t val, upb_ctype_t ctype)
@ UPB_DESCRIPTOR_TYPE_DOUBLE
bool upb_handlers_setint64(upb_handlers *h, const upb_fielddef *f, upb_int64_handlerfunc *func, const upb_handlerattr *attr)
UPB_INLINE google_protobuf_UninterpretedOption ** google_protobuf_MethodOptions_mutable_uninterpreted_option(google_protobuf_MethodOptions *msg, size_t *len)
upb_pbdecoder_frame * limit
const Descriptor::ReservedRange const EnumValueDescriptor method
UPB_INLINE bool google_protobuf_MessageOptions_map_entry(const google_protobuf_MessageOptions *msg)
UPB_INLINE google_protobuf_UninterpretedOption ** google_protobuf_EnumOptions_resize_uninterpreted_option(google_protobuf_EnumOptions *msg, size_t len, upb_arena *arena)
const UPB_INLINE google_protobuf_ExtensionRangeOptions * google_protobuf_DescriptorProto_ExtensionRange_options(const google_protobuf_DescriptorProto_ExtensionRange *msg)
UPB_INLINE upb_strview * google_protobuf_DescriptorProto_mutable_reserved_name(google_protobuf_DescriptorProto *msg, size_t *len)
bool upb_inttable_iter_isequal(const upb_inttable_iter *i1, const upb_inttable_iter *i2)
void upb_pbdecoder_jit(mgroup *group)
GLfloat GLfloat GLfloat GLfloat h
UPB_INLINE void google_protobuf_DescriptorProto_set_name(google_protobuf_DescriptorProto *msg, upb_strview value)
zend_class_entry * descriptor_type
UPB_INLINE bool _upb_sethas(const void *msg, size_t idx)
UPB_INLINE void google_protobuf_MethodDescriptorProto_set_server_streaming(google_protobuf_MethodDescriptorProto *msg, bool value)
UPB_INLINE bool google_protobuf_FileOptions_java_string_check_utf8(const google_protobuf_FileOptions *msg)
UPB_INLINE google_protobuf_EnumDescriptorProto ** google_protobuf_FileDescriptorProto_mutable_enum_type(google_protobuf_FileDescriptorProto *msg, size_t *len)
upb_arena * upb_arena_init(void *mem, size_t n, upb_alloc *alloc)
UPB_INLINE int32_t * google_protobuf_SourceCodeInfo_Location_resize_span(google_protobuf_SourceCodeInfo_Location *msg, size_t len, upb_arena *arena)
bool upb_fielddef_isextension(const upb_fielddef *f)
const upb_msglayout google_protobuf_FileDescriptorProto_msginit
uint64_t upb_pbdecoder_bytesparsed(const upb_pbdecoder *d)
bool upb_handlers_setuint64(upb_handlers *h, const upb_fielddef *f, upb_uint64_handlerfunc *func, const upb_handlerattr *attr)
UPB_INLINE google_protobuf_FileDescriptorProto ** google_protobuf_FileDescriptorSet_resize_file(google_protobuf_FileDescriptorSet *msg, size_t len, upb_arena *arena)
const upb_fielddef * upb_msgdef_itof(const upb_msgdef *m, uint32_t i)
@ UPB_WELLKNOWN_DOUBLEVALUE
int upb_enumdef_numvals(const upb_enumdef *e)
#define ACCESSORS(name, membername, ctype)
UPB_INLINE upb_strview google_protobuf_FieldDescriptorProto_default_value(const google_protobuf_FieldDescriptorProto *msg)
const upb_byteshandler * upb_json_parsermethod_inputhandler(const upb_json_parsermethod *m)
UPB_INLINE bool google_protobuf_EnumOptions_deprecated(const google_protobuf_EnumOptions *msg)
UPB_INLINE bool upb_sink_endmsg(upb_sink s, upb_status *status)
bool upb_handlers_setstring(upb_handlers *h, const upb_fielddef *f, upb_string_handlerfunc *func, const upb_handlerattr *attr)
libaditof
Author(s):
autogenerated on Wed May 21 2025 02:07:01