diff --git a/src/google/protobuf/arena_unittest.cc b/src/google/protobuf/arena_unittest.cc index 3980d8fd0e..7fe39ed8ae 100644 --- a/src/google/protobuf/arena_unittest.cc +++ b/src/google/protobuf/arena_unittest.cc @@ -205,7 +205,7 @@ void TestCtorAndDtorTraits(std::vector def, ABSL_LOG(FATAL); return nullptr; } - const ClassData* GetClassData() const PROTOBUF_FINAL { + const internal::ClassData* GetClassData() const PROTOBUF_FINAL { ABSL_LOG(FATAL); return nullptr; } @@ -528,7 +528,9 @@ class DispatcherTestProto : public Message { : Message(nullptr, nullptr) { ABSL_LOG(FATAL); } - const ClassData* GetClassData() const PROTOBUF_FINAL { ABSL_LOG(FATAL); } + const internal::ClassData* GetClassData() const PROTOBUF_FINAL { + ABSL_LOG(FATAL); + } }; // We use a specialization to inject behavior for the test. // This test is very intrusive and will have to be fixed if we change the diff --git a/src/google/protobuf/compiler/cpp/message.cc b/src/google/protobuf/compiler/cpp/message.cc index 7ab6d680c4..b21c5c9d69 100644 --- a/src/google/protobuf/compiler/cpp/message.cc +++ b/src/google/protobuf/compiler/cpp/message.cc @@ -1399,11 +1399,11 @@ void MessageGenerator::GenerateMapEntryClassDefinition(io::Printer* p) { $parse_decls$; $decl_annotate$; - const $superclass$::ClassData* GetClassData() const PROTOBUF_FINAL; + const $pbi$::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::$proto_ns$::Arena* arena); static constexpr auto InternalNewImpl_(); - static const $superclass$::ClassDataFull _class_data_; + static const $pbi$::ClassDataFull _class_data_; }; )cc"); } @@ -2182,11 +2182,11 @@ void MessageGenerator::GenerateClassDefinition(io::Printer* p) { *this = ::std::move(from); } $arena_dtor$; - const $superclass$::ClassData* GetClassData() const PROTOBUF_FINAL; + const $pbi$::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::$proto_ns$::Arena* arena); static constexpr auto InternalNewImpl_(); - static const $superclass$::$classdata_type$ _class_data_; + static const $pbi$::$classdata_type$ _class_data_; public: $get_metadata$; @@ -4066,28 +4066,27 @@ void MessageGenerator::GenerateClassData(io::Printer* p) { R"cc( PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 - const ::$proto_ns$::MessageLite::ClassDataFull - $classname$::_class_data_ = { - $superclass$::ClassData{ - $default_instance$, - &_table_.header, - $on_demand_register_arena_dtor$, - $is_initialized$, - &$classname$::MergeImpl, - $superclass$::GetNewImpl<$classname$>(), + const $pbi$::ClassDataFull $classname$::_class_data_ = { + $pbi$::ClassData{ + $default_instance$, + &_table_.header, + $on_demand_register_arena_dtor$, + $is_initialized$, + &$classname$::MergeImpl, + $superclass$::GetNewImpl<$classname$>(), #if defined(PROTOBUF_CUSTOM_VTABLE) - &$classname$::SharedDtor, - $custom_vtable_methods$, + &$classname$::SharedDtor, + $custom_vtable_methods$, #endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET($classname$, $cached_size$), - false, - $v2_msg_table$, - }, - &$classname$::kDescriptorMethods, - &$desc_table$, - $tracker_on_get_metadata$, + PROTOBUF_FIELD_OFFSET($classname$, $cached_size$), + false, + $v2_msg_table$, + }, + &$classname$::kDescriptorMethods, + &$desc_table$, + $tracker_on_get_metadata$, }; - const ::$proto_ns$::MessageLite::ClassData* $classname$::GetClassData() const { + const $pbi$::ClassData* $classname$::GetClassData() const { $pin_weak_descriptor$; $pbi$::PrefetchToLocalCache(&_class_data_); $pbi$::PrefetchToLocalCache(_class_data_.tc_table); @@ -4108,26 +4107,25 @@ void MessageGenerator::GenerateClassData(io::Printer* p) { R"cc( PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 - const ::$proto_ns$::MessageLite::ClassDataLite<$type_size$> - $classname$::_class_data_ = { - { - $default_instance$, - &_table_.header, - $on_demand_register_arena_dtor$, - $is_initialized$, - &$classname$::MergeImpl, - $superclass$::GetNewImpl<$classname$>(), + const $pbi$::ClassDataLite<$type_size$> $classname$::_class_data_ = { + { + $default_instance$, + &_table_.header, + $on_demand_register_arena_dtor$, + $is_initialized$, + &$classname$::MergeImpl, + $superclass$::GetNewImpl<$classname$>(), #if defined(PROTOBUF_CUSTOM_VTABLE) - &$classname$::SharedDtor, - $custom_vtable_methods$, + &$classname$::SharedDtor, + $custom_vtable_methods$, #endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET($classname$, $cached_size$), - true, - $v2_msg_table$, - }, - "$full_name$", + PROTOBUF_FIELD_OFFSET($classname$, $cached_size$), + true, + $v2_msg_table$, + }, + "$full_name$", }; - const ::$proto_ns$::MessageLite::ClassData* $classname$::GetClassData() const { + const $pbi$::ClassData* $classname$::GetClassData() const { return _class_data_.base(); } )cc"); diff --git a/src/google/protobuf/compiler/java/java_features.pb.cc b/src/google/protobuf/compiler/java/java_features.pb.cc index fac334ad55..7cb5d978c0 100644 --- a/src/google/protobuf/compiler/java/java_features.pb.cc +++ b/src/google/protobuf/compiler/java/java_features.pb.cc @@ -205,28 +205,27 @@ constexpr auto JavaFeatures::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - JavaFeatures::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_JavaFeatures_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - nullptr, // IsInitialized - &JavaFeatures::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), +const ::google::protobuf::internal::ClassDataFull JavaFeatures::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_JavaFeatures_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &JavaFeatures::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), #if defined(PROTOBUF_CUSTOM_VTABLE) - &JavaFeatures::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &JavaFeatures::ByteSizeLong, - &JavaFeatures::_InternalSerialize, + &JavaFeatures::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &JavaFeatures::ByteSizeLong, + &JavaFeatures::_InternalSerialize, #endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(JavaFeatures, _impl_._cached_size_), - false, - }, - &JavaFeatures::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fcompiler_2fjava_2fjava_5ffeatures_2eproto, - nullptr, // tracker + PROTOBUF_FIELD_OFFSET(JavaFeatures, _impl_._cached_size_), + false, + }, + &JavaFeatures::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fcompiler_2fjava_2fjava_5ffeatures_2eproto, + nullptr, // tracker }; -const ::google::protobuf::MessageLite::ClassData* JavaFeatures::GetClassData() const { +const ::google::protobuf::internal::ClassData* JavaFeatures::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); diff --git a/src/google/protobuf/compiler/java/java_features.pb.h b/src/google/protobuf/compiler/java/java_features.pb.h index 95fcbc0cc0..402fff64fa 100644 --- a/src/google/protobuf/compiler/java/java_features.pb.h +++ b/src/google/protobuf/compiler/java/java_features.pb.h @@ -234,11 +234,11 @@ class PROTOC_EXPORT JavaFeatures final : JavaFeatures(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; diff --git a/src/google/protobuf/compiler/plugin.pb.cc b/src/google/protobuf/compiler/plugin.pb.cc index fada033f9f..f0910bc02f 100644 --- a/src/google/protobuf/compiler/plugin.pb.cc +++ b/src/google/protobuf/compiler/plugin.pb.cc @@ -403,28 +403,27 @@ constexpr auto Version::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - Version::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_Version_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - nullptr, // IsInitialized - &Version::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), +const ::google::protobuf::internal::ClassDataFull Version::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_Version_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Version::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), #if defined(PROTOBUF_CUSTOM_VTABLE) - &Version::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &Version::ByteSizeLong, - &Version::_InternalSerialize, + &Version::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &Version::ByteSizeLong, + &Version::_InternalSerialize, #endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(Version, _impl_._cached_size_), - false, - }, - &Version::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fcompiler_2fplugin_2eproto, - nullptr, // tracker + PROTOBUF_FIELD_OFFSET(Version, _impl_._cached_size_), + false, + }, + &Version::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fcompiler_2fplugin_2eproto, + nullptr, // tracker }; -const ::google::protobuf::MessageLite::ClassData* Version::GetClassData() const { +const ::google::protobuf::internal::ClassData* Version::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -766,28 +765,27 @@ constexpr auto CodeGeneratorRequest::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - CodeGeneratorRequest::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_CodeGeneratorRequest_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - CodeGeneratorRequest::IsInitializedImpl, - &CodeGeneratorRequest::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), +const ::google::protobuf::internal::ClassDataFull CodeGeneratorRequest::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_CodeGeneratorRequest_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + CodeGeneratorRequest::IsInitializedImpl, + &CodeGeneratorRequest::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), #if defined(PROTOBUF_CUSTOM_VTABLE) - &CodeGeneratorRequest::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &CodeGeneratorRequest::ByteSizeLong, - &CodeGeneratorRequest::_InternalSerialize, + &CodeGeneratorRequest::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &CodeGeneratorRequest::ByteSizeLong, + &CodeGeneratorRequest::_InternalSerialize, #endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(CodeGeneratorRequest, _impl_._cached_size_), - false, - }, - &CodeGeneratorRequest::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fcompiler_2fplugin_2eproto, - nullptr, // tracker + PROTOBUF_FIELD_OFFSET(CodeGeneratorRequest, _impl_._cached_size_), + false, + }, + &CodeGeneratorRequest::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fcompiler_2fplugin_2eproto, + nullptr, // tracker }; -const ::google::protobuf::MessageLite::ClassData* CodeGeneratorRequest::GetClassData() const { +const ::google::protobuf::internal::ClassData* CodeGeneratorRequest::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -1164,28 +1162,27 @@ constexpr auto CodeGeneratorResponse_File::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - CodeGeneratorResponse_File::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_CodeGeneratorResponse_File_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - nullptr, // IsInitialized - &CodeGeneratorResponse_File::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), +const ::google::protobuf::internal::ClassDataFull CodeGeneratorResponse_File::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_CodeGeneratorResponse_File_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &CodeGeneratorResponse_File::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), #if defined(PROTOBUF_CUSTOM_VTABLE) - &CodeGeneratorResponse_File::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &CodeGeneratorResponse_File::ByteSizeLong, - &CodeGeneratorResponse_File::_InternalSerialize, + &CodeGeneratorResponse_File::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &CodeGeneratorResponse_File::ByteSizeLong, + &CodeGeneratorResponse_File::_InternalSerialize, #endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(CodeGeneratorResponse_File, _impl_._cached_size_), - false, - }, - &CodeGeneratorResponse_File::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fcompiler_2fplugin_2eproto, - nullptr, // tracker + PROTOBUF_FIELD_OFFSET(CodeGeneratorResponse_File, _impl_._cached_size_), + false, + }, + &CodeGeneratorResponse_File::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fcompiler_2fplugin_2eproto, + nullptr, // tracker }; -const ::google::protobuf::MessageLite::ClassData* CodeGeneratorResponse_File::GetClassData() const { +const ::google::protobuf::internal::ClassData* CodeGeneratorResponse_File::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -1529,28 +1526,27 @@ constexpr auto CodeGeneratorResponse::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - CodeGeneratorResponse::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_CodeGeneratorResponse_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - nullptr, // IsInitialized - &CodeGeneratorResponse::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), +const ::google::protobuf::internal::ClassDataFull CodeGeneratorResponse::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_CodeGeneratorResponse_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &CodeGeneratorResponse::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), #if defined(PROTOBUF_CUSTOM_VTABLE) - &CodeGeneratorResponse::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &CodeGeneratorResponse::ByteSizeLong, - &CodeGeneratorResponse::_InternalSerialize, + &CodeGeneratorResponse::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &CodeGeneratorResponse::ByteSizeLong, + &CodeGeneratorResponse::_InternalSerialize, #endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(CodeGeneratorResponse, _impl_._cached_size_), - false, - }, - &CodeGeneratorResponse::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fcompiler_2fplugin_2eproto, - nullptr, // tracker + PROTOBUF_FIELD_OFFSET(CodeGeneratorResponse, _impl_._cached_size_), + false, + }, + &CodeGeneratorResponse::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fcompiler_2fplugin_2eproto, + nullptr, // tracker }; -const ::google::protobuf::MessageLite::ClassData* CodeGeneratorResponse::GetClassData() const { +const ::google::protobuf::internal::ClassData* CodeGeneratorResponse::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); diff --git a/src/google/protobuf/compiler/plugin.pb.h b/src/google/protobuf/compiler/plugin.pb.h index 259229e994..48f698f9bd 100644 --- a/src/google/protobuf/compiler/plugin.pb.h +++ b/src/google/protobuf/compiler/plugin.pb.h @@ -251,11 +251,11 @@ class PROTOC_EXPORT Version final : Version(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -490,11 +490,11 @@ class PROTOC_EXPORT CodeGeneratorResponse_File final : CodeGeneratorResponse_File(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -745,11 +745,11 @@ class PROTOC_EXPORT CodeGeneratorResponse final : CodeGeneratorResponse(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -1029,11 +1029,11 @@ class PROTOC_EXPORT CodeGeneratorRequest final : CodeGeneratorRequest(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; diff --git a/src/google/protobuf/cpp_features.pb.cc b/src/google/protobuf/cpp_features.pb.cc index 83353fea9a..a78b348213 100644 --- a/src/google/protobuf/cpp_features.pb.cc +++ b/src/google/protobuf/cpp_features.pb.cc @@ -205,28 +205,27 @@ constexpr auto CppFeatures::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - CppFeatures::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_CppFeatures_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - nullptr, // IsInitialized - &CppFeatures::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), +const ::google::protobuf::internal::ClassDataFull CppFeatures::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_CppFeatures_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &CppFeatures::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), #if defined(PROTOBUF_CUSTOM_VTABLE) - &CppFeatures::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &CppFeatures::ByteSizeLong, - &CppFeatures::_InternalSerialize, + &CppFeatures::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &CppFeatures::ByteSizeLong, + &CppFeatures::_InternalSerialize, #endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(CppFeatures, _impl_._cached_size_), - false, - }, - &CppFeatures::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fcpp_5ffeatures_2eproto, - nullptr, // tracker + PROTOBUF_FIELD_OFFSET(CppFeatures, _impl_._cached_size_), + false, + }, + &CppFeatures::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fcpp_5ffeatures_2eproto, + nullptr, // tracker }; -const ::google::protobuf::MessageLite::ClassData* CppFeatures::GetClassData() const { +const ::google::protobuf::internal::ClassData* CppFeatures::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); diff --git a/src/google/protobuf/cpp_features.pb.h b/src/google/protobuf/cpp_features.pb.h index 2ab01b68e6..f70ae1d17b 100644 --- a/src/google/protobuf/cpp_features.pb.h +++ b/src/google/protobuf/cpp_features.pb.h @@ -235,11 +235,11 @@ class PROTOBUF_EXPORT CppFeatures final : CppFeatures(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; diff --git a/src/google/protobuf/descriptor.pb.cc b/src/google/protobuf/descriptor.pb.cc index 64dce40723..92882d01a1 100644 --- a/src/google/protobuf/descriptor.pb.cc +++ b/src/google/protobuf/descriptor.pb.cc @@ -2679,28 +2679,27 @@ constexpr auto FileDescriptorSet::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - FileDescriptorSet::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_FileDescriptorSet_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - FileDescriptorSet::IsInitializedImpl, - &FileDescriptorSet::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &FileDescriptorSet::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &FileDescriptorSet::ByteSizeLong, - &FileDescriptorSet::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(FileDescriptorSet, _impl_._cached_size_), - false, - }, - &FileDescriptorSet::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* FileDescriptorSet::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull FileDescriptorSet::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_FileDescriptorSet_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + FileDescriptorSet::IsInitializedImpl, + &FileDescriptorSet::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &FileDescriptorSet::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &FileDescriptorSet::ByteSizeLong, + &FileDescriptorSet::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(FileDescriptorSet, _impl_._cached_size_), + false, + }, + &FileDescriptorSet::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* FileDescriptorSet::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -2994,28 +2993,27 @@ constexpr auto FileDescriptorProto::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - FileDescriptorProto::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_FileDescriptorProto_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - FileDescriptorProto::IsInitializedImpl, - &FileDescriptorProto::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &FileDescriptorProto::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &FileDescriptorProto::ByteSizeLong, - &FileDescriptorProto::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_._cached_size_), - false, - }, - &FileDescriptorProto::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* FileDescriptorProto::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull FileDescriptorProto::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_FileDescriptorProto_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + FileDescriptorProto::IsInitializedImpl, + &FileDescriptorProto::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &FileDescriptorProto::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &FileDescriptorProto::ByteSizeLong, + &FileDescriptorProto::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_._cached_size_), + false, + }, + &FileDescriptorProto::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* FileDescriptorProto::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -3618,28 +3616,27 @@ constexpr auto DescriptorProto_ExtensionRange::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - DescriptorProto_ExtensionRange::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_DescriptorProto_ExtensionRange_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - DescriptorProto_ExtensionRange::IsInitializedImpl, - &DescriptorProto_ExtensionRange::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &DescriptorProto_ExtensionRange::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &DescriptorProto_ExtensionRange::ByteSizeLong, - &DescriptorProto_ExtensionRange::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRange, _impl_._cached_size_), - false, - }, - &DescriptorProto_ExtensionRange::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* DescriptorProto_ExtensionRange::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull DescriptorProto_ExtensionRange::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_DescriptorProto_ExtensionRange_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + DescriptorProto_ExtensionRange::IsInitializedImpl, + &DescriptorProto_ExtensionRange::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &DescriptorProto_ExtensionRange::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &DescriptorProto_ExtensionRange::ByteSizeLong, + &DescriptorProto_ExtensionRange::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRange, _impl_._cached_size_), + false, + }, + &DescriptorProto_ExtensionRange::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* DescriptorProto_ExtensionRange::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -3915,28 +3912,27 @@ constexpr auto DescriptorProto_ReservedRange::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - DescriptorProto_ReservedRange::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_DescriptorProto_ReservedRange_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - nullptr, // IsInitialized - &DescriptorProto_ReservedRange::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &DescriptorProto_ReservedRange::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &DescriptorProto_ReservedRange::ByteSizeLong, - &DescriptorProto_ReservedRange::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(DescriptorProto_ReservedRange, _impl_._cached_size_), - false, - }, - &DescriptorProto_ReservedRange::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* DescriptorProto_ReservedRange::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull DescriptorProto_ReservedRange::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_DescriptorProto_ReservedRange_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &DescriptorProto_ReservedRange::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &DescriptorProto_ReservedRange::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &DescriptorProto_ReservedRange::ByteSizeLong, + &DescriptorProto_ReservedRange::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(DescriptorProto_ReservedRange, _impl_._cached_size_), + false, + }, + &DescriptorProto_ReservedRange::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* DescriptorProto_ReservedRange::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -4247,28 +4243,27 @@ constexpr auto DescriptorProto::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - DescriptorProto::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_DescriptorProto_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - DescriptorProto::IsInitializedImpl, - &DescriptorProto::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &DescriptorProto::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &DescriptorProto::ByteSizeLong, - &DescriptorProto::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_._cached_size_), - false, - }, - &DescriptorProto::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* DescriptorProto::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull DescriptorProto::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_DescriptorProto_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + DescriptorProto::IsInitializedImpl, + &DescriptorProto::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &DescriptorProto::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &DescriptorProto::ByteSizeLong, + &DescriptorProto::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_._cached_size_), + false, + }, + &DescriptorProto::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* DescriptorProto::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -4804,28 +4799,27 @@ constexpr auto ExtensionRangeOptions_Declaration::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - ExtensionRangeOptions_Declaration::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_ExtensionRangeOptions_Declaration_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - nullptr, // IsInitialized - &ExtensionRangeOptions_Declaration::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &ExtensionRangeOptions_Declaration::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &ExtensionRangeOptions_Declaration::ByteSizeLong, - &ExtensionRangeOptions_Declaration::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_._cached_size_), - false, - }, - &ExtensionRangeOptions_Declaration::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* ExtensionRangeOptions_Declaration::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull ExtensionRangeOptions_Declaration::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_ExtensionRangeOptions_Declaration_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &ExtensionRangeOptions_Declaration::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &ExtensionRangeOptions_Declaration::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &ExtensionRangeOptions_Declaration::ByteSizeLong, + &ExtensionRangeOptions_Declaration::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_._cached_size_), + false, + }, + &ExtensionRangeOptions_Declaration::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* ExtensionRangeOptions_Declaration::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -5187,28 +5181,27 @@ constexpr auto ExtensionRangeOptions::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - ExtensionRangeOptions::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_ExtensionRangeOptions_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - ExtensionRangeOptions::IsInitializedImpl, - &ExtensionRangeOptions::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &ExtensionRangeOptions::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &ExtensionRangeOptions::ByteSizeLong, - &ExtensionRangeOptions::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_._cached_size_), - false, - }, - &ExtensionRangeOptions::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* ExtensionRangeOptions::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull ExtensionRangeOptions::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_ExtensionRangeOptions_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + ExtensionRangeOptions::IsInitializedImpl, + &ExtensionRangeOptions::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &ExtensionRangeOptions::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &ExtensionRangeOptions::ByteSizeLong, + &ExtensionRangeOptions::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_._cached_size_), + false, + }, + &ExtensionRangeOptions::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* ExtensionRangeOptions::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -5585,28 +5578,27 @@ constexpr auto FieldDescriptorProto::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - FieldDescriptorProto::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_FieldDescriptorProto_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - FieldDescriptorProto::IsInitializedImpl, - &FieldDescriptorProto::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &FieldDescriptorProto::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &FieldDescriptorProto::ByteSizeLong, - &FieldDescriptorProto::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_._cached_size_), - false, - }, - &FieldDescriptorProto::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* FieldDescriptorProto::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull FieldDescriptorProto::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_FieldDescriptorProto_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + FieldDescriptorProto::IsInitializedImpl, + &FieldDescriptorProto::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &FieldDescriptorProto::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &FieldDescriptorProto::ByteSizeLong, + &FieldDescriptorProto::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_._cached_size_), + false, + }, + &FieldDescriptorProto::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* FieldDescriptorProto::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -6118,28 +6110,27 @@ constexpr auto OneofDescriptorProto::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - OneofDescriptorProto::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_OneofDescriptorProto_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - OneofDescriptorProto::IsInitializedImpl, - &OneofDescriptorProto::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &OneofDescriptorProto::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &OneofDescriptorProto::ByteSizeLong, - &OneofDescriptorProto::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(OneofDescriptorProto, _impl_._cached_size_), - false, - }, - &OneofDescriptorProto::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* OneofDescriptorProto::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull OneofDescriptorProto::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_OneofDescriptorProto_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + OneofDescriptorProto::IsInitializedImpl, + &OneofDescriptorProto::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &OneofDescriptorProto::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &OneofDescriptorProto::ByteSizeLong, + &OneofDescriptorProto::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(OneofDescriptorProto, _impl_._cached_size_), + false, + }, + &OneofDescriptorProto::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* OneofDescriptorProto::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -6395,28 +6386,27 @@ constexpr auto EnumDescriptorProto_EnumReservedRange::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - EnumDescriptorProto_EnumReservedRange::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_EnumDescriptorProto_EnumReservedRange_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - nullptr, // IsInitialized - &EnumDescriptorProto_EnumReservedRange::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &EnumDescriptorProto_EnumReservedRange::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &EnumDescriptorProto_EnumReservedRange::ByteSizeLong, - &EnumDescriptorProto_EnumReservedRange::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(EnumDescriptorProto_EnumReservedRange, _impl_._cached_size_), - false, - }, - &EnumDescriptorProto_EnumReservedRange::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* EnumDescriptorProto_EnumReservedRange::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull EnumDescriptorProto_EnumReservedRange::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_EnumDescriptorProto_EnumReservedRange_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &EnumDescriptorProto_EnumReservedRange::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &EnumDescriptorProto_EnumReservedRange::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &EnumDescriptorProto_EnumReservedRange::ByteSizeLong, + &EnumDescriptorProto_EnumReservedRange::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(EnumDescriptorProto_EnumReservedRange, _impl_._cached_size_), + false, + }, + &EnumDescriptorProto_EnumReservedRange::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* EnumDescriptorProto_EnumReservedRange::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -6697,28 +6687,27 @@ constexpr auto EnumDescriptorProto::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - EnumDescriptorProto::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_EnumDescriptorProto_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - EnumDescriptorProto::IsInitializedImpl, - &EnumDescriptorProto::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &EnumDescriptorProto::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &EnumDescriptorProto::ByteSizeLong, - &EnumDescriptorProto::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_._cached_size_), - false, - }, - &EnumDescriptorProto::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* EnumDescriptorProto::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull EnumDescriptorProto::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_EnumDescriptorProto_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + EnumDescriptorProto::IsInitializedImpl, + &EnumDescriptorProto::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &EnumDescriptorProto::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &EnumDescriptorProto::ByteSizeLong, + &EnumDescriptorProto::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_._cached_size_), + false, + }, + &EnumDescriptorProto::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* EnumDescriptorProto::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -7092,28 +7081,27 @@ constexpr auto EnumValueDescriptorProto::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - EnumValueDescriptorProto::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_EnumValueDescriptorProto_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - EnumValueDescriptorProto::IsInitializedImpl, - &EnumValueDescriptorProto::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &EnumValueDescriptorProto::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &EnumValueDescriptorProto::ByteSizeLong, - &EnumValueDescriptorProto::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_._cached_size_), - false, - }, - &EnumValueDescriptorProto::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* EnumValueDescriptorProto::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull EnumValueDescriptorProto::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_EnumValueDescriptorProto_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + EnumValueDescriptorProto::IsInitializedImpl, + &EnumValueDescriptorProto::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &EnumValueDescriptorProto::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &EnumValueDescriptorProto::ByteSizeLong, + &EnumValueDescriptorProto::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_._cached_size_), + false, + }, + &EnumValueDescriptorProto::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* EnumValueDescriptorProto::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -7431,28 +7419,27 @@ constexpr auto ServiceDescriptorProto::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - ServiceDescriptorProto::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_ServiceDescriptorProto_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - ServiceDescriptorProto::IsInitializedImpl, - &ServiceDescriptorProto::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &ServiceDescriptorProto::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &ServiceDescriptorProto::ByteSizeLong, - &ServiceDescriptorProto::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(ServiceDescriptorProto, _impl_._cached_size_), - false, - }, - &ServiceDescriptorProto::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* ServiceDescriptorProto::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull ServiceDescriptorProto::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_ServiceDescriptorProto_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + ServiceDescriptorProto::IsInitializedImpl, + &ServiceDescriptorProto::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &ServiceDescriptorProto::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &ServiceDescriptorProto::ByteSizeLong, + &ServiceDescriptorProto::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(ServiceDescriptorProto, _impl_._cached_size_), + false, + }, + &ServiceDescriptorProto::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* ServiceDescriptorProto::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -7780,28 +7767,27 @@ constexpr auto MethodDescriptorProto::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - MethodDescriptorProto::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_MethodDescriptorProto_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - MethodDescriptorProto::IsInitializedImpl, - &MethodDescriptorProto::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &MethodDescriptorProto::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &MethodDescriptorProto::ByteSizeLong, - &MethodDescriptorProto::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_._cached_size_), - false, - }, - &MethodDescriptorProto::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* MethodDescriptorProto::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull MethodDescriptorProto::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_MethodDescriptorProto_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + MethodDescriptorProto::IsInitializedImpl, + &MethodDescriptorProto::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &MethodDescriptorProto::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &MethodDescriptorProto::ByteSizeLong, + &MethodDescriptorProto::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_._cached_size_), + false, + }, + &MethodDescriptorProto::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* MethodDescriptorProto::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -8242,28 +8228,27 @@ constexpr auto FileOptions::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - FileOptions::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_FileOptions_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - FileOptions::IsInitializedImpl, - &FileOptions::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &FileOptions::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &FileOptions::ByteSizeLong, - &FileOptions::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(FileOptions, _impl_._cached_size_), - false, - }, - &FileOptions::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* FileOptions::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull FileOptions::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_FileOptions_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + FileOptions::IsInitializedImpl, + &FileOptions::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &FileOptions::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &FileOptions::ByteSizeLong, + &FileOptions::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(FileOptions, _impl_._cached_size_), + false, + }, + &FileOptions::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* FileOptions::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -9070,28 +9055,27 @@ constexpr auto MessageOptions::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - MessageOptions::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_MessageOptions_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - MessageOptions::IsInitializedImpl, - &MessageOptions::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &MessageOptions::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &MessageOptions::ByteSizeLong, - &MessageOptions::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_._cached_size_), - false, - }, - &MessageOptions::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* MessageOptions::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull MessageOptions::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_MessageOptions_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + MessageOptions::IsInitializedImpl, + &MessageOptions::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &MessageOptions::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &MessageOptions::ByteSizeLong, + &MessageOptions::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_._cached_size_), + false, + }, + &MessageOptions::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* MessageOptions::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -9483,28 +9467,27 @@ constexpr auto FieldOptions_EditionDefault::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - FieldOptions_EditionDefault::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_FieldOptions_EditionDefault_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - nullptr, // IsInitialized - &FieldOptions_EditionDefault::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &FieldOptions_EditionDefault::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &FieldOptions_EditionDefault::ByteSizeLong, - &FieldOptions_EditionDefault::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(FieldOptions_EditionDefault, _impl_._cached_size_), - false, - }, - &FieldOptions_EditionDefault::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* FieldOptions_EditionDefault::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull FieldOptions_EditionDefault::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_FieldOptions_EditionDefault_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &FieldOptions_EditionDefault::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &FieldOptions_EditionDefault::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &FieldOptions_EditionDefault::ByteSizeLong, + &FieldOptions_EditionDefault::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(FieldOptions_EditionDefault, _impl_._cached_size_), + false, + }, + &FieldOptions_EditionDefault::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* FieldOptions_EditionDefault::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -9767,28 +9750,27 @@ constexpr auto FieldOptions_FeatureSupport::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - FieldOptions_FeatureSupport::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_FieldOptions_FeatureSupport_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - nullptr, // IsInitialized - &FieldOptions_FeatureSupport::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &FieldOptions_FeatureSupport::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &FieldOptions_FeatureSupport::ByteSizeLong, - &FieldOptions_FeatureSupport::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_._cached_size_), - false, - }, - &FieldOptions_FeatureSupport::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* FieldOptions_FeatureSupport::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull FieldOptions_FeatureSupport::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_FieldOptions_FeatureSupport_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &FieldOptions_FeatureSupport::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &FieldOptions_FeatureSupport::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &FieldOptions_FeatureSupport::ByteSizeLong, + &FieldOptions_FeatureSupport::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_._cached_size_), + false, + }, + &FieldOptions_FeatureSupport::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* FieldOptions_FeatureSupport::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -10142,28 +10124,27 @@ constexpr auto FieldOptions::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - FieldOptions::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_FieldOptions_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - FieldOptions::IsInitializedImpl, - &FieldOptions::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &FieldOptions::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &FieldOptions::ByteSizeLong, - &FieldOptions::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_._cached_size_), - false, - }, - &FieldOptions::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* FieldOptions::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull FieldOptions::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_FieldOptions_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + FieldOptions::IsInitializedImpl, + &FieldOptions::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &FieldOptions::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &FieldOptions::ByteSizeLong, + &FieldOptions::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_._cached_size_), + false, + }, + &FieldOptions::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* FieldOptions::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -10757,28 +10738,27 @@ constexpr auto OneofOptions::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - OneofOptions::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_OneofOptions_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - OneofOptions::IsInitializedImpl, - &OneofOptions::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &OneofOptions::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &OneofOptions::ByteSizeLong, - &OneofOptions::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(OneofOptions, _impl_._cached_size_), - false, - }, - &OneofOptions::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* OneofOptions::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull OneofOptions::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_OneofOptions_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + OneofOptions::IsInitializedImpl, + &OneofOptions::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &OneofOptions::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &OneofOptions::ByteSizeLong, + &OneofOptions::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(OneofOptions, _impl_._cached_size_), + false, + }, + &OneofOptions::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* OneofOptions::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -11096,28 +11076,27 @@ constexpr auto EnumOptions::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - EnumOptions::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_EnumOptions_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - EnumOptions::IsInitializedImpl, - &EnumOptions::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &EnumOptions::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &EnumOptions::ByteSizeLong, - &EnumOptions::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_._cached_size_), - false, - }, - &EnumOptions::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* EnumOptions::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull EnumOptions::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_EnumOptions_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + EnumOptions::IsInitializedImpl, + &EnumOptions::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &EnumOptions::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &EnumOptions::ByteSizeLong, + &EnumOptions::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_._cached_size_), + false, + }, + &EnumOptions::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* EnumOptions::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -11508,28 +11487,27 @@ constexpr auto EnumValueOptions::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - EnumValueOptions::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_EnumValueOptions_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - EnumValueOptions::IsInitializedImpl, - &EnumValueOptions::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &EnumValueOptions::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &EnumValueOptions::ByteSizeLong, - &EnumValueOptions::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_._cached_size_), - false, - }, - &EnumValueOptions::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* EnumValueOptions::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull EnumValueOptions::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_EnumValueOptions_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + EnumValueOptions::IsInitializedImpl, + &EnumValueOptions::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &EnumValueOptions::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &EnumValueOptions::ByteSizeLong, + &EnumValueOptions::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_._cached_size_), + false, + }, + &EnumValueOptions::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* EnumValueOptions::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -11926,28 +11904,27 @@ constexpr auto ServiceOptions::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - ServiceOptions::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_ServiceOptions_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - ServiceOptions::IsInitializedImpl, - &ServiceOptions::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &ServiceOptions::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &ServiceOptions::ByteSizeLong, - &ServiceOptions::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_._cached_size_), - false, - }, - &ServiceOptions::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* ServiceOptions::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull ServiceOptions::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_ServiceOptions_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + ServiceOptions::IsInitializedImpl, + &ServiceOptions::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &ServiceOptions::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &ServiceOptions::ByteSizeLong, + &ServiceOptions::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_._cached_size_), + false, + }, + &ServiceOptions::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* ServiceOptions::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -12293,28 +12270,27 @@ constexpr auto MethodOptions::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - MethodOptions::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_MethodOptions_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - MethodOptions::IsInitializedImpl, - &MethodOptions::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &MethodOptions::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &MethodOptions::ByteSizeLong, - &MethodOptions::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_._cached_size_), - false, - }, - &MethodOptions::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* MethodOptions::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull MethodOptions::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_MethodOptions_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + MethodOptions::IsInitializedImpl, + &MethodOptions::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &MethodOptions::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &MethodOptions::ByteSizeLong, + &MethodOptions::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_._cached_size_), + false, + }, + &MethodOptions::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* MethodOptions::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -12659,28 +12635,27 @@ constexpr auto UninterpretedOption_NamePart::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - UninterpretedOption_NamePart::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_UninterpretedOption_NamePart_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - UninterpretedOption_NamePart::IsInitializedImpl, - &UninterpretedOption_NamePart::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &UninterpretedOption_NamePart::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &UninterpretedOption_NamePart::ByteSizeLong, - &UninterpretedOption_NamePart::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(UninterpretedOption_NamePart, _impl_._cached_size_), - false, - }, - &UninterpretedOption_NamePart::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* UninterpretedOption_NamePart::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull UninterpretedOption_NamePart::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_UninterpretedOption_NamePart_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + UninterpretedOption_NamePart::IsInitializedImpl, + &UninterpretedOption_NamePart::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &UninterpretedOption_NamePart::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &UninterpretedOption_NamePart::ByteSizeLong, + &UninterpretedOption_NamePart::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(UninterpretedOption_NamePart, _impl_._cached_size_), + false, + }, + &UninterpretedOption_NamePart::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* UninterpretedOption_NamePart::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -12970,28 +12945,27 @@ constexpr auto UninterpretedOption::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - UninterpretedOption::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_UninterpretedOption_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - UninterpretedOption::IsInitializedImpl, - &UninterpretedOption::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &UninterpretedOption::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &UninterpretedOption::ByteSizeLong, - &UninterpretedOption::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_._cached_size_), - false, - }, - &UninterpretedOption::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* UninterpretedOption::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull UninterpretedOption::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_UninterpretedOption_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + UninterpretedOption::IsInitializedImpl, + &UninterpretedOption::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &UninterpretedOption::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &UninterpretedOption::ByteSizeLong, + &UninterpretedOption::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_._cached_size_), + false, + }, + &UninterpretedOption::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* UninterpretedOption::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -13406,28 +13380,27 @@ constexpr auto FeatureSet::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - FeatureSet::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_FeatureSet_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - FeatureSet::IsInitializedImpl, - &FeatureSet::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &FeatureSet::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &FeatureSet::ByteSizeLong, - &FeatureSet::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_._cached_size_), - false, - }, - &FeatureSet::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* FeatureSet::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull FeatureSet::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_FeatureSet_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + FeatureSet::IsInitializedImpl, + &FeatureSet::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &FeatureSet::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &FeatureSet::ByteSizeLong, + &FeatureSet::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_._cached_size_), + false, + }, + &FeatureSet::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* FeatureSet::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -13796,28 +13769,27 @@ constexpr auto FeatureSetDefaults_FeatureSetEditionDefault::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - FeatureSetDefaults_FeatureSetEditionDefault::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_FeatureSetDefaults_FeatureSetEditionDefault_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - FeatureSetDefaults_FeatureSetEditionDefault::IsInitializedImpl, - &FeatureSetDefaults_FeatureSetEditionDefault::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &FeatureSetDefaults_FeatureSetEditionDefault::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &FeatureSetDefaults_FeatureSetEditionDefault::ByteSizeLong, - &FeatureSetDefaults_FeatureSetEditionDefault::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_._cached_size_), - false, - }, - &FeatureSetDefaults_FeatureSetEditionDefault::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* FeatureSetDefaults_FeatureSetEditionDefault::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull FeatureSetDefaults_FeatureSetEditionDefault::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_FeatureSetDefaults_FeatureSetEditionDefault_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + FeatureSetDefaults_FeatureSetEditionDefault::IsInitializedImpl, + &FeatureSetDefaults_FeatureSetEditionDefault::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &FeatureSetDefaults_FeatureSetEditionDefault::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &FeatureSetDefaults_FeatureSetEditionDefault::ByteSizeLong, + &FeatureSetDefaults_FeatureSetEditionDefault::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_._cached_size_), + false, + }, + &FeatureSetDefaults_FeatureSetEditionDefault::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* FeatureSetDefaults_FeatureSetEditionDefault::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -14144,28 +14116,27 @@ constexpr auto FeatureSetDefaults::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - FeatureSetDefaults::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_FeatureSetDefaults_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - FeatureSetDefaults::IsInitializedImpl, - &FeatureSetDefaults::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &FeatureSetDefaults::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &FeatureSetDefaults::ByteSizeLong, - &FeatureSetDefaults::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(FeatureSetDefaults, _impl_._cached_size_), - false, - }, - &FeatureSetDefaults::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* FeatureSetDefaults::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull FeatureSetDefaults::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_FeatureSetDefaults_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + FeatureSetDefaults::IsInitializedImpl, + &FeatureSetDefaults::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &FeatureSetDefaults::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &FeatureSetDefaults::ByteSizeLong, + &FeatureSetDefaults::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(FeatureSetDefaults, _impl_._cached_size_), + false, + }, + &FeatureSetDefaults::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* FeatureSetDefaults::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -14483,28 +14454,27 @@ constexpr auto SourceCodeInfo_Location::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - SourceCodeInfo_Location::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_SourceCodeInfo_Location_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - nullptr, // IsInitialized - &SourceCodeInfo_Location::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &SourceCodeInfo_Location::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &SourceCodeInfo_Location::ByteSizeLong, - &SourceCodeInfo_Location::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_._cached_size_), - false, - }, - &SourceCodeInfo_Location::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* SourceCodeInfo_Location::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull SourceCodeInfo_Location::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_SourceCodeInfo_Location_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &SourceCodeInfo_Location::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &SourceCodeInfo_Location::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &SourceCodeInfo_Location::ByteSizeLong, + &SourceCodeInfo_Location::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_._cached_size_), + false, + }, + &SourceCodeInfo_Location::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* SourceCodeInfo_Location::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -14848,28 +14818,27 @@ constexpr auto SourceCodeInfo::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - SourceCodeInfo::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_SourceCodeInfo_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - nullptr, // IsInitialized - &SourceCodeInfo::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &SourceCodeInfo::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &SourceCodeInfo::ByteSizeLong, - &SourceCodeInfo::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(SourceCodeInfo, _impl_._cached_size_), - false, - }, - &SourceCodeInfo::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* SourceCodeInfo::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull SourceCodeInfo::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_SourceCodeInfo_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &SourceCodeInfo::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &SourceCodeInfo::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &SourceCodeInfo::ByteSizeLong, + &SourceCodeInfo::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(SourceCodeInfo, _impl_._cached_size_), + false, + }, + &SourceCodeInfo::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* SourceCodeInfo::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -15113,28 +15082,27 @@ constexpr auto GeneratedCodeInfo_Annotation::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - GeneratedCodeInfo_Annotation::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_GeneratedCodeInfo_Annotation_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - nullptr, // IsInitialized - &GeneratedCodeInfo_Annotation::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &GeneratedCodeInfo_Annotation::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &GeneratedCodeInfo_Annotation::ByteSizeLong, - &GeneratedCodeInfo_Annotation::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_._cached_size_), - false, - }, - &GeneratedCodeInfo_Annotation::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* GeneratedCodeInfo_Annotation::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull GeneratedCodeInfo_Annotation::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_GeneratedCodeInfo_Annotation_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &GeneratedCodeInfo_Annotation::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &GeneratedCodeInfo_Annotation::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &GeneratedCodeInfo_Annotation::ByteSizeLong, + &GeneratedCodeInfo_Annotation::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_._cached_size_), + false, + }, + &GeneratedCodeInfo_Annotation::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* GeneratedCodeInfo_Annotation::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); @@ -15471,28 +15439,27 @@ constexpr auto GeneratedCodeInfo::InternalNewImpl_() { } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::MessageLite::ClassDataFull - GeneratedCodeInfo::_class_data_ = { - ::google::protobuf::Message::ClassData{ - &_GeneratedCodeInfo_default_instance_._instance, - &_table_.header, - nullptr, // OnDemandRegisterArenaDtor - nullptr, // IsInitialized - &GeneratedCodeInfo::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), -#if defined(PROTOBUF_CUSTOM_VTABLE) - &GeneratedCodeInfo::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &GeneratedCodeInfo::ByteSizeLong, - &GeneratedCodeInfo::_InternalSerialize, -#endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo, _impl_._cached_size_), - false, - }, - &GeneratedCodeInfo::kDescriptorMethods, - &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, - nullptr, // tracker -}; -const ::google::protobuf::MessageLite::ClassData* GeneratedCodeInfo::GetClassData() const { +const ::google::protobuf::internal::ClassDataFull GeneratedCodeInfo::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_GeneratedCodeInfo_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &GeneratedCodeInfo::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &GeneratedCodeInfo::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &GeneratedCodeInfo::ByteSizeLong, + &GeneratedCodeInfo::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo, _impl_._cached_size_), + false, + }, + &GeneratedCodeInfo::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* GeneratedCodeInfo::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); diff --git a/src/google/protobuf/descriptor.pb.h b/src/google/protobuf/descriptor.pb.h index 3f802bbfa3..e794ffe2fa 100644 --- a/src/google/protobuf/descriptor.pb.h +++ b/src/google/protobuf/descriptor.pb.h @@ -842,11 +842,11 @@ class PROTOBUF_EXPORT UninterpretedOption_NamePart final : UninterpretedOption_NamePart(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -1055,11 +1055,11 @@ class PROTOBUF_EXPORT SourceCodeInfo_Location final : SourceCodeInfo_Location(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -1340,11 +1340,11 @@ class PROTOBUF_EXPORT GeneratedCodeInfo_Annotation final : GeneratedCodeInfo_Annotation(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -1620,11 +1620,11 @@ class PROTOBUF_EXPORT FieldOptions_FeatureSupport final : FieldOptions_FeatureSupport(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -1859,11 +1859,11 @@ class PROTOBUF_EXPORT FieldOptions_EditionDefault final : FieldOptions_EditionDefault(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -2077,11 +2077,11 @@ class PROTOBUF_EXPORT FeatureSet final : FeatureSet(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -2637,11 +2637,11 @@ class PROTOBUF_EXPORT ExtensionRangeOptions_Declaration final : ExtensionRangeOptions_Declaration(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -2895,11 +2895,11 @@ class PROTOBUF_EXPORT EnumDescriptorProto_EnumReservedRange final : EnumDescriptorProto_EnumReservedRange(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -3102,11 +3102,11 @@ class PROTOBUF_EXPORT DescriptorProto_ReservedRange final : DescriptorProto_ReservedRange(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -3314,11 +3314,11 @@ class PROTOBUF_EXPORT UninterpretedOption final : UninterpretedOption(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -3611,11 +3611,11 @@ class PROTOBUF_EXPORT SourceCodeInfo final : SourceCodeInfo(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -3811,11 +3811,11 @@ class PROTOBUF_EXPORT GeneratedCodeInfo final : GeneratedCodeInfo(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -4016,11 +4016,11 @@ class PROTOBUF_EXPORT FeatureSetDefaults_FeatureSetEditionDefault final : FeatureSetDefaults_FeatureSetEditionDefault(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -4249,11 +4249,11 @@ class PROTOBUF_EXPORT ServiceOptions final : ServiceOptions(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -4664,11 +4664,11 @@ class PROTOBUF_EXPORT OneofOptions final : OneofOptions(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -5066,11 +5066,11 @@ class PROTOBUF_EXPORT MethodOptions final : MethodOptions(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -5514,11 +5514,11 @@ class PROTOBUF_EXPORT MessageOptions final : MessageOptions(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -5981,11 +5981,11 @@ class PROTOBUF_EXPORT FileOptions final : FileOptions(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -6710,11 +6710,11 @@ class PROTOBUF_EXPORT FieldOptions final : FieldOptions(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -7375,11 +7375,11 @@ class PROTOBUF_EXPORT FeatureSetDefaults final : FeatureSetDefaults(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -7607,11 +7607,11 @@ class PROTOBUF_EXPORT ExtensionRangeOptions final : ExtensionRangeOptions(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -8061,11 +8061,11 @@ class PROTOBUF_EXPORT EnumValueOptions final : EnumValueOptions(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -8506,11 +8506,11 @@ class PROTOBUF_EXPORT EnumOptions final : EnumOptions(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -8947,11 +8947,11 @@ class PROTOBUF_EXPORT OneofDescriptorProto final : OneofDescriptorProto(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -9169,11 +9169,11 @@ class PROTOBUF_EXPORT MethodDescriptorProto final : MethodDescriptorProto(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -9455,11 +9455,11 @@ class PROTOBUF_EXPORT FieldDescriptorProto final : FieldDescriptorProto(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -9873,11 +9873,11 @@ class PROTOBUF_EXPORT EnumValueDescriptorProto final : EnumValueDescriptorProto(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -10108,11 +10108,11 @@ class PROTOBUF_EXPORT DescriptorProto_ExtensionRange final : DescriptorProto_ExtensionRange(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -10337,11 +10337,11 @@ class PROTOBUF_EXPORT ServiceDescriptorProto final : ServiceDescriptorProto(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -10578,11 +10578,11 @@ class PROTOBUF_EXPORT EnumDescriptorProto final : EnumDescriptorProto(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -10863,11 +10863,11 @@ class PROTOBUF_EXPORT DescriptorProto final : DescriptorProto(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -11244,11 +11244,11 @@ class PROTOBUF_EXPORT FileDescriptorProto final : FileDescriptorProto(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; @@ -11674,11 +11674,11 @@ class PROTOBUF_EXPORT FileDescriptorSet final : FileDescriptorSet(arena) { *this = ::std::move(from); } - const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL; + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; static void* PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena); static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::Message::ClassDataFull _class_data_; + static const ::google::protobuf::internal::ClassDataFull _class_data_; public: ::google::protobuf::Metadata GetMetadata() const; diff --git a/src/google/protobuf/dynamic_message.cc b/src/google/protobuf/dynamic_message.cc index 89c15c4edc..b7a7482729 100644 --- a/src/google/protobuf/dynamic_message.cc +++ b/src/google/protobuf/dynamic_message.cc @@ -204,7 +204,7 @@ class DynamicMessage final : public Message { // implements Message ---------------------------------------------- - const ClassData* GetClassData() const PROTOBUF_FINAL; + const internal::ClassData* GetClassData() const PROTOBUF_FINAL; #if defined(__cpp_lib_destroying_delete) && defined(__cpp_sized_deallocation) static void operator delete(DynamicMessage* msg, std::destroying_delete_t); @@ -265,8 +265,8 @@ struct DynamicMessageFactory::TypeInfo { std::unique_ptr has_bits_indices; int weak_field_map_offset; // The offset for the weak_field_map; - DynamicMessage::ClassDataFull class_data = { - DynamicMessage::ClassData{ + internal::ClassDataFull class_data = { + internal::ClassData{ nullptr, // default_instance nullptr, // tc_table nullptr, // on_demand_register_arena_dtor @@ -634,7 +634,7 @@ void DynamicMessage::CrossLinkPrototypes() { } } -const MessageLite::ClassData* DynamicMessage::GetClassData() const { +const internal::ClassData* DynamicMessage::GetClassData() const { return type_info_->class_data.base(); } diff --git a/src/google/protobuf/generated_message_tctable_decl.h b/src/google/protobuf/generated_message_tctable_decl.h index 94996ef2ed..88e7b409f0 100644 --- a/src/google/protobuf/generated_message_tctable_decl.h +++ b/src/google/protobuf/generated_message_tctable_decl.h @@ -287,7 +287,7 @@ struct alignas(uint64_t) TcParseTableBase { uint16_t num_aux_entries; uint32_t aux_offset; - const MessageLite::ClassData* class_data; + const ClassData* class_data; using PostLoopHandler = const char* (*)(MessageLite* msg, const char* ptr, ParseContext* ctx); PostLoopHandler post_loop_handler; @@ -312,7 +312,7 @@ struct alignas(uint64_t) TcParseTableBase { uint32_t field_entries_offset, uint16_t num_field_entries, uint16_t num_aux_entries, uint32_t aux_offset, - const MessageLite::ClassData* class_data, + const ClassData* class_data, PostLoopHandler post_loop_handler, TailCallParseFunc fallback #ifdef PROTOBUF_PREFETCH_PARSE_TABLE @@ -551,8 +551,7 @@ PROTOBUF_CC const char* StubParseImpl(PROTOBUF_TC_PARAM_DECL) { } template + PROTOBUF_CC const char* (*func)(T*, const char*, ParseContext*)> constexpr TcParseTable<0> CreateStubTcParseTable( const ClassData* class_data, TcParseTableBase::PostLoopHandler post_loop_handler = nullptr) { diff --git a/src/google/protobuf/implicit_weak_message.cc b/src/google/protobuf/implicit_weak_message.cc index 7a1f55b970..d53daf6478 100644 --- a/src/google/protobuf/implicit_weak_message.cc +++ b/src/google/protobuf/implicit_weak_message.cc @@ -62,7 +62,7 @@ const TcParseTable<0> ImplicitWeakMessage::table_ = internal::CreateStubTcParseTable( class_data_.base()); -constexpr MessageLite::ClassDataLite<1> ImplicitWeakMessage::class_data_ = { +constexpr ClassDataLite<1> ImplicitWeakMessage::class_data_ = { { &implicit_weak_message_default_instance.instance, &table_.header, @@ -81,7 +81,7 @@ constexpr MessageLite::ClassDataLite<1> ImplicitWeakMessage::class_data_ = { }, ""}; -const MessageLite::ClassData* ImplicitWeakMessage::GetClassData() const { +const ClassData* ImplicitWeakMessage::GetClassData() const { return class_data_.base(); } diff --git a/src/google/protobuf/message.cc b/src/google/protobuf/message.cc index 9eae5b3055..3870efcd90 100644 --- a/src/google/protobuf/message.cc +++ b/src/google/protobuf/message.cc @@ -156,7 +156,7 @@ Metadata Message::GetMetadata() const { return GetMetadataImpl(GetClassData()->full()); } -Metadata Message::GetMetadataImpl(const ClassDataFull& data) { +Metadata Message::GetMetadataImpl(const internal::ClassDataFull& data) { auto* table = data.descriptor_table; // Only codegen types provide a table. DynamicMessage does not provide a table // and instead eagerly initializes the descriptor/reflection members. @@ -206,7 +206,7 @@ size_t Message::SpaceUsedLong() const { return GetClassData()->full().descriptor_methods->space_used_long(*this); } -absl::string_view Message::GetTypeNameImpl(const ClassData* data) { +absl::string_view Message::GetTypeNameImpl(const internal::ClassData* data) { return GetMetadataImpl(data->full()).descriptor->full_name(); } @@ -228,7 +228,7 @@ static std::string DebugStringImpl(const MessageLite& msg) { return DownCastMessage(msg).DebugString(); } -PROTOBUF_CONSTINIT const MessageLite::DescriptorMethods +PROTOBUF_CONSTINIT const internal::DescriptorMethods Message::kDescriptorMethods = { GetTypeNameImpl, InitializationErrorStringImpl, GetTcParseTableImpl, SpaceUsedLongImpl, diff --git a/src/google/protobuf/message.h b/src/google/protobuf/message.h index 90a8eb31b4..92edb721bd 100644 --- a/src/google/protobuf/message.h +++ b/src/google/protobuf/message.h @@ -377,7 +377,7 @@ class PROTOBUF_EXPORT Message : public MessageLite { // Get a struct containing the metadata for the Message, which is used in turn // to implement GetDescriptor() and GetReflection() above. Metadata GetMetadata() const; - static Metadata GetMetadataImpl(const ClassDataFull& data); + static Metadata GetMetadataImpl(const internal::ClassDataFull& data); // For CODE_SIZE types static bool IsInitializedImpl(const MessageLite&); @@ -388,7 +388,7 @@ class PROTOBUF_EXPORT Message : public MessageLite { size_t total_size, const internal::CachedSize* cached_size) const; // Reflection based version for reflection based types. - static absl::string_view GetTypeNameImpl(const ClassData* data); + static absl::string_view GetTypeNameImpl(const internal::ClassData* data); static void MergeImpl(MessageLite& to, const MessageLite& from); void ClearImpl(); static size_t ByteSizeLongImpl(const MessageLite& msg); @@ -401,7 +401,7 @@ class PROTOBUF_EXPORT Message : public MessageLite { static size_t SpaceUsedLongImpl(const MessageLite& msg_lite); - static const DescriptorMethods kDescriptorMethods; + static const internal::DescriptorMethods kDescriptorMethods; }; diff --git a/src/google/protobuf/message_lite.cc b/src/google/protobuf/message_lite.cc index e1fb4fe828..1a2c6bd88b 100644 --- a/src/google/protobuf/message_lite.cc +++ b/src/google/protobuf/message_lite.cc @@ -104,7 +104,7 @@ absl::string_view TypeId::name() const { } // For LITE messages, the type name is a char[] just beyond ClassData. - return reinterpret_cast(data_) + sizeof(MessageLite::ClassData); + return reinterpret_cast(data_) + sizeof(internal::ClassData); } void MessageLite::OnDemandRegisterArenaDtor(Arena* arena) { diff --git a/src/google/protobuf/message_lite.h b/src/google/protobuf/message_lite.h index 18b0931490..2455c75d2d 100644 --- a/src/google/protobuf/message_lite.h +++ b/src/google/protobuf/message_lite.h @@ -289,6 +289,165 @@ PROTOBUF_EXPORT constexpr const std::string& GetEmptyStringAlreadyInited() { PROTOBUF_EXPORT size_t StringSpaceUsedExcludingSelfLong(const std::string& str); +struct ClassDataFull; + +// Note: The order of arguments in the functions is chosen so that it has +// the same ABI as the member function that calls them. Eg the `this` +// pointer becomes the first argument in the free function. +// +// Future work: +// We could save more data by omitting any optional pointer that would +// otherwise be null. We can have some metadata in ClassData telling us if we +// have them and their offset. + +struct PROTOBUF_EXPORT ClassData { + const MessageLite* prototype; + const internal::TcParseTableBase* tc_table; + void (*on_demand_register_arena_dtor)(MessageLite& msg, Arena& arena); + bool (*is_initialized)(const MessageLite&); + void (*merge_to_from)(MessageLite& to, const MessageLite& from_msg); + internal::MessageCreator message_creator; +#if defined(PROTOBUF_CUSTOM_VTABLE) + void (*destroy_message)(MessageLite& msg); + void (MessageLite::*clear)(); + size_t (*byte_size_long)(const MessageLite&); + uint8_t* (*serialize)(const MessageLite& msg, uint8_t* ptr, + io::EpsCopyOutputStream* stream); +#endif // PROTOBUF_CUSTOM_VTABLE + + // Offset of the CachedSize member. + uint32_t cached_size_offset; + // LITE objects (ie !descriptor_methods) collocate their name as a + // char[] just beyond the ClassData. + bool is_lite; + bool is_dynamic = false; + + // In normal mode we have the small constructor to avoid the cost in + // codegen. +#if !defined(PROTOBUF_CUSTOM_VTABLE) + constexpr ClassData( + const MessageLite* prototype, const internal::TcParseTableBase* tc_table, + void (*on_demand_register_arena_dtor)(MessageLite&, Arena&), + bool (*is_initialized)(const MessageLite&), + void (*merge_to_from)(MessageLite& to, const MessageLite& from_msg), + internal::MessageCreator message_creator, uint32_t cached_size_offset, + bool is_lite + ) + : prototype(prototype), + tc_table(tc_table), + on_demand_register_arena_dtor(on_demand_register_arena_dtor), + is_initialized(is_initialized), + merge_to_from(merge_to_from), + message_creator(message_creator), + cached_size_offset(cached_size_offset), + is_lite(is_lite) + { + } +#endif // !PROTOBUF_CUSTOM_VTABLE + + // But we always provide the full constructor even in normal mode to make + // helper code simpler. + constexpr ClassData( + const MessageLite* prototype, const internal::TcParseTableBase* tc_table, + void (*on_demand_register_arena_dtor)(MessageLite&, Arena&), + bool (*is_initialized)(const MessageLite&), + void (*merge_to_from)(MessageLite& to, const MessageLite& from_msg), + internal::MessageCreator message_creator, + void (*destroy_message)(MessageLite& msg), // + void (MessageLite::*clear)(), + size_t (*byte_size_long)(const MessageLite&), + uint8_t* (*serialize)(const MessageLite& msg, uint8_t* ptr, + io::EpsCopyOutputStream* stream), + uint32_t cached_size_offset, bool is_lite + ) + : prototype(prototype), + tc_table(tc_table), + on_demand_register_arena_dtor(on_demand_register_arena_dtor), + is_initialized(is_initialized), + merge_to_from(merge_to_from), + message_creator(message_creator), +#if defined(PROTOBUF_CUSTOM_VTABLE) + destroy_message(destroy_message), + clear(clear), + byte_size_long(byte_size_long), + serialize(serialize), +#endif // PROTOBUF_CUSTOM_VTABLE + cached_size_offset(cached_size_offset), + is_lite(is_lite) + { + } + + const ClassDataFull& full() const; + + MessageLite* New(Arena* arena) const { + return message_creator.New(prototype, prototype, arena); + } + + MessageLite* PlacementNew(void* mem, Arena* arena) const { + return message_creator.PlacementNew(prototype, prototype, mem, arena); + } + + uint32_t allocation_size() const { return message_creator.allocation_size(); } + + uint8_t alignment() const { return message_creator.alignment(); } +}; + +template +struct ClassDataLite { + ClassData header; + const char type_name[N]; + + constexpr const ClassData* base() const { return &header; } +}; + +// We use a secondary vtable for descriptor based methods. This way ClassData +// does not grow with the number of descriptor methods. This avoids extra +// costs in MessageLite. +struct PROTOBUF_EXPORT DescriptorMethods { + absl::string_view (*get_type_name)(const ClassData* data); + std::string (*initialization_error_string)(const MessageLite&); + const internal::TcParseTableBase* (*get_tc_table)(const MessageLite&); + size_t (*space_used_long)(const MessageLite&); + std::string (*debug_string)(const MessageLite&); +}; + +struct PROTOBUF_EXPORT ClassDataFull : ClassData { + constexpr ClassDataFull(ClassData base, + const DescriptorMethods* descriptor_methods, + const internal::DescriptorTable* descriptor_table, + void (*get_metadata_tracker)()) + : ClassData(base), + descriptor_methods(descriptor_methods), + descriptor_table(descriptor_table), + reflection(), + descriptor(), + get_metadata_tracker(get_metadata_tracker) {} + + constexpr const ClassData* base() const { return this; } + + const DescriptorMethods* descriptor_methods; + + // Codegen types will provide a DescriptorTable to do lazy + // registration/initialization of the reflection objects. + // Other types, like DynamicMessage, keep the table as null but eagerly + // populate `reflection`/`descriptor` fields. + const internal::DescriptorTable* descriptor_table; + // Accesses are protected by the once_flag in `descriptor_table`. When the + // table is null these are populated from the beginning and need to + // protection. + mutable const Reflection* reflection; + mutable const Descriptor* descriptor; + + // When an access tracker is installed, this function notifies the tracker + // that GetMetadata was called. + void (*get_metadata_tracker)(); +}; + +inline const ClassDataFull& ClassData::full() const { + ABSL_DCHECK(!is_lite); + return *static_cast(this); +} + } // namespace internal // Interface to light weight protocol messages. @@ -682,175 +841,16 @@ class PROTOBUF_EXPORT MessageLite { return tc_table; } - // We use a secondary vtable for descriptor based methods. This way ClassData - // does not grow with the number of descriptor methods. This avoids extra - // costs in MessageLite. - struct ClassData; - struct ClassDataFull; - struct DescriptorMethods { - absl::string_view (*get_type_name)(const ClassData* data); - std::string (*initialization_error_string)(const MessageLite&); - const internal::TcParseTableBase* (*get_tc_table)(const MessageLite&); - size_t (*space_used_long)(const MessageLite&); - std::string (*debug_string)(const MessageLite&); - }; - - // Note: The order of arguments in the functions is chosen so that it has - // the same ABI as the member function that calls them. Eg the `this` - // pointer becomes the first argument in the free function. - // - // Future work: - // We could save more data by omitting any optional pointer that would - // otherwise be null. We can have some metadata in ClassData telling us if we - // have them and their offset. - friend internal::MessageCreator; - using DestroyMessageF = void (*)(MessageLite& msg); - struct ClassData { - const MessageLite* prototype; - const internal::TcParseTableBase* tc_table; - void (*on_demand_register_arena_dtor)(MessageLite& msg, Arena& arena); - bool (*is_initialized)(const MessageLite&); - void (*merge_to_from)(MessageLite& to, const MessageLite& from_msg); - internal::MessageCreator message_creator; -#if defined(PROTOBUF_CUSTOM_VTABLE) - DestroyMessageF destroy_message; - void (MessageLite::*clear)(); - size_t (*byte_size_long)(const MessageLite&); - uint8_t* (*serialize)(const MessageLite& msg, uint8_t* ptr, - io::EpsCopyOutputStream* stream); -#endif // PROTOBUF_CUSTOM_VTABLE - - // Offset of the CachedSize member. - uint32_t cached_size_offset; - // LITE objects (ie !descriptor_methods) collocate their name as a - // char[] just beyond the ClassData. - bool is_lite; - bool is_dynamic = false; - - // In normal mode we have the small constructor to avoid the cost in - // codegen. -#if !defined(PROTOBUF_CUSTOM_VTABLE) - constexpr ClassData( - const MessageLite* prototype, - const internal::TcParseTableBase* tc_table, - void (*on_demand_register_arena_dtor)(MessageLite&, Arena&), - bool (*is_initialized)(const MessageLite&), - void (*merge_to_from)(MessageLite& to, const MessageLite& from_msg), - internal::MessageCreator message_creator, uint32_t cached_size_offset, - bool is_lite - ) - : prototype(prototype), - tc_table(tc_table), - on_demand_register_arena_dtor(on_demand_register_arena_dtor), - is_initialized(is_initialized), - merge_to_from(merge_to_from), - message_creator(message_creator), - cached_size_offset(cached_size_offset), - is_lite(is_lite) - { - } -#endif // !PROTOBUF_CUSTOM_VTABLE - - // But we always provide the full constructor even in normal mode to make - // helper code simpler. - constexpr ClassData( - const MessageLite* prototype, - const internal::TcParseTableBase* tc_table, - void (*on_demand_register_arena_dtor)(MessageLite&, Arena&), - bool (*is_initialized)(const MessageLite&), - void (*merge_to_from)(MessageLite& to, const MessageLite& from_msg), - internal::MessageCreator message_creator, // - DestroyMessageF destroy_message, // - void (MessageLite::*clear)(), - size_t (*byte_size_long)(const MessageLite&), - uint8_t* (*serialize)(const MessageLite& msg, uint8_t* ptr, - io::EpsCopyOutputStream* stream), - uint32_t cached_size_offset, bool is_lite - ) - : prototype(prototype), - tc_table(tc_table), - on_demand_register_arena_dtor(on_demand_register_arena_dtor), - is_initialized(is_initialized), - merge_to_from(merge_to_from), - message_creator(message_creator), -#if defined(PROTOBUF_CUSTOM_VTABLE) - destroy_message(destroy_message), - clear(clear), - byte_size_long(byte_size_long), - serialize(serialize), -#endif // PROTOBUF_CUSTOM_VTABLE - cached_size_offset(cached_size_offset), - is_lite(is_lite) - { - } - - const ClassDataFull& full() const { - ABSL_DCHECK(!is_lite); - return *static_cast(this); - } - - MessageLite* New(Arena* arena) const { - return message_creator.New(prototype, prototype, arena); - } - - MessageLite* PlacementNew(void* mem, Arena* arena) const { - return message_creator.PlacementNew(prototype, prototype, mem, arena); - } - - uint32_t allocation_size() const { - return message_creator.allocation_size(); - } - - uint8_t alignment() const { return message_creator.alignment(); } - }; - template - struct ClassDataLite { - ClassData header; - const char type_name[N]; - - constexpr const ClassData* base() const { return &header; } - }; - struct ClassDataFull : ClassData { - constexpr ClassDataFull(ClassData base, - const DescriptorMethods* descriptor_methods, - const internal::DescriptorTable* descriptor_table, - void (*get_metadata_tracker)()) - : ClassData(base), - descriptor_methods(descriptor_methods), - descriptor_table(descriptor_table), - reflection(), - descriptor(), - get_metadata_tracker(get_metadata_tracker) {} - - constexpr const ClassData* base() const { return this; } - - const DescriptorMethods* descriptor_methods; - - // Codegen types will provide a DescriptorTable to do lazy - // registration/initialization of the reflection objects. - // Other types, like DynamicMessage, keep the table as null but eagerly - // populate `reflection`/`descriptor` fields. - const internal::DescriptorTable* descriptor_table; - // Accesses are protected by the once_flag in `descriptor_table`. When the - // table is null these are populated from the beginning and need to - // protection. - mutable const Reflection* reflection; - mutable const Descriptor* descriptor; - - // When an access tracker is installed, this function notifies the tracker - // that GetMetadata was called. - void (*get_metadata_tracker)(); - }; - #if defined(PROTOBUF_CUSTOM_VTABLE) - explicit constexpr MessageLite(const ClassData* data) : _class_data_(data) {} - explicit MessageLite(Arena* arena, const ClassData* data) + explicit constexpr MessageLite(const internal::ClassData* data) + : _class_data_(data) {} + explicit MessageLite(Arena* arena, const internal::ClassData* data) : _internal_metadata_(arena), _class_data_(data) {} #else // PROTOBUF_CUSTOM_VTABLE constexpr MessageLite() {} explicit MessageLite(Arena* arena) : _internal_metadata_(arena) {} - explicit constexpr MessageLite(const ClassData*) {} - explicit MessageLite(Arena* arena, const ClassData*) + explicit constexpr MessageLite(const internal::ClassData*) {} + explicit MessageLite(Arena* arena, const internal::ClassData*) : _internal_metadata_(arena) {} #endif // PROTOBUF_CUSTOM_VTABLE @@ -862,12 +862,12 @@ class PROTOBUF_EXPORT MessageLite { // This is a work in progress. There are still some types (eg MapEntry) that // return a default table instead of a unique one. #if defined(PROTOBUF_CUSTOM_VTABLE) - const ClassData* GetClassData() const { + const internal::ClassData* GetClassData() const { ::absl::PrefetchToLocalCache(_class_data_); return _class_data_; } #else // PROTOBUF_CUSTOM_VTABLE - virtual const ClassData* GetClassData() const = 0; + virtual const internal::ClassData* GetClassData() const = 0; #endif // PROTOBUF_CUSTOM_VTABLE template @@ -882,7 +882,7 @@ class PROTOBUF_EXPORT MessageLite { internal::InternalMetadata _internal_metadata_; #if defined(PROTOBUF_CUSTOM_VTABLE) - const ClassData* _class_data_; + const internal::ClassData* _class_data_; #endif // PROTOBUF_CUSTOM_VTABLE // Return the cached size object as described by @@ -965,7 +965,7 @@ class PROTOBUF_EXPORT MessageLite { friend class internal::WeakFieldMap; friend class internal::WireFormatLite; friend class internal::RustMapHelper; - friend struct internal::TcParseTableBase; + friend internal::MessageCreator; template friend class Arena::InternalHelper; @@ -1067,9 +1067,9 @@ class TypeId { } private: - constexpr explicit TypeId(const MessageLite::ClassData* data) : data_(data) {} + constexpr explicit TypeId(const internal::ClassData* data) : data_(data) {} - const MessageLite::ClassData* data_; + const internal::ClassData* data_; }; namespace internal {