def_to_proto.c
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2009-2021, Google LLC
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  * * Redistributions of source code must retain the above copyright
8  * notice, this list of conditions and the following disclaimer.
9  * * Redistributions in binary form must reproduce the above copyright
10  * notice, this list of conditions and the following disclaimer in the
11  * documentation and/or other materials provided with the distribution.
12  * * Neither the name of Google LLC nor the
13  * names of its contributors may be used to endorse or promote products
14  * derived from this software without specific prior written permission.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19  * ARE DISCLAIMED. IN NO EVENT SHALL Google LLC BE LIABLE FOR ANY DIRECT,
20  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26  */
27 
28 #include "upb/util/def_to_proto.h"
29 
30 #include <inttypes.h>
31 #include <setjmp.h>
32 #include <stdio.h>
33 
34 #include "upb/reflection.h"
35 
36 /* Must be last. */
37 #include "upb/port_def.inc"
38 
39 typedef struct {
41  jmp_buf err;
43 
44 #define CHK_OOM(val) \
45  if (!(val)) UPB_LONGJMP(ctx->err, 1);
46 
47 // We want to copy the options verbatim into the destination options proto.
48 // We use serialize+parse as our deep copy.
49 #define SET_OPTIONS(proto, desc_type, options_type, src) \
50  { \
51  size_t size; \
52  /* MEM: could use a temporary arena here instead. */ \
53  char* pb = \
54  google_protobuf_##options_type##_serialize(src, ctx->arena, &size); \
55  CHK_OOM(pb); \
56  google_protobuf_##options_type* dst = \
57  google_protobuf_##options_type##_parse(pb, size, ctx->arena); \
58  CHK_OOM(dst); \
59  google_protobuf_##desc_type##_set_options(proto, dst); \
60  }
61 
64  char* p = upb_Arena_Malloc(ctx->arena, str.size);
65  CHK_OOM(p);
66  memcpy(p, str.data, str.size);
67  return (upb_StringView){.data = p, .size = str.size};
68 }
69 
71  return strviewdup2(ctx, (upb_StringView){.data = s, .size = strlen(s)});
72 }
73 
75  size_t n = strlen(s);
76  char* p = upb_Arena_Malloc(ctx->arena, n + 1);
77  CHK_OOM(p);
78  p[0] = '.';
79  memcpy(p + 1, s, n);
80  return (upb_StringView){.data = p, .size = n + 1};
81 }
82 
83 UPB_PRINTF(2, 3)
85  ...) {
86  const size_t max = 32;
87  char* p = upb_Arena_Malloc(ctx->arena, max);
88  CHK_OOM(p);
89  va_list args;
90  va_start(args, fmt);
91  size_t n = vsnprintf(p, max, fmt, args);
92  va_end(args);
93  UPB_ASSERT(n < max);
94  return (upb_StringView){.data = p, .size = n};
95 }
96 
97 static bool upb_isprint(char ch) { return ch >= 0x20 && ch <= 0x7f; }
98 
100  upb_StringView val) {
101  size_t n = 0;
102  for (size_t i = 0; i < val.size; i++) {
103  n += upb_isprint(val.data[i]) ? 1 : 4; // '\123'
104  }
105  char* p = upb_Arena_Malloc(ctx->arena, n);
106  CHK_OOM(p);
107  char* dst = p;
108  const char* src = val.data;
109  const char* end = src + val.size;
110  while (src < end) {
111  unsigned char ch = *src++;
112  if (upb_isprint(ch)) {
113  *dst++ = ch;
114  } else {
115  *dst++ = '\\';
116  *dst++ = '0' + (ch >> 6);
117  *dst++ = '0' + ((ch >> 3) & 0x7);
118  *dst++ = '0' + (ch & 0x7);
119  }
120  }
121  return (upb_StringView){.data = p, .size = n};
122 }
123 
125  const upb_FieldDef* f) {
127  switch (upb_FieldDef_CType(f)) {
128  case kUpb_CType_Bool:
129  return strviewdup(ctx, d.bool_val ? "true" : "false");
130  case kUpb_CType_Enum: {
132  const upb_EnumValueDef* ev =
133  upb_EnumDef_FindValueByNumber(e, d.int32_val);
134  return strviewdup(ctx, upb_EnumValueDef_Name(ev));
135  }
136  case kUpb_CType_Int64:
137  return printf_dup(ctx, "%" PRId64, d.int64_val);
138  case kUpb_CType_UInt64:
139  return printf_dup(ctx, "%" PRIu64, d.uint64_val);
140  case kUpb_CType_Int32:
141  return printf_dup(ctx, "%" PRId32, d.int32_val);
142  case kUpb_CType_UInt32:
143  return printf_dup(ctx, "%" PRIu32, d.uint32_val);
144  case kUpb_CType_Float:
145  return printf_dup(ctx, "%.9g", d.float_val);
146  case kUpb_CType_Double:
147  return printf_dup(ctx, "%.17g", d.double_val);
148  case kUpb_CType_String:
149  return strviewdup2(ctx, d.str_val);
150  case kUpb_CType_Bytes:
151  return default_bytes(ctx, d.str_val);
152  default:
153  UPB_UNREACHABLE();
154  }
155 }
156 
161  CHK_OOM(proto);
162 
164  proto, strviewdup(ctx, upb_FieldDef_Name(f)));
169 
173  }
174 
177  proto,
179  } else if (upb_FieldDef_CType(f) == kUpb_CType_Enum) {
182  }
183 
186  proto,
188  }
189 
190  if (upb_FieldDef_HasDefault(f)) {
192  proto, default_string(ctx, f));
193  }
194 
196  if (o) {
199  }
200 
203  }
204 
205  if (upb_FieldDef_HasOptions(f)) {
208  }
209 
210  return proto;
211 }
212 
217  CHK_OOM(proto);
218 
220  proto, strviewdup(ctx, upb_OneofDef_Name(o)));
221 
222  if (upb_OneofDef_HasOptions(o)) {
225  }
226 
227  return proto;
228 }
229 
234  CHK_OOM(proto);
235 
237  proto, strviewdup(ctx, upb_EnumValueDef_Name(e)));
239  proto, upb_EnumValueDef_Number(e));
240 
244  }
245 
246  return proto;
247 }
248 
250  upb_ToProto_Context* ctx, const upb_EnumDef* e) {
253  CHK_OOM(proto);
254 
256  proto, strviewdup(ctx, upb_EnumDef_Name(e)));
257 
258  int n;
259 
263  CHK_OOM(vals);
264  for (int i = 0; i < n; i++) {
266  }
267 
268  // TODO: reserved range, reserved name
269 
270  if (upb_EnumDef_HasOptions(e)) {
273  }
274 
275  return proto;
276 }
277 
282  CHK_OOM(proto);
283 
285  proto, upb_ExtensionRange_Start(e));
287  proto, upb_ExtensionRange_End(e));
288 
292  }
293 
294  return proto;
295 }
296 
301  CHK_OOM(proto);
302 
304  proto, strviewdup(ctx, upb_MessageDef_Name(m)));
305 
306  int n;
307 
311  CHK_OOM(fields);
312  for (int i = 0; i < n; i++) {
314  }
315 
319  for (int i = 0; i < n; i++) {
321  }
322 
324  google_protobuf_DescriptorProto** nested_msgs =
326  for (int i = 0; i < n; i++) {
327  nested_msgs[i] = msgdef_toproto(ctx, upb_MessageDef_NestedMessage(m, i));
328  }
329 
331  google_protobuf_EnumDescriptorProto** nested_enums =
333  for (int i = 0; i < n; i++) {
334  nested_enums[i] = enumdef_toproto(ctx, upb_MessageDef_NestedEnum(m, i));
335  }
336 
340  for (int i = 0; i < n; i++) {
341  nested_exts[i] =
343  }
344 
348  ctx->arena);
349  for (int i = 0; i < n; i++) {
351  }
352 
353  // TODO: reserved ranges and reserved names
354 
358  }
359 
360  return proto;
361 }
362 
367  CHK_OOM(proto);
368 
370  proto, strviewdup(ctx, upb_MethodDef_Name(m)));
371 
373  proto,
376  proto,
378 
381  }
382 
385  }
386 
390  }
391 
392  return proto;
393 }
394 
399  CHK_OOM(proto);
400 
402  proto, strviewdup(ctx, upb_ServiceDef_Name(s)));
403 
404  size_t n = upb_ServiceDef_MethodCount(s);
407  ctx->arena);
408  for (int i = 0; i < n; i++) {
409  methods[i] = methoddef_toproto(ctx, upb_ServiceDef_Method(s, i));
410  }
411 
412  if (upb_ServiceDef_HasOptions(s)) {
415  }
416 
417  return proto;
418 }
419 
424  CHK_OOM(proto);
425 
427  proto, strviewdup(ctx, upb_FileDef_Name(f)));
428 
429  const char* package = upb_FileDef_Package(f);
430  if (package) {
431  size_t n = strlen(package);
432  if (n) {
434  proto, strviewdup(ctx, upb_FileDef_Package(f)));
435  }
436  }
437 
440  strviewdup(ctx, "proto3"));
441  }
442 
443  size_t n;
446  proto, n, ctx->arena);
447  for (int i = 0; i < n; i++) {
449  }
450 
452  int32_t* public_deps =
454  ctx->arena);
455  const int32_t* public_dep_nums = _upb_FileDef_PublicDependencyIndexes(f);
456  if (n) memcpy(public_deps, public_dep_nums, n * sizeof(int32_t));
457 
459  int32_t* weak_deps =
461  ctx->arena);
462  const int32_t* weak_dep_nums = _upb_FileDef_WeakDependencyIndexes(f);
463  if (n) memcpy(weak_deps, weak_dep_nums, n * sizeof(int32_t));
464 
468  ctx->arena);
469  for (int i = 0; i < n; i++) {
471  }
472 
476  ctx->arena);
477  for (int i = 0; i < n; i++) {
479  }
480 
484  for (int i = 0; i < n; i++) {
486  }
487 
491  ctx->arena);
492  for (int i = 0; i < n; i++) {
494  }
495 
496  if (upb_FileDef_HasOptions(f)) {
499  }
500 
501  return proto;
502 }
503 
505  upb_Arena* a) {
507  if (UPB_SETJMP(ctx.err)) return NULL;
508  return msgdef_toproto(&ctx, m);
509 }
510 
512  upb_Arena* a) {
514  if (UPB_SETJMP(ctx.err)) return NULL;
515  return enumdef_toproto(&ctx, e);
516 }
517 
519  const upb_EnumValueDef* e, upb_Arena* a) {
521  if (UPB_SETJMP(ctx.err)) return NULL;
522  return enumvaldef_toproto(&ctx, e);
523 }
524 
526  const upb_FieldDef* f, upb_Arena* a) {
528  if (UPB_SETJMP(ctx.err)) return NULL;
529  return fielddef_toproto(&ctx, f);
530 }
531 
533  const upb_OneofDef* o, upb_Arena* a) {
535  if (UPB_SETJMP(ctx.err)) return NULL;
536  return oneofdef_toproto(&ctx, o);
537 }
538 
540  upb_Arena* a) {
542  if (UPB_SETJMP(ctx.err)) return NULL;
543  return filedef_toproto(&ctx, f);
544 }
545 
547  const upb_MethodDef* m, upb_Arena* a) {
549  if (UPB_SETJMP(ctx.err)) return NULL;
550  return methoddef_toproto(&ctx, m);
551 }
552 
554  const upb_ServiceDef* s, upb_Arena* a) {
556  if (UPB_SETJMP(ctx.err)) return NULL;
557  return servicedef_toproto(&ctx, s);
558 }
upb_OneofDef_Name
const char * upb_OneofDef_Name(const upb_OneofDef *o)
Definition: upb/upb/def.c:870
xds_interop_client.str
str
Definition: xds_interop_client.py:487
upb_MethodDef_ToProto
google_protobuf_MethodDescriptorProto * upb_MethodDef_ToProto(const upb_MethodDef *m, upb_Arena *a)
Definition: def_to_proto.c:546
upb_FieldDef_Type
upb_FieldType upb_FieldDef_Type(const upb_FieldDef *f)
Definition: upb/upb/def.c:535
upb_FieldDef_Number
uint32_t upb_FieldDef_Number(const upb_FieldDef *f)
Definition: upb/upb/def.c:541
upb_FieldDef_HasDefault
bool upb_FieldDef_HasDefault(const upb_FieldDef *f)
Definition: upb/upb/def.c:664
ctx::arena
upb_Arena * arena
Definition: conformance_upb.c:84
deps
static _upb_DefPool_Init * deps[4]
Definition: certs.upbdefs.c:72
kUpb_CType_String
@ kUpb_CType_String
Definition: upb/upb/upb.h:296
extrange_toproto
static google_protobuf_DescriptorProto_ExtensionRange * extrange_toproto(upb_ToProto_Context *ctx, const upb_ExtensionRange *e)
Definition: def_to_proto.c:278
google_protobuf_DescriptorProto_new
UPB_INLINE google_protobuf_DescriptorProto * google_protobuf_DescriptorProto_new(upb_Arena *arena)
Definition: descriptor.upb.h:468
kUpb_CType_UInt32
@ kUpb_CType_UInt32
Definition: upb/upb/upb.h:290
dst
static const char dst[]
Definition: test-fs-copyfile.c:37
vsnprintf
int __cdecl vsnprintf(char *buffer, size_t count, const char *format, va_list argptr)
Definition: libc.cpp:135
upb_ExtensionRange_HasOptions
bool upb_ExtensionRange_HasOptions(const upb_ExtensionRange *r)
Definition: upb/upb/def.c:475
google_protobuf_FileDescriptorProto_resize_service
UPB_INLINE google_protobuf_ServiceDescriptorProto ** google_protobuf_FileDescriptorProto_resize_service(google_protobuf_FileDescriptorProto *msg, size_t len, upb_Arena *arena)
Definition: descriptor.upb.h:396
kUpb_CType_Int32
@ kUpb_CType_Int32
Definition: upb/upb/upb.h:289
google_protobuf_ServiceDescriptorProto_resize_method
UPB_INLINE google_protobuf_MethodDescriptorProto ** google_protobuf_ServiceDescriptorProto_resize_method(google_protobuf_ServiceDescriptorProto *msg, size_t len, upb_Arena *arena)
Definition: descriptor.upb.h:1496
upb_MethodDef_ServerStreaming
bool upb_MethodDef_ServerStreaming(const upb_MethodDef *m)
Definition: upb/upb/def.c:1032
ctx
Definition: benchmark-async.c:30
upb_MessageDef_ExtensionRange
const upb_ExtensionRange * upb_MessageDef_ExtensionRange(const upb_MessageDef *m, int i)
Definition: upb/upb/def.c:822
const
#define const
Definition: bloaty/third_party/zlib/zconf.h:230
google_protobuf_ServiceDescriptorProto
struct google_protobuf_ServiceDescriptorProto google_protobuf_ServiceDescriptorProto
Definition: descriptor.upb.h:61
upb_FileDef_Package
const char * upb_FileDef_Package(const upb_FileDef *f)
Definition: upb/upb/def.c:922
google_protobuf_EnumValueDescriptorProto_set_number
UPB_INLINE void google_protobuf_EnumValueDescriptorProto_set_number(google_protobuf_EnumValueDescriptorProto *msg, int32_t value)
Definition: descriptor.upb.h:1411
google_protobuf_FieldDescriptorProto_set_extendee
UPB_INLINE void google_protobuf_FieldDescriptorProto_set_extendee(google_protobuf_FieldDescriptorProto *msg, upb_StringView value)
Definition: descriptor.upb.h:1040
google_protobuf_EnumDescriptorProto_set_name
UPB_INLINE void google_protobuf_EnumDescriptorProto_set_name(google_protobuf_EnumDescriptorProto *msg, upb_StringView value)
Definition: descriptor.upb.h:1234
upb_EnumDef_ToProto
google_protobuf_EnumDescriptorProto * upb_EnumDef_ToProto(const upb_EnumDef *e, upb_Arena *a)
Definition: def_to_proto.c:511
upb_MessageDef_NestedMessageCount
int upb_MessageDef_NestedMessageCount(const upb_MessageDef *m)
Definition: upb/upb/def.c:802
google_protobuf_EnumValueDescriptorProto
struct google_protobuf_EnumValueDescriptorProto google_protobuf_EnumValueDescriptorProto
Definition: descriptor.upb.h:60
upb_StringView::data
const char * data
Definition: upb/upb/upb.h:73
FieldOptions
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.pb.h:4590
upb_MessageDef
Definition: upb/upb/def.c:100
upb_EnumValueDef_Name
const char * upb_EnumValueDef_Name(const upb_EnumValueDef *ev)
Definition: upb/upb/def.c:454
upb_ServiceDef_Name
const char * upb_ServiceDef_Name(const upb_ServiceDef *s)
Definition: upb/upb/def.c:1051
upb_MethodDef_Name
const char * upb_MethodDef_Name(const upb_MethodDef *m)
Definition: upb/upb/def.c:1012
def_to_proto.h
upb_MessageDef_NestedEnum
const upb_EnumDef * upb_MessageDef_NestedEnum(const upb_MessageDef *m, int i)
Definition: upb/upb/def.c:844
_upb_FileDef_WeakDependencyIndexes
const int32_t * _upb_FileDef_WeakDependencyIndexes(const upb_FileDef *f)
Definition: upb/upb/def.c:944
upb_MessageDef_HasOptions
bool upb_MessageDef_HasOptions(const upb_MessageDef *m)
Definition: upb/upb/def.c:697
upb_FileDef_Dependency
const upb_FileDef * upb_FileDef_Dependency(const upb_FileDef *f, int i)
Definition: upb/upb/def.c:958
google_protobuf_ServiceDescriptorProto_set_name
UPB_INLINE void google_protobuf_ServiceDescriptorProto_set_name(google_protobuf_ServiceDescriptorProto *msg, upb_StringView value)
Definition: descriptor.upb.h:1489
google_protobuf_DescriptorProto_resize_enum_type
UPB_INLINE google_protobuf_EnumDescriptorProto ** google_protobuf_DescriptorProto_resize_enum_type(google_protobuf_DescriptorProto *msg, size_t len, upb_Arena *arena)
Definition: descriptor.upb.h:617
FileOptions
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.pb.h:3696
FieldDescriptorProto
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.pb.h:1851
kUpb_CType_Bytes
@ kUpb_CType_Bytes
Definition: upb/upb/upb.h:297
google_protobuf_OneofDescriptorProto_new
UPB_INLINE google_protobuf_OneofDescriptorProto * google_protobuf_OneofDescriptorProto_new(upb_Arena *arena)
Definition: descriptor.upb.h:1092
upb_MethodDef
Definition: upb/upb/def.c:197
UPB_UNREACHABLE
#define UPB_UNREACHABLE()
Definition: bloaty/third_party/protobuf/php/ext/google/protobuf/upb.c:145
google_protobuf_FileDescriptorProto_set_package
UPB_INLINE void google_protobuf_FileDescriptorProto_set_package(google_protobuf_FileDescriptorProto *msg, upb_StringView value)
Definition: descriptor.upb.h:356
UPB_SETJMP
#define UPB_SETJMP(buf)
Definition: php-upb.c:163
ServiceDescriptorProto
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.pb.h:3186
msgdef_toproto
static google_protobuf_DescriptorProto * msgdef_toproto(upb_ToProto_Context *ctx, const upb_MessageDef *m)
Definition: def_to_proto.c:297
google_protobuf_MethodDescriptorProto_set_input_type
UPB_INLINE void google_protobuf_MethodDescriptorProto_set_input_type(google_protobuf_MethodDescriptorProto *msg, upb_StringView value)
Definition: descriptor.upb.h:1614
google_protobuf_FileDescriptorProto_resize_dependency
UPB_INLINE upb_StringView * google_protobuf_FileDescriptorProto_resize_dependency(google_protobuf_FileDescriptorProto *msg, size_t len, upb_Arena *arena)
Definition: descriptor.upb.h:363
gen_header_frame.vals
list vals
Definition: gen_header_frame.py:73
MethodDescriptorProto
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.pb.h:3405
upb_OneofDef
Definition: upb/upb/def.c:157
google_protobuf_FieldDescriptorProto_new
UPB_INLINE google_protobuf_FieldDescriptorProto * google_protobuf_FieldDescriptorProto_new(upb_Arena *arena)
Definition: descriptor.upb.h:897
strviewdup
static upb_StringView strviewdup(upb_ToProto_Context *ctx, const char *s)
Definition: def_to_proto.c:70
a
int a
Definition: abseil-cpp/absl/container/internal/hash_policy_traits_test.cc:88
upb_FileDef_TopLevelExtensionCount
int upb_FileDef_TopLevelExtensionCount(const upb_FileDef *f)
Definition: upb/upb/def.c:952
xds_manager.p
p
Definition: xds_manager.py:60
default_string
static upb_StringView default_string(upb_ToProto_Context *ctx, const upb_FieldDef *f)
Definition: def_to_proto.c:124
upb_MessageDef_NestedExtensionCount
int upb_MessageDef_NestedExtensionCount(const upb_MessageDef *m)
Definition: upb/upb/def.c:810
upb_EnumValueDef_HasOptions
bool upb_EnumValueDef_HasOptions(const upb_EnumValueDef *e)
Definition: upb/upb/def.c:442
google_protobuf_EnumDescriptorProto_resize_value
UPB_INLINE google_protobuf_EnumValueDescriptorProto ** google_protobuf_EnumDescriptorProto_resize_value(google_protobuf_EnumDescriptorProto *msg, size_t len, upb_Arena *arena)
Definition: descriptor.upb.h:1241
google_protobuf_OneofDescriptorProto
struct google_protobuf_OneofDescriptorProto google_protobuf_OneofDescriptorProto
Definition: descriptor.upb.h:57
UPB_PRINTF
#define UPB_PRINTF(str, first_vararg)
Definition: php-upb.c:122
kUpb_CType_Int64
@ kUpb_CType_Int64
Definition: upb/upb/upb.h:294
ExtensionRangeOptions
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.pb.h:1680
google_protobuf_FieldDescriptorProto
struct google_protobuf_FieldDescriptorProto google_protobuf_FieldDescriptorProto
Definition: descriptor.upb.h:56
EnumValueDescriptorProto
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.pb.h:2972
EnumOptions
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.pb.h:5086
upb_FileDef_Syntax
upb_Syntax upb_FileDef_Syntax(const upb_FileDef *f)
Definition: upb/upb/def.c:924
upb_FileDef_TopLevelEnum
const upb_EnumDef * upb_FileDef_TopLevelEnum(const upb_FileDef *f, int i)
Definition: upb/upb/def.c:978
google_protobuf_FileDescriptorProto_set_name
UPB_INLINE void google_protobuf_FileDescriptorProto_set_name(google_protobuf_FileDescriptorProto *msg, upb_StringView value)
Definition: descriptor.upb.h:352
google_protobuf_MethodDescriptorProto_new
UPB_INLINE google_protobuf_MethodDescriptorProto * google_protobuf_MethodDescriptorProto_new(upb_Arena *arena)
Definition: descriptor.upb.h:1521
google_protobuf_MethodDescriptorProto_set_name
UPB_INLINE void google_protobuf_MethodDescriptorProto_set_name(google_protobuf_MethodDescriptorProto *msg, upb_StringView value)
Definition: descriptor.upb.h:1610
google_protobuf_DescriptorProto_ExtensionRange
struct google_protobuf_DescriptorProto_ExtensionRange google_protobuf_DescriptorProto_ExtensionRange
Definition: descriptor.upb.h:53
google_protobuf_EnumDescriptorProto_new
UPB_INLINE google_protobuf_EnumDescriptorProto * google_protobuf_EnumDescriptorProto_new(upb_Arena *arena)
Definition: descriptor.upb.h:1161
upb_EnumDef_FindValueByNumber
const upb_EnumValueDef * upb_EnumDef_FindValueByNumber(const upb_EnumDef *def, int32_t num)
Definition: upb/upb/def.c:417
o
UnboundConversion o
Definition: third_party/abseil-cpp/absl/strings/internal/str_format/parser_test.cc:97
upb_MessageValue
Definition: upb/upb/reflection.h:40
upb_ServiceDef
Definition: upb/upb/def.c:208
enumdef_toproto
static google_protobuf_EnumDescriptorProto * enumdef_toproto(upb_ToProto_Context *ctx, const upb_EnumDef *e)
Definition: def_to_proto.c:249
upb_EnumDef_HasOptions
bool upb_EnumDef_HasOptions(const upb_EnumDef *e)
Definition: upb/upb/def.c:386
upb_FieldDef_Label
upb_Label upb_FieldDef_Label(const upb_FieldDef *f)
Definition: upb/upb/def.c:539
printf_dup
static upb_StringView printf_dup(upb_ToProto_Context *ctx, const char *fmt,...)
Definition: def_to_proto.c:84
google_protobuf_MethodDescriptorProto
struct google_protobuf_MethodDescriptorProto google_protobuf_MethodDescriptorProto
Definition: descriptor.upb.h:62
google_protobuf_ServiceDescriptorProto_new
UPB_INLINE google_protobuf_ServiceDescriptorProto * google_protobuf_ServiceDescriptorProto_new(upb_Arena *arena)
Definition: descriptor.upb.h:1431
memcpy
memcpy(mem, inblock.get(), min(CONTAINING_RECORD(inblock.get(), MEMBLOCK, data) ->size, size))
google_protobuf_FieldDescriptorProto_set_type
UPB_INLINE void google_protobuf_FieldDescriptorProto_set_type(google_protobuf_FieldDescriptorProto *msg, int32_t value)
Definition: descriptor.upb.h:1052
upb_MessageDef_Name
const char * upb_MessageDef_Name(const upb_MessageDef *m)
Definition: upb/upb/def.c:713
autogen_x86imm.f
f
Definition: autogen_x86imm.py:9
upb_FileDef_TopLevelExtension
const upb_FieldDef * upb_FileDef_TopLevelExtension(const upb_FileDef *f, int i)
Definition: upb/upb/def.c:983
upb_MethodDef_Options
const google_protobuf_MethodOptions * upb_MethodDef_Options(const upb_MethodDef *m)
Definition: upb/upb/def.c:997
asyncio_get_stats.args
args
Definition: asyncio_get_stats.py:40
DescriptorProto_ExtensionRange
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.pb.h:936
upb_FileDef_WeakDependencyCount
int upb_FileDef_WeakDependencyCount(const upb_FileDef *f)
Definition: upb/upb/def.c:936
end
char * end
Definition: abseil-cpp/absl/strings/internal/str_format/float_conversion.cc:1008
strviewdup2
static upb_StringView strviewdup2(upb_ToProto_Context *ctx, upb_StringView str)
Definition: def_to_proto.c:62
upb_ExtensionRange_Options
const google_protobuf_ExtensionRangeOptions * upb_ExtensionRange_Options(const upb_ExtensionRange *r)
Definition: upb/upb/def.c:470
google_protobuf_FileDescriptorProto_resize_enum_type
UPB_INLINE google_protobuf_EnumDescriptorProto ** google_protobuf_FileDescriptorProto_resize_enum_type(google_protobuf_FileDescriptorProto *msg, size_t len, upb_Arena *arena)
Definition: descriptor.upb.h:384
kUpb_CType_Double
@ kUpb_CType_Double
Definition: upb/upb/upb.h:293
upb_EnumDef_Options
const google_protobuf_EnumOptions * upb_EnumDef_Options(const upb_EnumDef *e)
Definition: upb/upb/def.c:382
max
int max
Definition: bloaty/third_party/zlib/examples/enough.c:170
upb_StringView::size
size_t size
Definition: upb/upb/upb.h:74
upb_FileDef_Options
const google_protobuf_FileOptions * upb_FileDef_Options(const upb_FileDef *f)
Definition: upb/upb/def.c:912
upb_MessageDef_NestedMessage
const upb_MessageDef * upb_MessageDef_NestedMessage(const upb_MessageDef *m, int i)
Definition: upb/upb/def.c:838
google_protobuf_EnumValueDescriptorProto_set_name
UPB_INLINE void google_protobuf_EnumValueDescriptorProto_set_name(google_protobuf_EnumValueDescriptorProto *msg, upb_StringView value)
Definition: descriptor.upb.h:1407
_upb_FileDef_PublicDependencyIndexes
const int32_t * _upb_FileDef_PublicDependencyIndexes(const upb_FileDef *f)
Definition: upb/upb/def.c:940
CHK_OOM
#define CHK_OOM(val)
Definition: def_to_proto.c:44
upb_Arena_Malloc
UPB_INLINE void * upb_Arena_Malloc(upb_Arena *a, size_t size)
Definition: upb/upb/upb.h:222
upb_FileDef_TopLevelMessage
const upb_MessageDef * upb_FileDef_TopLevelMessage(const upb_FileDef *f, int i)
Definition: upb/upb/def.c:973
upb_EnumValueDef_ToProto
google_protobuf_EnumValueDescriptorProto * upb_EnumValueDef_ToProto(const upb_EnumValueDef *e, upb_Arena *a)
Definition: def_to_proto.c:518
upb_ToProto_Context
Definition: def_to_proto.c:39
upb_EnumValueDef
Definition: upb/upb/def.c:150
upb_FieldDef_ToProto
google_protobuf_FieldDescriptorProto * upb_FieldDef_ToProto(const upb_FieldDef *f, upb_Arena *a)
Definition: def_to_proto.c:525
upb_EnumDef_FullName
const char * upb_EnumDef_FullName(const upb_EnumDef *e)
Definition: upb/upb/def.c:390
methoddef_toproto
static google_protobuf_MethodDescriptorProto * methoddef_toproto(upb_ToProto_Context *ctx, const upb_MethodDef *m)
Definition: def_to_proto.c:363
_upb_FieldDef_IsProto3Optional
bool _upb_FieldDef_IsProto3Optional(const upb_FieldDef *f)
Definition: upb/upb/def.c:638
google_protobuf_FieldDescriptorProto_set_type_name
UPB_INLINE void google_protobuf_FieldDescriptorProto_set_type_name(google_protobuf_FieldDescriptorProto *msg, upb_StringView value)
Definition: descriptor.upb.h:1056
upb_FieldDef_Default
upb_MessageValue upb_FieldDef_Default(const upb_FieldDef *f)
Definition: upb/upb/def.c:581
MessageOptions
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.pb.h:4359
upb_isprint
static bool upb_isprint(char ch)
Definition: def_to_proto.c:97
google_protobuf_EnumDescriptorProto
struct google_protobuf_EnumDescriptorProto google_protobuf_EnumDescriptorProto
Definition: descriptor.upb.h:58
google_protobuf_MethodDescriptorProto_set_server_streaming
UPB_INLINE void google_protobuf_MethodDescriptorProto_set_server_streaming(google_protobuf_MethodDescriptorProto *msg, bool value)
Definition: descriptor.upb.h:1639
upb_FieldDef_IsExtension
bool upb_FieldDef_IsExtension(const upb_FieldDef *f)
Definition: upb/upb/def.c:543
reflection.h
qual_dup
static upb_StringView qual_dup(upb_ToProto_Context *ctx, const char *s)
Definition: def_to_proto.c:74
google_protobuf_DescriptorProto_resize_extension_range
UPB_INLINE google_protobuf_DescriptorProto_ExtensionRange ** google_protobuf_DescriptorProto_resize_extension_range(google_protobuf_DescriptorProto *msg, size_t len, upb_Arena *arena)
Definition: descriptor.upb.h:629
upb_FileDef_Name
const char * upb_FileDef_Name(const upb_FileDef *f)
Definition: upb/upb/def.c:920
google_protobuf_DescriptorProto_resize_oneof_decl
UPB_INLINE google_protobuf_OneofDescriptorProto ** google_protobuf_DescriptorProto_resize_oneof_decl(google_protobuf_DescriptorProto *msg, size_t len, upb_Arena *arena)
Definition: descriptor.upb.h:666
upb_OneofDef_HasOptions
bool upb_OneofDef_HasOptions(const upb_OneofDef *o)
Definition: upb/upb/def.c:866
UPB_ASSERT
#define UPB_ASSERT(expr)
Definition: bloaty/third_party/protobuf/php/ext/google/protobuf/upb.c:135
google_protobuf_DescriptorProto_ExtensionRange_set_end
UPB_INLINE void google_protobuf_DescriptorProto_ExtensionRange_set_end(google_protobuf_DescriptorProto_ExtensionRange *msg, int32_t value)
Definition: descriptor.upb.h:762
upb_EnumValueDef_Options
const google_protobuf_EnumValueOptions * upb_EnumValueDef_Options(const upb_EnumValueDef *e)
Definition: upb/upb/def.c:437
upb_FieldDef_CType
upb_CType upb_FieldDef_CType(const upb_FieldDef *f)
Definition: upb/upb/def.c:500
upb_FileDef_Service
const upb_ServiceDef * upb_FileDef_Service(const upb_FileDef *f, int i)
Definition: upb/upb/def.c:988
SET_OPTIONS
#define SET_OPTIONS(proto, desc_type, options_type, src)
Definition: def_to_proto.c:49
upb_EnumDef_ValueCount
int upb_EnumDef_ValueCount(const upb_EnumDef *e)
Definition: upb/upb/def.c:407
FileDescriptorProto
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.pb.h:501
upb_ExtensionRange_Start
int32_t upb_ExtensionRange_Start(const upb_ExtensionRange *e)
Definition: upb/upb/def.c:479
upb_FileDef_TopLevelEnumCount
int upb_FileDef_TopLevelEnumCount(const upb_FileDef *f)
Definition: upb/upb/def.c:948
upb_ExtensionRange_End
int32_t upb_ExtensionRange_End(const upb_ExtensionRange *e)
Definition: upb/upb/def.c:483
upb_OneofDef_Options
const google_protobuf_OneofOptions * upb_OneofDef_Options(const upb_OneofDef *o)
Definition: upb/upb/def.c:861
google_protobuf_FieldDescriptorProto_set_oneof_index
UPB_INLINE void google_protobuf_FieldDescriptorProto_set_oneof_index(google_protobuf_FieldDescriptorProto *msg, int32_t value)
Definition: descriptor.upb.h:1077
upb_MessageDef_Oneof
const upb_OneofDef * upb_MessageDef_Oneof(const upb_MessageDef *m, int i)
Definition: upb/upb/def.c:833
d
static const fe d
Definition: curve25519_tables.h:19
upb_FieldDef_MessageSubDef
const upb_MessageDef * upb_FieldDef_MessageSubDef(const upb_FieldDef *f)
Definition: upb/upb/def.c:619
n
int n
Definition: abseil-cpp/absl/container/btree_test.cc:1080
ServiceOptions
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.pb.h:5473
upb_MethodDef_InputType
const upb_MessageDef * upb_MethodDef_InputType(const upb_MethodDef *m)
Definition: upb/upb/def.c:1020
upb_FieldDef_EnumSubDef
const upb_EnumDef * upb_FieldDef_EnumSubDef(const upb_FieldDef *f)
Definition: upb/upb/def.c:623
servicedef_toproto
static google_protobuf_ServiceDescriptorProto * servicedef_toproto(upb_ToProto_Context *ctx, const upb_ServiceDef *s)
Definition: def_to_proto.c:395
upb_MethodDef_HasOptions
bool upb_MethodDef_HasOptions(const upb_MethodDef *m)
Definition: upb/upb/def.c:1002
google_protobuf_DescriptorProto_resize_nested_type
UPB_INLINE google_protobuf_DescriptorProto ** google_protobuf_DescriptorProto_resize_nested_type(google_protobuf_DescriptorProto *msg, size_t len, upb_Arena *arena)
Definition: descriptor.upb.h:605
upb_FieldDef_HasOptions
bool upb_FieldDef_HasOptions(const upb_FieldDef *f)
Definition: upb/upb/def.c:492
upb_FieldDef
Definition: upb/upb/def.c:56
google_protobuf_FieldDescriptorProto_set_name
UPB_INLINE void google_protobuf_FieldDescriptorProto_set_name(google_protobuf_FieldDescriptorProto *msg, upb_StringView value)
Definition: descriptor.upb.h:1036
upb_MessageDef_ExtensionRangeCount
int upb_MessageDef_ExtensionRangeCount(const upb_MessageDef *m)
Definition: upb/upb/def.c:790
kUpb_CType_Float
@ kUpb_CType_Float
Definition: upb/upb/upb.h:288
upb_ServiceDef_Method
const upb_MethodDef * upb_ServiceDef_Method(const upb_ServiceDef *s, int i)
Definition: upb/upb/def.c:1065
google_protobuf_OneofDescriptorProto_set_name
UPB_INLINE void google_protobuf_OneofDescriptorProto_set_name(google_protobuf_OneofDescriptorProto *msg, upb_StringView value)
Definition: descriptor.upb.h:1141
google_protobuf_DescriptorProto_set_name
UPB_INLINE void google_protobuf_DescriptorProto_set_name(google_protobuf_DescriptorProto *msg, upb_StringView value)
Definition: descriptor.upb.h:586
google_protobuf_DescriptorProto_resize_field
UPB_INLINE google_protobuf_FieldDescriptorProto ** google_protobuf_DescriptorProto_resize_field(google_protobuf_DescriptorProto *msg, size_t len, upb_Arena *arena)
Definition: descriptor.upb.h:593
greeter_client.services
services
Definition: no_codegen/greeter_client.py:34
upb_MessageDef_Options
const google_protobuf_MessageOptions * upb_MessageDef_Options(const upb_MessageDef *m)
Definition: upb/upb/def.c:692
testing::internal::fmt
GTEST_API_ const char * fmt
Definition: bloaty/third_party/googletest/googletest/include/gtest/gtest.h:1808
fielddef_toproto
static google_protobuf_FieldDescriptorProto * fielddef_toproto(upb_ToProto_Context *ctx, const upb_FieldDef *f)
Definition: def_to_proto.c:157
upb_FieldDef_ContainingType
const upb_MessageDef * upb_FieldDef_ContainingType(const upb_FieldDef *f)
Definition: upb/upb/def.c:563
upb_OneofDef_Index
uint32_t upb_OneofDef_Index(const upb_OneofDef *o)
Definition: upb/upb/def.c:887
google_protobuf_FileDescriptorProto_resize_extension
UPB_INLINE google_protobuf_FieldDescriptorProto ** google_protobuf_FileDescriptorProto_resize_extension(google_protobuf_FileDescriptorProto *msg, size_t len, upb_Arena *arena)
Definition: descriptor.upb.h:408
upb_FileDef_ServiceCount
int upb_FileDef_ServiceCount(const upb_FileDef *f)
Definition: upb/upb/def.c:956
upb_FieldDef_JsonName
const char * upb_FieldDef_JsonName(const upb_FieldDef *f)
Definition: upb/upb/def.c:553
upb_StringView
Definition: upb/upb/upb.h:72
upb_FileDef
Definition: upb/upb/def.c:171
google_protobuf_DescriptorProto_ExtensionRange_new
UPB_INLINE google_protobuf_DescriptorProto_ExtensionRange * google_protobuf_DescriptorProto_ExtensionRange_new(upb_Arena *arena)
Definition: descriptor.upb.h:699
upb_ExtensionRange
Definition: upb/upb/def.c:94
google_protobuf_FieldDescriptorProto_set_number
UPB_INLINE void google_protobuf_FieldDescriptorProto_set_number(google_protobuf_FieldDescriptorProto *msg, int32_t value)
Definition: descriptor.upb.h:1044
EnumDescriptorProto
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.pb.h:2705
EnumValueOptions
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.pb.h:5287
upb_MessageDef_NestedExtension
const upb_FieldDef * upb_MessageDef_NestedExtension(const upb_MessageDef *m, int i)
Definition: upb/upb/def.c:849
google_protobuf_FieldDescriptorProto_set_label
UPB_INLINE void google_protobuf_FieldDescriptorProto_set_label(google_protobuf_FieldDescriptorProto *msg, int32_t value)
Definition: descriptor.upb.h:1048
google_protobuf_EnumValueDescriptorProto_new
UPB_INLINE google_protobuf_EnumValueDescriptorProto * google_protobuf_EnumValueDescriptorProto_new(upb_Arena *arena)
Definition: descriptor.upb.h:1348
upb_OneofDef_ToProto
google_protobuf_OneofDescriptorProto * upb_OneofDef_ToProto(const upb_OneofDef *o, upb_Arena *a)
Definition: def_to_proto.c:532
upb_ServiceDef_Options
const google_protobuf_ServiceOptions * upb_ServiceDef_Options(const upb_ServiceDef *s)
Definition: upb/upb/def.c:1038
upb_EnumDef_Name
const char * upb_EnumDef_Name(const upb_EnumDef *e)
Definition: upb/upb/def.c:392
upb_MessageDef_OneofCount
int upb_MessageDef_OneofCount(const upb_MessageDef *m)
Definition: upb/upb/def.c:798
profile_analyzer.fields
list fields
Definition: profile_analyzer.py:266
upb_FileDef_PublicDependencyCount
int upb_FileDef_PublicDependencyCount(const upb_FileDef *f)
Definition: upb/upb/def.c:932
OneofDescriptorProto
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.pb.h:2328
DescriptorProto
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.pb.h:1312
google_protobuf_MethodDescriptorProto_set_client_streaming
UPB_INLINE void google_protobuf_MethodDescriptorProto_set_client_streaming(google_protobuf_MethodDescriptorProto *msg, bool value)
Definition: descriptor.upb.h:1635
google_protobuf_FileDescriptorProto_new
UPB_INLINE google_protobuf_FileDescriptorProto * google_protobuf_FileDescriptorProto_new(upb_Arena *arena)
Definition: descriptor.upb.h:220
OneofOptions
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.pb.h:4915
upb_MessageDef_FullName
const char * upb_MessageDef_FullName(const upb_MessageDef *m)
Definition: upb/upb/def.c:701
upb_ToProto_Context::arena
upb_Arena * arena
Definition: def_to_proto.c:40
kUpb_Syntax_Proto3
@ kUpb_Syntax_Proto3
Definition: upb/upb/def.h:65
google_protobuf_FileDescriptorProto_resize_message_type
UPB_INLINE google_protobuf_DescriptorProto ** google_protobuf_FileDescriptorProto_resize_message_type(google_protobuf_FileDescriptorProto *msg, size_t len, upb_Arena *arena)
Definition: descriptor.upb.h:372
default_bytes
static upb_StringView default_bytes(upb_ToProto_Context *ctx, upb_StringView val)
Definition: def_to_proto.c:99
google_protobuf_MethodDescriptorProto_set_output_type
UPB_INLINE void google_protobuf_MethodDescriptorProto_set_output_type(google_protobuf_MethodDescriptorProto *msg, upb_StringView value)
Definition: descriptor.upb.h:1618
google_protobuf_FieldDescriptorProto_set_proto3_optional
UPB_INLINE void google_protobuf_FieldDescriptorProto_set_proto3_optional(google_protobuf_FieldDescriptorProto *msg, bool value)
Definition: descriptor.upb.h:1085
upb_FieldDef_IsSubMessage
bool upb_FieldDef_IsSubMessage(const upb_FieldDef *f)
Definition: upb/upb/def.c:642
kUpb_CType_Bool
@ kUpb_CType_Bool
Definition: upb/upb/upb.h:287
upb_FieldDef_ContainingOneof
const upb_OneofDef * upb_FieldDef_ContainingOneof(const upb_FieldDef *f)
Definition: upb/upb/def.c:571
kUpb_CType_Enum
@ kUpb_CType_Enum
Definition: upb/upb/upb.h:291
upb_MessageDef_ToProto
google_protobuf_DescriptorProto * upb_MessageDef_ToProto(const upb_MessageDef *m, upb_Arena *a)
Definition: def_to_proto.c:504
upb_EnumDef
Definition: upb/upb/def.c:134
upb_MessageDef_NestedEnumCount
int upb_MessageDef_NestedEnumCount(const upb_MessageDef *m)
Definition: upb/upb/def.c:806
upb_ServiceDef_HasOptions
bool upb_ServiceDef_HasOptions(const upb_ServiceDef *s)
Definition: upb/upb/def.c:1043
google_protobuf_DescriptorProto_ExtensionRange_set_start
UPB_INLINE void google_protobuf_DescriptorProto_ExtensionRange_set_start(google_protobuf_DescriptorProto_ExtensionRange *msg, int32_t value)
Definition: descriptor.upb.h:758
upb_FileDef_ToProto
google_protobuf_FileDescriptorProto * upb_FileDef_ToProto(const upb_FileDef *f, upb_Arena *a)
Definition: def_to_proto.c:539
upb_MethodDef_OutputType
const upb_MessageDef * upb_MethodDef_OutputType(const upb_MethodDef *m)
Definition: upb/upb/def.c:1024
upb_FieldDef_Name
const char * upb_FieldDef_Name(const upb_FieldDef *f)
Definition: upb/upb/def.c:549
google_protobuf_FileDescriptorProto_set_syntax
UPB_INLINE void google_protobuf_FileDescriptorProto_set_syntax(google_protobuf_FileDescriptorProto *msg, upb_StringView value)
Definition: descriptor.upb.h:461
ch
char ch
Definition: bloaty/third_party/googletest/googlemock/test/gmock-matchers_test.cc:3621
google_protobuf_FileDescriptorProto_resize_weak_dependency
UPB_INLINE int32_t * google_protobuf_FileDescriptorProto_resize_weak_dependency(google_protobuf_FileDescriptorProto *msg, size_t len, upb_Arena *arena)
Definition: descriptor.upb.h:455
upb_MessageDef_FieldCount
int upb_MessageDef_FieldCount(const upb_MessageDef *m)
Definition: upb/upb/def.c:794
kUpb_CType_UInt64
@ kUpb_CType_UInt64
Definition: upb/upb/upb.h:295
upb_ToProto_Context::err
jmp_buf err
Definition: def_to_proto.c:41
google_protobuf_DescriptorProto
struct google_protobuf_DescriptorProto google_protobuf_DescriptorProto
Definition: descriptor.upb.h:52
upb_MessageDef_Field
const upb_FieldDef * upb_MessageDef_Field(const upb_MessageDef *m, int i)
Definition: upb/upb/def.c:828
regress.m
m
Definition: regress/regress.py:25
int32_t
signed int int32_t
Definition: stdint-msvc2008.h:77
upb_MethodDef_ClientStreaming
bool upb_MethodDef_ClientStreaming(const upb_MethodDef *m)
Definition: upb/upb/def.c:1028
oneofdef_toproto
static google_protobuf_OneofDescriptorProto * oneofdef_toproto(upb_ToProto_Context *ctx, const upb_OneofDef *o)
Definition: def_to_proto.c:213
upb_ServiceDef_MethodCount
int upb_ServiceDef_MethodCount(const upb_ServiceDef *s)
Definition: upb/upb/def.c:1061
google_protobuf_DescriptorProto_resize_extension
UPB_INLINE google_protobuf_FieldDescriptorProto ** google_protobuf_DescriptorProto_resize_extension(google_protobuf_DescriptorProto *msg, size_t len, upb_Arena *arena)
Definition: descriptor.upb.h:641
upb_FieldDef_HasJsonName
bool upb_FieldDef_HasJsonName(const upb_FieldDef *f)
Definition: upb/upb/def.c:557
upb_FieldDef_Options
const google_protobuf_FieldOptions * upb_FieldDef_Options(const upb_FieldDef *f)
Definition: upb/upb/def.c:487
MethodOptions
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.pb.h:5659
google_protobuf_FileDescriptorProto
struct google_protobuf_FileDescriptorProto google_protobuf_FileDescriptorProto
Definition: descriptor.upb.h:51
upb_ServiceDef_ToProto
google_protobuf_ServiceDescriptorProto * upb_ServiceDef_ToProto(const upb_ServiceDef *s, upb_Arena *a)
Definition: def_to_proto.c:553
upb_EnumValueDef_Number
int32_t upb_EnumValueDef_Number(const upb_EnumValueDef *ev)
Definition: upb/upb/def.c:458
upb_Arena
Definition: upb_internal.h:36
upb_FileDef_HasOptions
bool upb_FileDef_HasOptions(const upb_FileDef *f)
Definition: upb/upb/def.c:916
google_protobuf_FieldDescriptorProto_set_default_value
UPB_INLINE void google_protobuf_FieldDescriptorProto_set_default_value(google_protobuf_FieldDescriptorProto *msg, upb_StringView value)
Definition: descriptor.upb.h:1060
google_protobuf_FieldDescriptorProto_set_json_name
UPB_INLINE void google_protobuf_FieldDescriptorProto_set_json_name(google_protobuf_FieldDescriptorProto *msg, upb_StringView value)
Definition: descriptor.upb.h:1081
enumvaldef_toproto
static google_protobuf_EnumValueDescriptorProto * enumvaldef_toproto(upb_ToProto_Context *ctx, const upb_EnumValueDef *e)
Definition: def_to_proto.c:230
i
uint64_t i
Definition: abseil-cpp/absl/container/btree_benchmark.cc:230
upb_EnumDef_Value
const upb_EnumValueDef * upb_EnumDef_Value(const upb_EnumDef *e, int i)
Definition: upb/upb/def.c:430
upb_FileDef_TopLevelMessageCount
int upb_FileDef_TopLevelMessageCount(const upb_FileDef *f)
Definition: upb/upb/def.c:926
google_protobuf_FileDescriptorProto_resize_public_dependency
UPB_INLINE int32_t * google_protobuf_FileDescriptorProto_resize_public_dependency(google_protobuf_FileDescriptorProto *msg, size_t len, upb_Arena *arena)
Definition: descriptor.upb.h:446
filedef_toproto
static google_protobuf_FileDescriptorProto * filedef_toproto(upb_ToProto_Context *ctx, const upb_FileDef *f)
Definition: def_to_proto.c:420
upb_FileDef_DependencyCount
int upb_FileDef_DependencyCount(const upb_FileDef *f)
Definition: upb/upb/def.c:930


grpc
Author(s):
autogenerated on Fri May 16 2025 02:58:09