bloaty/third_party/protobuf/src/google/protobuf/message.cc
Go to the documentation of this file.
1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2008 Google Inc. All rights reserved.
3 // https://developers.google.com/protocol-buffers/
4 //
5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are
7 // met:
8 //
9 // * Redistributions of source code must retain the above copyright
10 // notice, this list of conditions and the following disclaimer.
11 // * Redistributions in binary form must reproduce the above
12 // copyright notice, this list of conditions and the following disclaimer
13 // in the documentation and/or other materials provided with the
14 // distribution.
15 // * Neither the name of Google Inc. nor the names of its
16 // contributors may be used to endorse or promote products derived from
17 // this software without specific prior written permission.
18 //
19 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 
31 // Author: kenton@google.com (Kenton Varda)
32 // Based on original Protocol Buffers design by
33 // Sanjay Ghemawat, Jeff Dean, and others.
34 
35 #include <iostream>
36 #include <stack>
37 #include <unordered_map>
38 
39 #include <google/protobuf/generated_message_reflection.h>
40 #include <google/protobuf/message.h>
41 
42 #include <google/protobuf/stubs/casts.h>
43 #include <google/protobuf/stubs/logging.h>
44 #include <google/protobuf/stubs/common.h>
45 #include <google/protobuf/descriptor.pb.h>
46 #include <google/protobuf/parse_context.h>
47 #include <google/protobuf/reflection_internal.h>
48 #include <google/protobuf/io/coded_stream.h>
49 #include <google/protobuf/io/zero_copy_stream_impl.h>
50 #include <google/protobuf/descriptor.h>
51 #include <google/protobuf/generated_message_util.h>
52 #include <google/protobuf/map_field.h>
53 #include <google/protobuf/map_field_inl.h>
54 #include <google/protobuf/reflection_ops.h>
55 #include <google/protobuf/unknown_field_set.h>
56 #include <google/protobuf/wire_format.h>
57 #include <google/protobuf/wire_format_lite.h>
58 #include <google/protobuf/stubs/strutil.h>
59 #include <google/protobuf/stubs/map_util.h>
60 #include <google/protobuf/stubs/stl_util.h>
61 #include <google/protobuf/stubs/hash.h>
62 
63 #include <google/protobuf/port_def.inc>
64 
65 namespace google {
66 namespace protobuf {
67 
68 namespace internal {
69 
70 // TODO(gerbens) make this factorized better. This should not have to hop
71 // to reflection. Currently uses GeneratedMessageReflection and thus is
72 // defined in generated_message_reflection.cc
73 void RegisterFileLevelMetadata(const DescriptorTable* descriptor_table);
74 
75 } // namespace internal
76 
77 using internal::ReflectionOps;
78 using internal::WireFormat;
79 using internal::WireFormatLite;
80 
83  GOOGLE_CHECK_EQ(from.GetDescriptor(), descriptor)
84  << ": Tried to merge from a message with a different type. "
85  "to: "
86  << descriptor->full_name()
87  << ", "
88  "from: "
89  << from.GetDescriptor()->full_name();
91 }
92 
94  MergeFrom(*down_cast<const Message*>(&other));
95 }
96 
99  GOOGLE_CHECK_EQ(from.GetDescriptor(), descriptor)
100  << ": Tried to copy from a message with a different type. "
101  "to: "
102  << descriptor->full_name()
103  << ", "
104  "from: "
105  << from.GetDescriptor()->full_name();
106  ReflectionOps::Copy(from, this);
107 }
108 
110  return GetDescriptor()->full_name();
111 }
112 
114 
116  return ReflectionOps::IsInitialized(*this);
117 }
118 
119 void Message::FindInitializationErrors(std::vector<std::string>* errors) const {
121 }
122 
124  std::vector<std::string> errors;
126  return Join(errors, ", ");
127 }
128 
130  GOOGLE_CHECK(IsInitialized()) << "Message of type \"" << GetDescriptor()->full_name()
131  << "\" is missing required fields: "
133 }
134 
137 }
138 
139 namespace internal {
140 
142  public:
143  static void* GetOffset(void* msg, const google::protobuf::FieldDescriptor* f,
145  return static_cast<char*>(msg) + r->schema_.GetFieldOffset(f);
146  }
147 
148  static void* GetRepeatedEnum(const Reflection* reflection,
149  const FieldDescriptor* field, Message* msg) {
150  return reflection->MutableRawRepeatedField(
151  msg, field, FieldDescriptor::CPPTYPE_ENUM, 0, nullptr);
152  }
153 
155  const Reflection* reflection, Message* msg) {
156  return reflection->MutableInternalMetadataWithArena(msg);
157  }
158 };
159 
160 } // namespace internal
161 
163  const Reflection* reflection) {
164 #define STORE_TYPE(CPPTYPE_METHOD) \
165  do \
166  if (field->is_repeated()) { \
167  reflection->Add##CPPTYPE_METHOD(msg, field, value); \
168  } else { \
169  reflection->Set##CPPTYPE_METHOD(msg, field, value); \
170  } \
171  while (0)
172 
173  switch (field->type()) {
174 #define HANDLE_TYPE(TYPE, CPPTYPE, CPPTYPE_METHOD) \
175  case FieldDescriptor::TYPE_##TYPE: { \
176  CPPTYPE value = val; \
177  STORE_TYPE(CPPTYPE_METHOD); \
178  break; \
179  }
180 
181  // Varints
182  HANDLE_TYPE(INT32, int32, Int32)
183  HANDLE_TYPE(INT64, int64, Int64)
184  HANDLE_TYPE(UINT32, uint32, UInt32)
185  HANDLE_TYPE(UINT64, uint64, UInt64)
188  STORE_TYPE(Int32);
189  break;
190  }
193  STORE_TYPE(Int64);
194  break;
195  }
196  HANDLE_TYPE(BOOL, bool, Bool)
197 
198  // Fixed
199  HANDLE_TYPE(FIXED32, uint32, UInt32)
200  HANDLE_TYPE(FIXED64, uint64, UInt64)
201  HANDLE_TYPE(SFIXED32, int32, Int32)
202  HANDLE_TYPE(SFIXED64, int64, Int64)
203 
205  float value;
206  uint32 bit_rep = val;
207  std::memcpy(&value, &bit_rep, sizeof(value));
208  STORE_TYPE(Float);
209  break;
210  }
212  double value;
213  uint64 bit_rep = val;
214  std::memcpy(&value, &bit_rep, sizeof(value));
216  break;
217  }
219  int value = val;
220  if (field->is_repeated()) {
221  reflection->AddEnumValue(msg, field, value);
222  } else {
223  reflection->SetEnumValue(msg, field, value);
224  }
225  break;
226  }
227  default:
228  GOOGLE_LOG(FATAL) << "Error in descriptors, primitve field with field type "
229  << field->type();
230  }
231 #undef STORE_TYPE
232 #undef HANDLE_TYPE
233 }
234 
235 bool ReflectiveValidator(const void* arg, int val) {
236  auto d = static_cast<const EnumDescriptor*>(arg);
237  return d->FindValueByNumber(val) != nullptr;
238 }
239 
241  const Reflection* reflection, const char* ptr,
243  switch (field->type()) {
244 #define HANDLE_PACKED_TYPE(TYPE, CPPTYPE, METHOD_NAME) \
245  case FieldDescriptor::TYPE_##TYPE: \
246  return internal::Packed##METHOD_NAME##Parser( \
247  reflection->MutableRepeatedField<CPPTYPE>(msg, field), ptr, ctx)
248  HANDLE_PACKED_TYPE(INT32, int32, Int32);
249  HANDLE_PACKED_TYPE(INT64, int64, Int64);
250  HANDLE_PACKED_TYPE(SINT32, int32, SInt32);
251  HANDLE_PACKED_TYPE(SINT64, int64, SInt64);
252  HANDLE_PACKED_TYPE(UINT32, uint32, UInt32);
253  HANDLE_PACKED_TYPE(UINT64, uint64, UInt64);
254  HANDLE_PACKED_TYPE(BOOL, bool, Bool);
256  auto object =
259  return internal::PackedEnumParser(object, ptr, ctx);
260  } else {
262  object, ptr, ctx, ReflectiveValidator, field->enum_type(),
264  reflection, msg),
265  field->number());
266  }
267  }
268  HANDLE_PACKED_TYPE(FIXED32, uint32, Fixed32);
269  HANDLE_PACKED_TYPE(FIXED64, uint64, Fixed64);
270  HANDLE_PACKED_TYPE(SFIXED32, int32, SFixed32);
271  HANDLE_PACKED_TYPE(SFIXED64, int64, SFixed64);
272  HANDLE_PACKED_TYPE(FLOAT, float, Float);
273  HANDLE_PACKED_TYPE(DOUBLE, double, Double);
274 #undef HANDLE_PACKED_TYPE
275 
276  default:
277  GOOGLE_LOG(FATAL) << "Type is not packable " << field->type();
278  return nullptr; // Make compiler happy
279  }
280 }
281 
282 const char* ParseLenDelim(int field_number, const FieldDescriptor* field,
283  Message* msg, const Reflection* reflection,
284  const char* ptr, internal::ParseContext* ctx) {
288  return ParsePackedField(field, msg, reflection, ptr, ctx);
289  }
290  enum { kNone = 0, kVerify, kStrict } utf8_level = kNone;
291  const char* field_name = nullptr;
292  auto parse_string = [ptr, ctx, &utf8_level,
293  &field_name](std::string* s) -> const char* {
294  switch (utf8_level) {
295  case kNone:
297  case kVerify:
299  field_name);
300  case kStrict:
301  return internal::InlineGreedyStringParserUTF8(s, ptr, ctx, field_name);
302  }
303  GOOGLE_LOG(FATAL) << "Should not reach here";
304  return nullptr; // Make compiler happy
305  };
306  switch (field->type()) {
308  bool enforce_utf8 = true;
309  bool utf8_verification = true;
310  if (enforce_utf8 &&
312  utf8_level = kStrict;
313  } else if (utf8_verification) {
314  utf8_level = kVerify;
315  }
316  field_name = field->full_name().c_str();
317  PROTOBUF_FALLTHROUGH_INTENDED;
318  }
320  if (field->is_repeated()) {
321  int index = reflection->FieldSize(*msg, field);
322  // Add new empty value.
323  reflection->AddString(msg, field, "");
324  if (field->options().ctype() == FieldOptions::STRING ||
325  field->is_extension()) {
326  auto object =
328  ->Mutable(index);
329  return parse_string(object);
330  } else {
331  auto object =
333  ->Mutable(index);
334  return parse_string(object);
335  }
336  } else {
337  // Clear value and make sure it's set.
338  reflection->SetString(msg, field, "");
339  if (field->options().ctype() == FieldOptions::STRING ||
340  field->is_extension()) {
341  // HACK around inability to get mutable_string in reflection
342  std::string* object = &const_cast<std::string&>(
343  reflection->GetStringReference(*msg, field, nullptr));
344  return parse_string(object);
345  } else {
346  // HACK around inability to get mutable_string in reflection
347  std::string* object = &const_cast<std::string&>(
348  reflection->GetStringReference(*msg, field, nullptr));
349  return parse_string(object);
350  }
351  }
352  GOOGLE_LOG(FATAL) << "No other type than string supported";
353  }
355  Message* object;
356  if (field->is_repeated()) {
357  object = reflection->AddMessage(msg, field, ctx->data().factory);
358  } else {
359  object = reflection->MutableMessage(msg, field, ctx->data().factory);
360  }
361  return ctx->ParseMessage(object, ptr);
362  }
363  default:
364  GOOGLE_LOG(FATAL) << "Wrong type for length delim " << field->type();
365  }
366  return nullptr; // Make compiler happy.
367 }
368 
369 Message* GetGroup(int field_number, const FieldDescriptor* field, Message* msg,
370  const Reflection* reflection) {
371  if (field->is_repeated()) {
372  return reflection->AddMessage(msg, field, nullptr);
373  } else {
374  return reflection->MutableMessage(msg, field, nullptr);
375  }
376 }
377 
378 const char* Message::_InternalParse(const char* ptr,
380  class ReflectiveFieldParser {
381  public:
382  ReflectiveFieldParser(Message* msg, internal::ParseContext* ctx)
383  : ReflectiveFieldParser(msg, ctx, false) {}
384 
385  void AddVarint(uint32 num, uint64 value) {
386  if (is_item_ && num == 2) {
387  if (!payload_.empty()) {
388  auto field = Field(value, 2);
389  if (field && field->message_type()) {
390  auto child = reflection_->MutableMessage(msg_, field);
391  // TODO(gerbens) signal error
392  child->ParsePartialFromString(payload_);
393  } else {
394  MutableUnknown()->AddLengthDelimited(value)->swap(payload_);
395  }
396  return;
397  }
398  type_id_ = value;
399  return;
400  }
401  auto field = Field(num, 0);
402  if (field) {
403  SetField(value, field, msg_, reflection_);
404  } else {
405  MutableUnknown()->AddVarint(num, value);
406  }
407  }
408  void AddFixed64(uint32 num, uint64 value) {
409  auto field = Field(num, 1);
410  if (field) {
411  SetField(value, field, msg_, reflection_);
412  } else {
413  MutableUnknown()->AddFixed64(num, value);
414  }
415  }
416  const char* ParseLengthDelimited(uint32 num, const char* ptr,
418  if (is_item_ && num == 3) {
419  if (type_id_ == 0) {
420  return InlineGreedyStringParser(&payload_, ptr, ctx);
421  }
422  num = type_id_;
423  type_id_ = 0;
424  }
425  auto field = Field(num, 2);
426  if (field) {
427  return ParseLenDelim(num, field, msg_, reflection_, ptr, ctx);
428  } else {
430  MutableUnknown()->AddLengthDelimited(num), ptr, ctx);
431  }
432  }
433  const char* ParseGroup(uint32 num, const char* ptr,
435  if (!is_item_ && descriptor_->options().message_set_wire_format() &&
436  num == 1) {
437  is_item_ = true;
438  ptr = ctx->ParseGroup(this, ptr, num * 8 + 3);
439  is_item_ = false;
440  type_id_ = 0;
441  return ptr;
442  }
443  auto field = Field(num, 3);
444  if (field) {
445  auto msg = GetGroup(num, field, msg_, reflection_);
446  return ctx->ParseGroup(msg, ptr, num * 8 + 3);
447  } else {
448  return UnknownFieldParse(num * 8 + 3, MutableUnknown(), ptr, ctx);
449  }
450  }
451  void AddFixed32(uint32 num, uint32 value) {
452  auto field = Field(num, 5);
453  if (field) {
454  SetField(value, field, msg_, reflection_);
455  } else {
456  MutableUnknown()->AddFixed32(num, value);
457  }
458  }
459 
460  const char* _InternalParse(const char* ptr, internal::ParseContext* ctx) {
461  // We're parsing the a MessageSetItem
462  GOOGLE_DCHECK(is_item_);
463  return internal::WireFormatParser(*this, ptr, ctx);
464  }
465 
466  private:
467  Message* msg_;
468  const Descriptor* descriptor_;
469  const Reflection* reflection_;
471  UnknownFieldSet* unknown_ = nullptr;
472  bool is_item_ = false;
473  uint32 type_id_ = 0;
474  std::string payload_;
475 
476  ReflectiveFieldParser(Message* msg, internal::ParseContext* ctx,
477  bool is_item)
478  : msg_(msg),
479  descriptor_(msg->GetDescriptor()),
480  reflection_(msg->GetReflection()),
481  ctx_(ctx),
482  is_item_(is_item) {
483  GOOGLE_CHECK(descriptor_) << msg->GetTypeName();
484  GOOGLE_CHECK(reflection_) << msg->GetTypeName();
485  }
486 
487  const FieldDescriptor* Field(int num, int wire_type) {
488  auto field = descriptor_->FindFieldByNumber(num);
489 
490  // If that failed, check if the field is an extension.
491  if (field == nullptr && descriptor_->IsExtensionNumber(num)) {
492  const DescriptorPool* pool = ctx_->data().pool;
493  if (pool == NULL) {
494  field = reflection_->FindKnownExtensionByNumber(num);
495  } else {
496  field = pool->FindExtensionByNumber(descriptor_, num);
497  }
498  }
499  if (field == nullptr) return nullptr;
500 
502  wire_type) {
503  if (field->is_packable()) {
504  if (wire_type ==
506  return field;
507  }
508  }
509  return nullptr;
510  }
511  return field;
512  }
513 
514  UnknownFieldSet* MutableUnknown() {
515  if (unknown_) return unknown_;
516  return unknown_ = reflection_->MutableUnknownFields(msg_);
517  }
518  };
519 
520  ReflectiveFieldParser field_parser(this, ctx);
521  return internal::WireFormatParser(field_parser, ptr, ctx);
522 }
523 
527  stream);
528 }
529 
530 size_t Message::ByteSizeLong() const {
531  size_t size = WireFormat::ByteSize(*this);
533  return size;
534 }
535 
536 void Message::SetCachedSize(int /* size */) const {
537  GOOGLE_LOG(FATAL) << "Message class \"" << GetDescriptor()->full_name()
538  << "\" implements neither SetCachedSize() nor ByteSize(). "
539  "Must implement one or the other.";
540 }
541 
542 size_t Message::SpaceUsedLong() const {
543  return GetReflection()->SpaceUsedLong(*this);
544 }
545 
546 // =============================================================================
547 // MessageFactory
548 
550 
551 namespace {
552 
553 class GeneratedMessageFactory : public MessageFactory {
554  public:
555  static GeneratedMessageFactory* singleton();
556 
557  void RegisterFile(const google::protobuf::internal::DescriptorTable* table);
558  void RegisterType(const Descriptor* descriptor, const Message* prototype);
559 
560  // implements MessageFactory ---------------------------------------
561  const Message* GetPrototype(const Descriptor* type) override;
562 
563  private:
564  // Only written at static init time, so does not require locking.
565  std::unordered_map<const char*, const google::protobuf::internal::DescriptorTable*,
568 
569  internal::WrappedMutex mutex_;
570  // Initialized lazily, so requires locking.
571  std::unordered_map<const Descriptor*, const Message*> type_map_;
572 };
573 
574 GeneratedMessageFactory* GeneratedMessageFactory::singleton() {
575  static auto instance =
576  internal::OnShutdownDelete(new GeneratedMessageFactory);
577  return instance;
578 }
579 
580 void GeneratedMessageFactory::RegisterFile(
582  if (!InsertIfNotPresent(&file_map_, table->filename, table)) {
583  GOOGLE_LOG(FATAL) << "File is already registered: " << table->filename;
584  }
585 }
586 
587 void GeneratedMessageFactory::RegisterType(const Descriptor* descriptor,
588  const Message* prototype) {
590  << "Tried to register a non-generated type with the generated "
591  "type registry.";
592 
593  // This should only be called as a result of calling a file registration
594  // function during GetPrototype(), in which case we already have locked
595  // the mutex.
596  mutex_.AssertHeld();
597  if (!InsertIfNotPresent(&type_map_, descriptor, prototype)) {
598  GOOGLE_LOG(DFATAL) << "Type is already registered: " << descriptor->full_name();
599  }
600 }
601 
602 
603 const Message* GeneratedMessageFactory::GetPrototype(const Descriptor* type) {
604  {
605  ReaderMutexLock lock(&mutex_);
607  if (result != NULL) return result;
608  }
609 
610  // If the type is not in the generated pool, then we can't possibly handle
611  // it.
612  if (type->file()->pool() != DescriptorPool::generated_pool()) return NULL;
613 
614  // Apparently the file hasn't been registered yet. Let's do that now.
615  const internal::DescriptorTable* registration_data =
616  FindPtrOrNull(file_map_, type->file()->name().c_str());
617  if (registration_data == NULL) {
618  GOOGLE_LOG(DFATAL) << "File appears to be in generated pool but wasn't "
619  "registered: "
620  << type->file()->name();
621  return NULL;
622  }
623 
624  WriterMutexLock lock(&mutex_);
625 
626  // Check if another thread preempted us.
628  if (result == NULL) {
629  // Nope. OK, register everything.
630  internal::RegisterFileLevelMetadata(registration_data);
631  // Should be here now.
633  }
634 
635  if (result == NULL) {
636  GOOGLE_LOG(DFATAL) << "Type appears to be in generated pool but wasn't "
637  << "registered: " << type->full_name();
638  }
639 
640  return result;
641 }
642 
643 } // namespace
644 
646  return GeneratedMessageFactory::singleton();
647 }
648 
651  GeneratedMessageFactory::singleton()->RegisterFile(table);
652 }
653 
655  const Descriptor* descriptor, const Message* prototype) {
656  GeneratedMessageFactory::singleton()->RegisterType(descriptor, prototype);
657 }
658 
659 
660 namespace {
661 template <typename T>
662 T* GetSingleton() {
663  static T singleton;
664  return &singleton;
665 }
666 } // namespace
667 
669  const FieldDescriptor* field) const {
670  GOOGLE_CHECK(field->is_repeated());
671  switch (field->cpp_type()) {
672 #define HANDLE_PRIMITIVE_TYPE(TYPE, type) \
673  case FieldDescriptor::CPPTYPE_##TYPE: \
674  return GetSingleton<internal::RepeatedFieldPrimitiveAccessor<type> >();
679  HANDLE_PRIMITIVE_TYPE(FLOAT, float)
680  HANDLE_PRIMITIVE_TYPE(DOUBLE, double)
683 #undef HANDLE_PRIMITIVE_TYPE
685  switch (field->options().ctype()) {
686  default:
688  return GetSingleton<internal::RepeatedPtrFieldStringAccessor>();
689  }
690  break;
692  if (field->is_map()) {
693  return GetSingleton<internal::MapFieldAccessor>();
694  } else {
695  return GetSingleton<internal::RepeatedPtrFieldMessageAccessor>();
696  }
697  }
698  GOOGLE_LOG(FATAL) << "Should not reach here.";
699  return NULL;
700 }
701 
702 namespace internal {
703 template <>
704 #if defined(_MSC_VER) && (_MSC_VER >= 1800)
705 // Note: force noinline to workaround MSVC compiler bug with /Zc:inline, issue
706 // #240
707 PROTOBUF_NOINLINE
708 #endif
709  Message*
711  Arena* arena) {
712  return prototype->New(arena);
713 }
714 template <>
715 #if defined(_MSC_VER) && (_MSC_VER >= 1800)
716 // Note: force noinline to workaround MSVC compiler bug with /Zc:inline, issue
717 // #240
718 PROTOBUF_NOINLINE
719 #endif
720  Arena*
722  return value->GetArena();
723 }
724 template <>
725 #if defined(_MSC_VER) && (_MSC_VER >= 1800)
726 // Note: force noinline to workaround MSVC compiler bug with /Zc:inline, issue
727 // #240
728 PROTOBUF_NOINLINE
729 #endif
730  void*
732  return value->GetMaybeArenaPointer();
733 }
734 } // namespace internal
735 
736 } // namespace protobuf
737 } // namespace google
google::protobuf::Descriptor::full_name
const std::string & full_name() const
google::protobuf::Message::InitializationErrorString
std::string InitializationErrorString() const override
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:123
ptr
char * ptr
Definition: abseil-cpp/absl/base/internal/low_level_alloc_test.cc:45
_gevent_test_main.result
result
Definition: _gevent_test_main.py:96
google::protobuf::Reflection::GetStringReference
const std::string & GetStringReference(const Message &message, const FieldDescriptor *field, std::string *scratch) const
Definition: bloaty/third_party/protobuf/src/google/protobuf/generated_message_reflection.cc:1171
HANDLE_PRIMITIVE_TYPE
#define HANDLE_PRIMITIVE_TYPE(TYPE, type)
descriptor_
string_view descriptor_
Definition: elf.cc:154
google::protobuf::FieldDescriptor::options
const FieldOptions & options() const
WriterMutexLock
#define WriterMutexLock(x)
Definition: bloaty/third_party/re2/util/mutex.h:127
google::protobuf::value
const Descriptor::ReservedRange value
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:1954
google::protobuf::MessageFactory::InternalRegisterGeneratedFile
static void InternalRegisterGeneratedFile(const google::protobuf::internal::DescriptorTable *table)
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:649
google::protobuf::FieldDescriptor
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:515
google::protobuf.internal::ReflectionAccessor::MutableInternalMetadataWithArena
static InternalMetadataWithArena * MutableInternalMetadataWithArena(const Reflection *reflection, Message *msg)
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:154
ctx
Definition: benchmark-async.c:30
testing::internal::Int32
TypeWithSize< 4 >::Int Int32
Definition: bloaty/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:2159
google::protobuf.internal::InternalMetadataWithArena
Definition: bloaty/third_party/protobuf/src/google/protobuf/metadata.h:52
google::protobuf::FieldDescriptor::CPPTYPE_STRING
@ CPPTYPE_STRING
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:562
google::protobuf.internal::RegisterFileLevelMetadata
void RegisterFileLevelMetadata(const DescriptorTable *table)
Definition: bloaty/third_party/protobuf/src/google/protobuf/generated_message_reflection.cc:2418
Bool
Definition: bloaty/third_party/googletest/googletest/test/gtest_pred_impl_unittest.cc:56
google::protobuf::int64
int64_t int64
Definition: third_party/bloaty/third_party/protobuf/src/google/protobuf/stubs/port.h:151
google::protobuf::FieldDescriptor::is_extension
bool is_extension() const
google::protobuf.internal::InlineGreedyStringParserUTF8Verify
const PROTOBUF_MUST_USE_RESULT char * InlineGreedyStringParserUTF8Verify(std::string *s, const char *ptr, ParseContext *ctx, const char *field_name)
Definition: bloaty/third_party/protobuf/src/google/protobuf/parse_context.h:638
google::protobuf::FieldDescriptor::full_name
const std::string & full_name() const
google::protobuf::uint8
uint8_t uint8
Definition: third_party/bloaty/third_party/protobuf/src/google/protobuf/stubs/port.h:153
GOOGLE_DCHECK
#define GOOGLE_DCHECK
Definition: bloaty/third_party/protobuf/src/google/protobuf/stubs/logging.h:194
google::protobuf::Reflection::FindKnownExtensionByNumber
const FieldDescriptor * FindKnownExtensionByNumber(int number) const
Definition: bloaty/third_party/protobuf/src/google/protobuf/generated_message_reflection.cc:1818
google::protobuf::FindPtrOrNull
Collection::value_type::second_type FindPtrOrNull(const Collection &collection, const typename Collection::value_type::first_type &key)
Definition: bloaty/third_party/protobuf/src/google/protobuf/stubs/map_util.h:166
google::protobuf::Message::GetReflection
const Reflection * GetReflection() const
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.h:332
google::protobuf.internal::UnknownFieldParse
const char * UnknownFieldParse(uint32 tag, std::string *unknown, const char *ptr, ParseContext *ctx)
Definition: bloaty/third_party/protobuf/src/google/protobuf/parse_context.cc:606
google::protobuf.internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED
@ WIRETYPE_LENGTH_DELIMITED
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:104
Arena
Definition: arena.c:39
google::protobuf.internal::WireFormat::ByteSize
static size_t ByteSize(const Message &message)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format.cc:1069
GOOGLE_CHECK_EQ
#define GOOGLE_CHECK_EQ(A, B)
Definition: bloaty/third_party/protobuf/src/google/protobuf/stubs/logging.h:156
testing::internal::string
::std::string string
Definition: bloaty/third_party/protobuf/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:881
google::protobuf::FieldDescriptor::TYPE_BYTES
@ TYPE_BYTES
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:538
google::protobuf::Message::GetTypeName
std::string GetTypeName() const override
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:109
google::protobuf::FieldDescriptor::TYPE_DOUBLE
@ TYPE_DOUBLE
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:522
google::protobuf::uint32
uint32_t uint32
Definition: third_party/bloaty/third_party/protobuf/src/google/protobuf/stubs/port.h:155
google::protobuf::MessageFactory::generated_factory
static MessageFactory * generated_factory()
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:645
google::protobuf.internal::ParseContext
Definition: bloaty/third_party/protobuf/src/google/protobuf/parse_context.h:336
google::protobuf.internal::ReflectionAccessor
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:141
testing::internal::UInt64
TypeWithSize< 8 >::UInt UInt64
Definition: bloaty/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:2162
google::protobuf
Definition: bloaty/third_party/protobuf/benchmarks/util/data_proto2_to_proto3_util.h:12
google::protobuf::Message::CheckTypeAndMergeFrom
void CheckTypeAndMergeFrom(const MessageLite &other) override
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:93
instance
RefCountedPtr< grpc_tls_certificate_provider > instance
Definition: xds_server_config_fetcher.cc:224
google::protobuf::Message::SpaceUsedLong
virtual size_t SpaceUsedLong() const
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:542
ctx
static struct test_ctx ctx
Definition: test-ipc-send-recv.c:65
ctx_
ClientContext ctx_
Definition: client_interceptors_end2end_test.cc:289
google::protobuf::Message::IsInitialized
bool IsInitialized() const override
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:115
google::protobuf::MessageLite
Definition: bloaty/third_party/protobuf/src/google/protobuf/message_lite.h:184
testing::internal::UInt32
TypeWithSize< 4 >::UInt UInt32
Definition: bloaty/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:2160
google::protobuf::Reflection
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.h:397
google::protobuf::MessageFactory::~MessageFactory
virtual ~MessageFactory()
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:549
google::protobuf::HANDLE_TYPE
HANDLE_TYPE(int32, FieldDescriptor::CPPTYPE_INT32, -1)
google::protobuf::MessageFactory
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.h:1066
google::protobuf::Reflection::SpaceUsedLong
size_t SpaceUsedLong(const Message &message) const
Definition: bloaty/third_party/protobuf/src/google/protobuf/generated_message_reflection.cc:241
T
#define T(upbtypeconst, upbtype, ctype, default_value)
BOOL
int BOOL
Definition: undname.c:46
Descriptor
Definition: bloaty/third_party/protobuf/ruby/ext/google/protobuf_c/protobuf.h:121
google::protobuf.internal::OnShutdownDelete
T * OnShutdownDelete(T *p)
Definition: bloaty/third_party/protobuf/src/google/protobuf/stubs/common.h:185
arena
grpc_core::ScopedArenaPtr arena
Definition: binder_transport_test.cc:237
google::protobuf.internal::InlineGreedyStringParserUTF8
const char * InlineGreedyStringParserUTF8(std::string *s, const char *ptr, ParseContext *ctx, const char *field_name)
Definition: bloaty/third_party/protobuf/src/google/protobuf/parse_context.cc:427
google::protobuf::FileDescriptor::syntax
Syntax syntax() const
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:2175
google::protobuf::SetField
void SetField(uint64 val, const FieldDescriptor *field, Message *msg, const Reflection *reflection)
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:162
STORE_TYPE
#define STORE_TYPE(CPPTYPE_METHOD)
google::protobuf::FileDescriptor::SYNTAX_PROTO3
@ SYNTAX_PROTO3
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:1394
google::protobuf.internal::ReflectionOps::FindInitializationErrors
static void FindInitializationErrors(const Message &message, const std::string &prefix, std::vector< std::string > *errors)
Definition: bloaty/third_party/protobuf/src/google/protobuf/reflection_ops.cc:302
from
size_t from
Definition: abseil-cpp/absl/container/internal/layout_test.cc:1384
google::protobuf::MessageFactory::InternalRegisterGeneratedMessage
static void InternalRegisterGeneratedMessage(const Descriptor *descriptor, const Message *prototype)
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:654
google::protobuf.internal::ReflectionOps::Merge
static void Merge(const Message &from, Message *to)
Definition: bloaty/third_party/protobuf/src/google/protobuf/reflection_ops.cc:71
google::protobuf::io::EpsCopyOutputStream
Definition: bloaty/third_party/protobuf/src/google/protobuf/io/coded_stream.h:651
google::protobuf::FieldDescriptor::TYPE_ENUM
@ TYPE_ENUM
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:540
memcpy
memcpy(mem, inblock.get(), min(CONTAINING_RECORD(inblock.get(), MEMBLOCK, data) ->size, size))
google::protobuf::Message::SetCachedSize
virtual void SetCachedSize(int size) const
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:536
google::protobuf::int32
int32_t int32
Definition: third_party/bloaty/third_party/protobuf/src/google/protobuf/stubs/port.h:150
HANDLE_PACKED_TYPE
#define HANDLE_PACKED_TYPE(TYPE, CPPTYPE, METHOD_NAME)
errors
const char * errors
Definition: bloaty/third_party/protobuf/src/google/protobuf/io/tokenizer_unittest.cc:841
google::protobuf.internal::PackedEnumParser
const char * PackedEnumParser(void *object, const char *ptr, ParseContext *ctx)
Definition: bloaty/third_party/protobuf/src/google/protobuf/parse_context.cc:478
google::protobuf::Reflection::RepeatedFieldAccessor
const internal::RepeatedFieldAccessor * RepeatedFieldAccessor(const FieldDescriptor *field) const
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:668
google::protobuf::Reflection::MutableUnknownFields
UnknownFieldSet * MutableUnknownFields(Message *message) const
Definition: bloaty/third_party/protobuf/src/google/protobuf/generated_message_reflection.cc:237
google::protobuf::FieldDescriptor::file
const FileDescriptor * file() const
google::protobuf::Message::CheckInitialized
void CheckInitialized() const
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:129
google::protobuf::FieldDescriptor::is_packable
bool is_packable() const
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:2071
google::protobuf.internal::PackedEnumParserArg
const char * PackedEnumParserArg(void *object, const char *ptr, ParseContext *ctx, bool(*is_valid)(const void *, int), const void *data, InternalMetadataWithArenaLite *metadata, int field_num)
Definition: bloaty/third_party/protobuf/src/google/protobuf/parse_context.cc:496
google::protobuf.internal::GenericTypeHandler::GetMaybeArenaPointer
static void * GetMaybeArenaPointer(GenericType *value)
Definition: bloaty/third_party/protobuf/src/google/protobuf/repeated_field.h:694
testing::internal::Float
FloatingPoint< float > Float
Definition: bloaty/third_party/googletest/googletest/include/gtest/internal/gtest-internal.h:396
google::protobuf.internal::ReflectionOps::DiscardUnknownFields
static void DiscardUnknownFields(Message *message)
Definition: bloaty/third_party/protobuf/src/google/protobuf/reflection_ops.cc:242
type_map_
std::unordered_map< const Descriptor *, const Message * > type_map_
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:571
google::protobuf::ParsePackedField
const char * ParsePackedField(const FieldDescriptor *field, Message *msg, const Reflection *reflection, const char *ptr, internal::ParseContext *ctx)
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:240
google::protobuf::DescriptorPool
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:1539
google::protobuf.internal::ReflectionAccessor::GetOffset
static void * GetOffset(void *msg, const google::protobuf::FieldDescriptor *f, const google::protobuf::Reflection *r)
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:143
google::protobuf.internal::RepeatedFieldAccessor
Definition: bloaty/third_party/protobuf/src/google/protobuf/reflection.h:301
arg
Definition: cmdline.cc:40
google::protobuf::Reflection::AddEnumValue
void AddEnumValue(Message *message, const FieldDescriptor *field, int value) const
Definition: bloaty/third_party/protobuf/src/google/protobuf/generated_message_reflection.cc:1412
google::protobuf::FieldDescriptor::number
int number() const
googletest-filter-unittest.child
child
Definition: bloaty/third_party/googletest/googletest/test/googletest-filter-unittest.py:62
google::protobuf::uint64
uint64_t uint64
Definition: third_party/bloaty/third_party/protobuf/src/google/protobuf/stubs/port.h:156
google::protobuf::Reflection::SetString
void SetString(Message *message, const FieldDescriptor *field, std::string value) const
Definition: bloaty/third_party/protobuf/src/google/protobuf/generated_message_reflection.cc:1193
google::protobuf.internal::DescriptorTable
Definition: bloaty/third_party/protobuf/src/google/protobuf/generated_message_reflection.h:265
google::protobuf.internal::InlineGreedyStringParser
const char * InlineGreedyStringParser(std::string *s, const char *ptr, ParseContext *ctx)
Definition: bloaty/third_party/protobuf/src/google/protobuf/parse_context.cc:420
Fixed64
TypeAndValue Fixed64(uint64_t val)
Definition: upb/upb/util/compare_test.cc:83
google::protobuf::Reflection::FieldSize
int FieldSize(const Message &message, const FieldDescriptor *field) const
Definition: bloaty/third_party/protobuf/src/google/protobuf/generated_message_reflection.cc:744
google::protobuf::ReflectiveValidator
bool ReflectiveValidator(const void *arg, int val)
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:235
google::protobuf::FieldDescriptor::enum_type
const EnumDescriptor * enum_type
Definition: protobuf/src/google/protobuf/descriptor.h:937
msg
std::string msg
Definition: client_interceptors_end2end_test.cc:372
google::protobuf::Reflection::MutableMessage
Message * MutableMessage(Message *message, const FieldDescriptor *field, MessageFactory *factory=nullptr) const
Definition: bloaty/third_party/protobuf/src/google/protobuf/generated_message_reflection.cc:1461
FieldOptions::STRING
static constexpr CType STRING
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.pb.h:4721
google::protobuf::Message::DiscardUnknownFields
virtual void DiscardUnknownFields()
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:135
google::protobuf::Message::ByteSizeLong
size_t ByteSizeLong() const override
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:530
Field
struct Field Field
Definition: bloaty/third_party/protobuf/php/ext/google/protobuf/protobuf.h:647
google::protobuf::FieldDescriptor::TYPE_SINT32
@ TYPE_SINT32
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:543
FATAL
#define FATAL(msg)
Definition: task.h:88
google::protobuf::Message::CopyFrom
virtual void CopyFrom(const Message &from)
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:97
google::protobuf::Reflection::MutableRawRepeatedField
void * MutableRawRepeatedField(Message *message, const FieldDescriptor *field, FieldDescriptor::CppType, int ctype, const Descriptor *message_type) const
Definition: bloaty/third_party/protobuf/src/google/protobuf/generated_message_reflection.cc:1697
file_map_
std::unordered_map< const char *, const google::protobuf::internal::DescriptorTable *, hash< const char * >, streq > file_map_
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:567
google::protobuf::Message
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.h:205
field
const FieldDescriptor * field
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/parser_unittest.cc:2692
google::protobuf::Message::GetDescriptor
const Descriptor * GetDescriptor() const
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.h:323
google::protobuf::hash< const char * >
Definition: bloaty/third_party/protobuf/src/google/protobuf/stubs/hash.h:63
google::protobuf::FieldDescriptor::type
Type type() const
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:2052
google::protobuf::FieldDescriptor::TYPE_SINT64
@ TYPE_SINT64
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:544
google::protobuf.internal::GenericTypeHandler::GetArena
static Arena * GetArena(GenericType *value)
Definition: bloaty/third_party/protobuf/src/google/protobuf/repeated_field.h:691
google::protobuf::FieldDescriptor::TYPE_FLOAT
@ TYPE_FLOAT
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:523
ReaderMutexLock
#define ReaderMutexLock(x)
Definition: bloaty/third_party/re2/util/mutex.h:126
google::protobuf.internal::ToCachedSize
int ToCachedSize(size_t size)
Definition: bloaty/third_party/protobuf/src/google/protobuf/message_lite.h:90
google::protobuf.internal::GenericTypeHandler::NewFromPrototype
static GenericType * NewFromPrototype(const GenericType *prototype, Arena *arena=NULL)
Definition: bloaty/third_party/protobuf/src/google/protobuf/repeated_field.h:707
google::protobuf::ParseLenDelim
const char * ParseLenDelim(int field_number, const FieldDescriptor *field, Message *msg, const Reflection *reflection, const char *ptr, internal::ParseContext *ctx)
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:282
index
int index
Definition: bloaty/third_party/protobuf/php/ext/google/protobuf/protobuf.h:1184
google::protobuf::Reflection::SetEnumValue
void SetEnumValue(Message *message, const FieldDescriptor *field, int value) const
Definition: bloaty/third_party/protobuf/src/google/protobuf/generated_message_reflection.cc:1321
google::protobuf.internal::ReflectionAccessor::GetRepeatedEnum
static void * GetRepeatedEnum(const Reflection *reflection, const FieldDescriptor *field, Message *msg)
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:148
fix_build_deps.r
r
Definition: fix_build_deps.py:491
google::protobuf.internal::WireFormat::WireTypeForFieldType
static WireFormatLite::WireType WireTypeForFieldType(FieldDescriptor::Type type)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format.h:319
google::protobuf::FieldDescriptor::CPPTYPE_ENUM
@ CPPTYPE_ENUM
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:561
google::protobuf::UnknownFieldSet
Definition: bloaty/third_party/protobuf/src/google/protobuf/unknown_field_set.h:81
google::protobuf::DescriptorPool::generated_pool
static const DescriptorPool * generated_pool()
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.cc:1326
FieldOptions::ctype
PROTOBUF_NAMESPACE_ID::FieldOptions_CType ctype() const
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.pb.h:12216
testing::internal::Double
FloatingPoint< double > Double
Definition: bloaty/third_party/googletest/googletest/include/gtest/internal/gtest-internal.h:397
google::protobuf::Message::Clear
void Clear() override
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:113
xds_manager.num
num
Definition: xds_manager.py:56
arg
struct arg arg
GOOGLE_CHECK
#define GOOGLE_CHECK(EXPRESSION)
Definition: bloaty/third_party/protobuf/src/google/protobuf/stubs/logging.h:153
google::protobuf::Descriptor
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:231
google::protobuf::FieldDescriptor::TYPE_MESSAGE
@ TYPE_MESSAGE
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:536
google::protobuf::Message::InternalSerializeWithCachedSizesToArray
uint8 * InternalSerializeWithCachedSizesToArray(uint8 *target, io::EpsCopyOutputStream *stream) const override
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:524
google::protobuf::Reflection::AddString
void AddString(Message *message, const FieldDescriptor *field, std::string value) const
Definition: bloaty/third_party/protobuf/src/google/protobuf/generated_message_reflection.cc:1274
GOOGLE_DCHECK_EQ
#define GOOGLE_DCHECK_EQ
Definition: bloaty/third_party/protobuf/src/google/protobuf/stubs/logging.h:196
google::protobuf::Message::New
Message * New() const override=0
google::protobuf.internal::ReflectionOps::Copy
static void Copy(const Message &from, Message *to)
Definition: bloaty/third_party/protobuf/src/google/protobuf/reflection_ops.cc:65
pool
InternalDescriptorPool * pool
Definition: bloaty/third_party/protobuf/php/ext/google/protobuf/protobuf.h:807
google::protobuf::Reflection::MutableInternalMetadataWithArena
internal::InternalMetadataWithArena * MutableInternalMetadataWithArena(Message *message) const
Definition: bloaty/third_party/protobuf/src/google/protobuf/generated_message_reflection.cc:1909
internal
Definition: benchmark/test/output_test_helper.cc:20
table
uint8_t table[256]
Definition: hpack_parser.cc:456
google::protobuf::FieldDescriptor::CPPTYPE_MESSAGE
@ CPPTYPE_MESSAGE
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:563
testing::internal::Int64
TypeWithSize< 8 >::Int Int64
Definition: bloaty/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:2161
mutex_
internal::WrappedMutex mutex_
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:569
google::protobuf::Join
void Join(Iterator start, Iterator end, const char *delim, string *result)
Definition: bloaty/third_party/protobuf/src/google/protobuf/stubs/strutil.h:769
asyncio_get_stats.type
type
Definition: asyncio_get_stats.py:37
google::protobuf.internal::ReflectionOps::IsInitialized
static bool IsInitialized(const Message &message)
Definition: bloaty/third_party/protobuf/src/google/protobuf/reflection_ops.cc:176
google::protobuf.internal::WireFormatLite::ZigZagDecode64
static int64 ZigZagDecode64(uint64 n)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:885
Fixed32
TypeAndValue Fixed32(uint32_t val)
Definition: upb/upb/util/compare_test.cc:89
type_id_
const FlagFastTypeId type_id_
Definition: abseil-cpp/absl/flags/reflection.cc:276
google::protobuf::Reflection::AddMessage
Message * AddMessage(Message *message, const FieldDescriptor *field, MessageFactory *factory=nullptr) const
Definition: bloaty/third_party/protobuf/src/google/protobuf/generated_message_reflection.cc:1637
size
voidpf void uLong size
Definition: bloaty/third_party/zlib/contrib/minizip/ioapi.h:136
google::protobuf::EnumDescriptor
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:918
GOOGLE_LOG
#define GOOGLE_LOG(LEVEL)
Definition: bloaty/third_party/protobuf/src/google/protobuf/stubs/logging.h:146
google::protobuf::GetGroup
Message * GetGroup(int field_number, const FieldDescriptor *field, Message *msg, const Reflection *reflection)
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:369
google::protobuf::Message::FindInitializationErrors
void FindInitializationErrors(std::vector< std::string > *errors) const
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:119
descriptor
static const char descriptor[1336]
Definition: certs.upbdefs.c:16
google::protobuf.internal::WireFormatParser
const PROTOBUF_MUST_USE_RESULT char * WireFormatParser(T &field_parser, const char *ptr, ParseContext *ctx)
Definition: bloaty/third_party/protobuf/src/google/protobuf/parse_context.h:711
google::protobuf::FieldDescriptor::is_repeated
bool is_repeated() const
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:2067
google::protobuf.internal::WireFormatLite::ZigZagDecode32
static int32 ZigZagDecode32(uint32 n)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format_lite.h:874
google::protobuf::FieldDescriptor::TYPE_STRING
@ TYPE_STRING
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:534
setup.target
target
Definition: third_party/bloaty/third_party/protobuf/python/setup.py:179
google::protobuf::InsertIfNotPresent
bool InsertIfNotPresent(Collection *const collection, const typename Collection::value_type &vt)
Definition: bloaty/third_party/protobuf/src/google/protobuf/stubs/map_util.h:321
google
Definition: bloaty/third_party/protobuf/benchmarks/util/data_proto2_to_proto3_util.h:11
google::protobuf::streq
Definition: bloaty/third_party/protobuf/src/google/protobuf/stubs/hash.h:114
google::protobuf.internal::WireFormat::InternalSerializeWithCachedSizesToArray
static uint8 * InternalSerializeWithCachedSizesToArray(const Message &message, uint8 *target, io::EpsCopyOutputStream *stream)
Definition: bloaty/third_party/protobuf/src/google/protobuf/wire_format.cc:658
google::protobuf::Message::_InternalParse
const char * _InternalParse(const char *ptr, internal::ParseContext *ctx) override
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:378
Message
Definition: protobuf/php/ext/google/protobuf/message.c:53
google::protobuf.internal::ReflectionOps::Clear
static void Clear(Message *message)
Definition: bloaty/third_party/protobuf/src/google/protobuf/reflection_ops.cc:164
google::protobuf::Message::MergeFrom
virtual void MergeFrom(const Message &from)
Definition: bloaty/third_party/protobuf/src/google/protobuf/message.cc:81
google::protobuf::Reflection::MutableRepeatedPtrField
RepeatedPtrField< T > * MutableRepeatedPtrField(Message *, const FieldDescriptor *) const
stream
voidpf stream
Definition: bloaty/third_party/zlib/contrib/minizip/ioapi.h:136


grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:24