diff --git a/src/google/protobuf/aliased_descriptor.proto.fwd_internal.h b/src/google/protobuf/aliased_descriptor.proto.fwd_internal.h new file mode 100644 index 0000000000000..70dd0dbbb512b --- /dev/null +++ b/src/google/protobuf/aliased_descriptor.proto.fwd_internal.h @@ -0,0 +1,73 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: third_party/protobuf/aliased_descriptor.proto +// Protobuf C++ Version: 0.20260828.0 + +#ifndef third_5fparty_2fprotobuf_2faliased_5fdescriptor_2eproto_2eproto_2efwd_5finternal_2eh +#define third_5fparty_2fprotobuf_2faliased_5fdescriptor_2eproto_2eproto_2efwd_5finternal_2eh + +#include +#include +#include +#include + +// clang-format off +#include +#include "google/protobuf/arena.h" +#include "google/protobuf/message_lite.h" + + +// Must be included last. +#include "google/protobuf/port_def.inc" + +namespace google { +namespace protobuf { +namespace internal { +class AliasedDescriptorProto; +struct AliasedDescriptorProtoGlobalsTypeInternal; +extern const AliasedDescriptorProtoGlobalsTypeInternal AliasedDescriptorProto_globals_; +class AliasedEnumDescriptorProto; +struct AliasedEnumDescriptorProtoGlobalsTypeInternal; +extern const AliasedEnumDescriptorProtoGlobalsTypeInternal AliasedEnumDescriptorProto_globals_; +class AliasedFieldDescriptorProto; +struct AliasedFieldDescriptorProtoGlobalsTypeInternal; +extern const AliasedFieldDescriptorProtoGlobalsTypeInternal AliasedFieldDescriptorProto_globals_; +class AliasedFileDescriptorProto; +struct AliasedFileDescriptorProtoGlobalsTypeInternal; +extern const AliasedFileDescriptorProtoGlobalsTypeInternal AliasedFileDescriptorProto_globals_; +class AliasedServiceDescriptorProto; +struct AliasedServiceDescriptorProtoGlobalsTypeInternal; +extern const AliasedServiceDescriptorProtoGlobalsTypeInternal AliasedServiceDescriptorProto_globals_; +} // namespace internal +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::internal::AliasedDescriptorProto>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::internal::AliasedDescriptorProto>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::internal::AliasedDescriptorProto_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::internal::AliasedDescriptorProto>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::internal::AliasedEnumDescriptorProto>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::internal::AliasedEnumDescriptorProto>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::internal::AliasedEnumDescriptorProto_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::internal::AliasedEnumDescriptorProto>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::internal::AliasedFieldDescriptorProto>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::internal::AliasedFieldDescriptorProto>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::internal::AliasedFieldDescriptorProto_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::internal::AliasedFieldDescriptorProto>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::internal::AliasedFileDescriptorProto>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::internal::AliasedFileDescriptorProto>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::internal::AliasedFileDescriptorProto_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::internal::AliasedFileDescriptorProto>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::internal::AliasedServiceDescriptorProto>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::internal::AliasedServiceDescriptorProto>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::internal::AliasedServiceDescriptorProto_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::internal::AliasedServiceDescriptorProto>; +} // namespace protobuf +} // namespace google + +#include "google/protobuf/port_undef.inc" +// clang-format on + +#endif // third_5fparty_2fprotobuf_2faliased_5fdescriptor_2eproto_2eproto_2efwd_5finternal_2eh diff --git a/src/google/protobuf/compiler/cpp/file.cc b/src/google/protobuf/compiler/cpp/file.cc index 9b64dedc7cc8d..a7bb1bbe83641 100644 --- a/src/google/protobuf/compiler/cpp/file.cc +++ b/src/google/protobuf/compiler/cpp/file.cc @@ -45,9 +45,9 @@ #include "google/protobuf/descriptor_visitor.h" #include "google/protobuf/dynamic_message.h" #include "google/protobuf/io/printer.h" +#include "google/protobuf/port.h" // Must be last. -#include "google/protobuf/port.h" #include "google/protobuf/port_def.inc" namespace google { @@ -227,15 +227,10 @@ void FileGenerator::GenerateMacroUndefs(io::Printer* p) { void FileGenerator::GenerateSharedHeaderCode(io::Printer* p) { p->Emit( { - {"port_def", - [&] { IncludeFile("third_party/protobuf/port_def.inc", p); }}, - {"port_undef", - [&] { IncludeFile("third_party/protobuf/port_undef.inc", p); }}, {"dllexport_macro", FileDllExport(file_, options_)}, {"undefs", [&] { GenerateMacroUndefs(p); }}, {"global_state_decls", [&] { GenerateGlobalStateFunctionDeclarations(p); }}, - {"fwd_decls", [&] { GenerateForwardDeclarations(p); }}, {"proto2_ns_enums", [&] { GenerateProto2NamespaceEnumSpecializations(p); }}, {"main_decls", @@ -274,30 +269,22 @@ void FileGenerator::GenerateSharedHeaderCode(io::Printer* p) { }}, }, R"( - // Must be included last. - $port_def$ - #define $dllexport_macro$$ dllexport_decl$ $undefs$ $global_state_decls$; - $fwd_decls$ $main_decls$ $proto2_ns_enums$ // @@protoc_insertion_point(global_scope) - - $port_undef$ )"); } void FileGenerator::GenerateProtoHeader(io::Printer* p, absl::string_view info_path) { - if (!options_.proto_h) { - return; - } + ABSL_CHECK(options_.proto_h); GenerateFile(p, GeneratedFileType::kProtoH, [&] { if (!options_.opensource_runtime) { @@ -315,6 +302,10 @@ void FileGenerator::GenerateProtoHeader(io::Printer* p, p->Emit( { + {"port_def", + [&] { IncludeFile("third_party/protobuf/port_def.inc", p); }}, + {"port_undef", + [&] { IncludeFile("third_party/protobuf/port_undef.inc", p); }}, {"library_includes", [&] { GenerateLibraryIncludes(p); }}, {"proto_includes", [&] { @@ -324,6 +315,71 @@ void FileGenerator::GenerateProtoHeader(io::Printer* p, #include "$name$.proto.h" )"); } + std::string target_basename = StripProto(file_->name()); + if (!options_.opensource_runtime) { + GetBootstrapBasename(options_, target_basename, + &target_basename); + } + }}, + {"fwd_includes", + [&] { + std::vector fields; + ListAllFields(file_, &fields); + std::vector service_classes; + ListAllTypesForServices(file_, &service_classes); + + absl::flat_hash_set needed_deps; + for (const auto* field : fields) { + if (field->containing_type()) { + needed_deps.insert(field->containing_type()->file()); + } + if (field->message_type()) { + needed_deps.insert(field->message_type()->file()); + } + if (field->enum_type()) { + needed_deps.insert(field->enum_type()->file()); + } + } + for (const auto* cls : service_classes) { + if (cls) needed_deps.insert(cls->file()); + } + + absl::flat_hash_set public_deps; + for (int i = 0; i < file_->public_dependency_count(); ++i) { + public_deps.insert(file_->public_dependency(i)); + } + + std::function is_dep_needed = + [&](const FileDescriptor* d) { + if (needed_deps.contains(d)) return true; + for (int i = 0; i < d->public_dependency_count(); ++i) { + if (is_dep_needed(d->public_dependency(i))) return true; + } + return false; + }; + + for (int i = 0; i < file_->dependency_count(); ++i) { + const auto* dep = file_->dependency(i); + if (public_deps.contains(dep)) continue; + if (!is_dep_needed(dep)) continue; + + std::string target_basename = StripProto(dep->name()); + if (!options_.opensource_runtime) { + GetBootstrapBasename(options_, target_basename, + &target_basename); + } + p->Emit({{"name", target_basename}}, R"( + #include "$name$.proto.fwd_internal.h" + )"); + } + std::string target_basename = StripProto(file_->name()); + if (!options_.opensource_runtime) { + GetBootstrapBasename(options_, target_basename, + &target_basename); + } + p->Emit({{"name", target_basename}}, R"( + #include "$name$.proto.fwd_internal.h" + )"); }}, {"metadata_pragma", [&] { GenerateMetadataPragma(p, info_path); }}, {"header_main", [&] { GenerateSharedHeaderCode(p); }}, @@ -333,8 +389,15 @@ void FileGenerator::GenerateProtoHeader(io::Printer* p, $proto_includes$; // @@protoc_insertion_point(includes) + $fwd_includes$; + + // Must be included last. + $port_def$; + $metadata_pragma$; $header_main$; + + $port_undef$; )cc"); }); } @@ -344,6 +407,10 @@ void FileGenerator::GeneratePBHeader(io::Printer* p, GenerateFile(p, GeneratedFileType::kPbH, [&] { p->Emit( { + {"port_def", + [&] { IncludeFile("third_party/protobuf/port_def.inc", p); }}, + {"port_undef", + [&] { IncludeFile("third_party/protobuf/port_undef.inc", p); }}, {"library_includes", [&] { if (options_.proto_h) { @@ -366,6 +433,10 @@ void FileGenerator::GeneratePBHeader(io::Printer* p, } }}, {"metadata_pragma", [&] { GenerateMetadataPragma(p, info_path); }}, + {"fwd_decls", + [&] { + if (!options_.proto_h) GenerateForwardDeclarations(p); + }}, {"header_main", [&] { if (!options_.proto_h) { @@ -391,8 +462,15 @@ void FileGenerator::GeneratePBHeader(io::Printer* p, $proto_includes$; // @@protoc_insertion_point(includes) + // Must be included last. + $port_def$; + + $fwd_decls$; + $metadata_pragma$; $header_main$; + + $port_undef$; )cc"); }); } @@ -1419,58 +1497,68 @@ class FileGenerator::ForwardDeclarations { absl::btree_map splits_; }; -static void PublicImportDFS( - const FileDescriptor* fd, - absl::flat_hash_set& fd_set) { - for (int i = 0; i < fd->public_dependency_count(); ++i) { - const FileDescriptor* dep = fd->public_dependency(i); - if (fd_set.insert(dep).second) { - PublicImportDFS(dep, fd_set); - } - } +void FileGenerator::GenerateProtoFwdHeader(io::Printer* p) { + ABSL_CHECK(options_.proto_h); + GenerateFile(p, GeneratedFileType::kProtoFwdH, [&] { + p->Emit( + { + {"public_imports", + [&] { + for (int i = 0; i < file_->public_dependency_count(); ++i) { + const auto* dep = file_->public_dependency(i); + p->Emit({{"name", StripProto(dep->name())}}, R"( + #include "$name$.proto.fwd_internal.h" + )"); + } + }}, + {"port_def", + [&] { IncludeFile("third_party/protobuf/port_def.inc", p); }}, + {"port_undef", + [&] { IncludeFile("third_party/protobuf/port_undef.inc", p); }}, + {"arena_h", + [&] { IncludeFile("third_party/protobuf/arena.h", p); }}, + {"message_lite_h", + [&] { IncludeFile("third_party/protobuf/message_lite.h", p); }}, + {"fwd_decl", [&] { GenerateForwardDeclarations(p); }}, + }, + R"cc( +#include + $arena_h$; + $message_lite_h$; + + $public_imports$; + + // Must be included last. + $port_def$; + + $fwd_decl$; + + $port_undef$; + )cc"); + }); } void FileGenerator::GenerateForwardDeclarations(io::Printer* p) { std::vector classes; - FlattenMessagesInFile(file_, &classes); // All messages need forward decls. - std::vector enums; - if (options_.proto_h) { // proto.h needs extra forward declarations. - // All classes / enums referred to as field members - std::vector fields; - ListAllFields(file_, &fields); - for (const auto* field : fields) { - classes.push_back(field->containing_type()); - classes.push_back(field->message_type()); - enums.push_back(field->enum_type()); - } - ListAllTypesForServices(file_, &classes); - } + FlattenMessagesInFile(file_, &classes); // All messages need forward decls. // List all enums in this file, to declare the traits. google::protobuf::internal::VisitDescriptors( *file_, [&](const EnumDescriptor& e) { enums.push_back(&e); }); - // Calculate the set of files whose definitions we get through include. - // No need to forward declare types that are defined in these. - absl::flat_hash_set public_set; - PublicImportDFS(file_, public_set); - absl::btree_map decls; for (const auto* d : classes) { - if (d != nullptr && !public_set.contains(d->file()) && - ShouldGenerateClass(d, options_)) + if (d != nullptr && ShouldGenerateClass(d, options_)) decls[Namespace(d)].AddMessage(d); } for (const auto* e : enums) { - if (e != nullptr && !public_set.contains(e->file())) - decls[Namespace(e)].AddEnum(e); + if (e != nullptr) decls[Namespace(e)].AddEnum(e); } for (const auto& mg : message_generators_) { const Descriptor* d = mg->descriptor(); - if (d != nullptr && public_set.count(d->file()) == 0u && - ShouldSplit(mg->descriptor(), options_)) + if (d != nullptr && ShouldSplit(mg->descriptor(), options_)) decls[Namespace(d)].AddSplit(d); } diff --git a/src/google/protobuf/compiler/cpp/file.h b/src/google/protobuf/compiler/cpp/file.h index 82803f089d41a..d555fa3d0de3a 100644 --- a/src/google/protobuf/compiler/cpp/file.h +++ b/src/google/protobuf/compiler/cpp/file.h @@ -51,6 +51,7 @@ class PROTOC_EXPORT FileGenerator { // info_path, if non-empty, should be the path (relative to printer's // output) to the metadata file describing this proto header. void GenerateProtoHeader(io::Printer* p, absl::string_view info_path); + void GenerateProtoFwdHeader(io::Printer* p); // info_path, if non-empty, should be the path (relative to printer's // output) to the metadata file describing this PB header. void GeneratePBHeader(io::Printer* p, absl::string_view info_path); diff --git a/src/google/protobuf/compiler/cpp/generator.cc b/src/google/protobuf/compiler/cpp/generator.cc index 99d1e7f7e171a..2f0d0cfe4eac0 100644 --- a/src/google/protobuf/compiler/cpp/generator.cc +++ b/src/google/protobuf/compiler/cpp/generator.cc @@ -156,6 +156,12 @@ bool CppGenerator::GenerateImpl(const FileDescriptor* file, auto info_output = absl::WrapUnique(generator_context->Open(info_path)); ABSL_CHECK(annotations.SerializeToZeroCopyStream(info_output.get())); } + + auto fwd_output = absl::WrapUnique(generator_context->Open( + absl::StrCat(basename, ".proto.fwd_internal.h"))); + io::Printer fwd_p(fwd_output.get()); + auto fwd_v = fwd_p.WithVars(CommonVars(file_options)); + file_generator.GenerateProtoFwdHeader(&fwd_p); } { diff --git a/src/google/protobuf/compiler/cpp/helpers.cc b/src/google/protobuf/compiler/cpp/helpers.cc index a1b0229293847..923bb9e5719d5 100644 --- a/src/google/protobuf/compiler/cpp/helpers.cc +++ b/src/google/protobuf/compiler/cpp/helpers.cc @@ -1947,6 +1947,21 @@ bool MaybeBootstrap(const Options& options, GeneratorContext* generator_context, #endif // PROTOBUF_INCLUDED_$file$_FORWARD_PROTO_H )"); + auto proto_fwd_h = absl::WrapUnique(generator_context->Open( + absl::StrCat(*basename, ".proto.fwd_internal.h"))); + io::Printer(proto_fwd_h.get()) + .Emit( + { + {"fwd_to", bootstrap_basename}, + {"file", FilenameIdentifier(*basename)}, + }, + R"( + #ifndef PROTOBUF_INCLUDED_$file$_FORWARD_PROTO_FWD_INTERNAL_H + #define PROTOBUF_INCLUDED_$file$_FORWARD_PROTO_FWD_INTERNAL_H + #include "$fwd_to$.proto.fwd_internal.h" // IWYU pragma: export + #endif // PROTOBUF_INCLUDED_$file$_FORWARD_PROTO_FWD_INTERNAL_H + )"); + auto pb_cc = absl::WrapUnique( generator_context->Open(absl::StrCat(*basename, ".pb.cc"))); io::Printer(pb_cc.get()).PrintRaw("\n"); diff --git a/src/google/protobuf/compiler/cpp/helpers.h b/src/google/protobuf/compiler/cpp/helpers.h index bf7e9de1a8658..22b4aac4b22c0 100644 --- a/src/google/protobuf/compiler/cpp/helpers.h +++ b/src/google/protobuf/compiler/cpp/helpers.h @@ -629,7 +629,12 @@ bool IsAnyMessage(const Descriptor* descriptor); bool IsWellKnownMessage(const FileDescriptor* file); -enum class GeneratedFileType : int { kPbH, kProtoH, kProtoStaticReflectionH }; +enum class GeneratedFileType : int { + kPbH, + kProtoH, + kProtoStaticReflectionH, + kProtoFwdH +}; inline std::string IncludeGuard(const FileDescriptor* file, GeneratedFileType file_type, @@ -646,6 +651,10 @@ inline std::string IncludeGuard(const FileDescriptor* file, break; case GeneratedFileType::kProtoStaticReflectionH: extension = ".proto.static_reflection.h"; + break; + case GeneratedFileType::kProtoFwdH: + extension = ".proto.fwd_internal.h"; + break; } return FilenameIdentifier(absl::StrCat(file->name(), extension)); } diff --git a/src/google/protobuf/compiler/csharp/c_sharp_features.pb.h b/src/google/protobuf/compiler/csharp/c_sharp_features.pb.h index 1735d47492ab7..9835c43affc90 100755 --- a/src/google/protobuf/compiler/csharp/c_sharp_features.pb.h +++ b/src/google/protobuf/compiler/csharp/c_sharp_features.pb.h @@ -36,15 +36,6 @@ // Must be included last. #include "google/protobuf/port_def.inc" -#define PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fcompiler_2fcsharp_2fc_5fsharp_5ffeatures_2eproto PROTOC_EXPORT - -// Internal implementation detail -- do not use these members. -struct PROTOC_EXPORT TableStruct_google_2fprotobuf_2fcompiler_2fcsharp_2fc_5fsharp_5ffeatures_2eproto { - static const ::uint32_t offsets[]; -}; -extern "C" { -PROTOC_EXPORT extern const ::google::protobuf::internal::DescriptorTable descriptor_table_google_2fprotobuf_2fcompiler_2fcsharp_2fc_5fsharp_5ffeatures_2eproto; -} // extern "C" namespace pb { class CSharpFeatures; struct CSharpFeaturesGlobalsTypeInternal; @@ -62,6 +53,16 @@ inline ::absl::string_view GetFeatureSetDefaultsData<::pb::CSharpFeatures>() { } // namespace protobuf } // namespace google +#define PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fcompiler_2fcsharp_2fc_5fsharp_5ffeatures_2eproto PROTOC_EXPORT + +// Internal implementation detail -- do not use these members. +struct PROTOC_EXPORT TableStruct_google_2fprotobuf_2fcompiler_2fcsharp_2fc_5fsharp_5ffeatures_2eproto { + static const ::uint32_t offsets[]; +}; +extern "C" { +PROTOC_EXPORT extern const ::google::protobuf::internal::DescriptorTable descriptor_table_google_2fprotobuf_2fcompiler_2fcsharp_2fc_5fsharp_5ffeatures_2eproto; +} // extern "C" + namespace pb { // =================================================================== diff --git a/src/google/protobuf/compiler/java/java_features.pb.h b/src/google/protobuf/compiler/java/java_features.pb.h index dcc255fcc3a7e..9df21af2dab27 100644 --- a/src/google/protobuf/compiler/java/java_features.pb.h +++ b/src/google/protobuf/compiler/java/java_features.pb.h @@ -38,15 +38,6 @@ // Must be included last. #include "google/protobuf/port_def.inc" -#define PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fcompiler_2fjava_2fjava_5ffeatures_2eproto PROTOC_EXPORT - -// Internal implementation detail -- do not use these members. -struct PROTOC_EXPORT TableStruct_google_2fprotobuf_2fcompiler_2fjava_2fjava_5ffeatures_2eproto { - static const ::uint32_t offsets[]; -}; -extern "C" { -PROTOC_EXPORT extern const ::google::protobuf::internal::DescriptorTable descriptor_table_google_2fprotobuf_2fcompiler_2fjava_2fjava_5ffeatures_2eproto; -} // extern "C" namespace pb { enum JavaFeatures_NestInFileClassFeature_NestInFileClass : int; PROTOC_EXPORT extern const uint32_t JavaFeatures_NestInFileClassFeature_NestInFileClass_internal_data_[]; @@ -77,6 +68,16 @@ inline ::absl::string_view GetFeatureSetDefaultsData<::pb::JavaFeatures>() { } // namespace protobuf } // namespace google +#define PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fcompiler_2fjava_2fjava_5ffeatures_2eproto PROTOC_EXPORT + +// Internal implementation detail -- do not use these members. +struct PROTOC_EXPORT TableStruct_google_2fprotobuf_2fcompiler_2fjava_2fjava_5ffeatures_2eproto { + static const ::uint32_t offsets[]; +}; +extern "C" { +PROTOC_EXPORT extern const ::google::protobuf::internal::DescriptorTable descriptor_table_google_2fprotobuf_2fcompiler_2fjava_2fjava_5ffeatures_2eproto; +} // extern "C" + namespace pb { enum JavaFeatures_NestInFileClassFeature_NestInFileClass : int { JavaFeatures_NestInFileClassFeature_NestInFileClass_NEST_IN_FILE_CLASS_UNKNOWN = 0, diff --git a/src/google/protobuf/compiler/plugin.pb.h b/src/google/protobuf/compiler/plugin.pb.h index cb518237b5ab3..cce3ce8dae072 100644 --- a/src/google/protobuf/compiler/plugin.pb.h +++ b/src/google/protobuf/compiler/plugin.pb.h @@ -37,21 +37,6 @@ // Must be included last. #include "google/protobuf/port_def.inc" -#define PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fcompiler_2fplugin_2eproto PROTOC_EXPORT -#ifdef major -#undef major -#endif // major -#ifdef minor -#undef minor -#endif // minor - -// Internal implementation detail -- do not use these members. -struct PROTOC_EXPORT TableStruct_google_2fprotobuf_2fcompiler_2fplugin_2eproto { - static const ::uint32_t offsets[]; -}; -extern "C" { -PROTOC_EXPORT extern const ::google::protobuf::internal::DescriptorTable descriptor_table_google_2fprotobuf_2fcompiler_2fplugin_2eproto; -} // extern "C" namespace google { namespace protobuf { namespace compiler { @@ -76,6 +61,22 @@ internal::EnumTraitsT<::google::protobuf::compiler::CodeGeneratorResponse_Featur } // namespace protobuf } // namespace google +#define PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fcompiler_2fplugin_2eproto PROTOC_EXPORT +#ifdef major +#undef major +#endif // major +#ifdef minor +#undef minor +#endif // minor + +// Internal implementation detail -- do not use these members. +struct PROTOC_EXPORT TableStruct_google_2fprotobuf_2fcompiler_2fplugin_2eproto { + static const ::uint32_t offsets[]; +}; +extern "C" { +PROTOC_EXPORT extern const ::google::protobuf::internal::DescriptorTable descriptor_table_google_2fprotobuf_2fcompiler_2fplugin_2eproto; +} // extern "C" + namespace google { namespace protobuf { namespace compiler { diff --git a/src/google/protobuf/compiler/plugin_bootstrap.proto.fwd_internal.h b/src/google/protobuf/compiler/plugin_bootstrap.proto.fwd_internal.h new file mode 100644 index 0000000000000..41f6b406048b7 --- /dev/null +++ b/src/google/protobuf/compiler/plugin_bootstrap.proto.fwd_internal.h @@ -0,0 +1,110 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: third_party/protobuf/compiler/plugin.proto +// Protobuf C++ Version: 0.20260731.0 + +#ifndef third_5fparty_2fprotobuf_2fcompiler_2fplugin_2eproto_2eproto_2efwd_5finternal_2eh +#define third_5fparty_2fprotobuf_2fcompiler_2fplugin_2eproto_2eproto_2efwd_5finternal_2eh + +#include +#include +#include +#include + +// clang-format off +#include +#include "google/protobuf/arena.h" +#include "google/protobuf/message_lite.h" + + +// Must be included last. +#include "google/protobuf/port_def.inc" + +namespace google { +namespace protobuf { +namespace compiler { +enum CodeGeneratorResponse_Feature : int; +extern const uint32_t CodeGeneratorResponse_Feature_internal_data_[]; +class CodeGeneratorRequest; +struct CodeGeneratorRequestGlobalsTypeInternal; +#ifndef PROTOBUF_MESSAGE_GLOBALS +extern CodeGeneratorRequestGlobalsTypeInternal CodeGeneratorRequest_globals_; +extern const ::google::protobuf::internal::ClassDataFull CodeGeneratorRequest_class_data_; +#else +extern const CodeGeneratorRequestGlobalsTypeInternal CodeGeneratorRequest_globals_; +#endif // PROTOBUF_MESSAGE_GLOBALS +class CodeGeneratorResponse; +struct CodeGeneratorResponseGlobalsTypeInternal; +#ifndef PROTOBUF_MESSAGE_GLOBALS +extern CodeGeneratorResponseGlobalsTypeInternal CodeGeneratorResponse_globals_; +extern const ::google::protobuf::internal::ClassDataFull CodeGeneratorResponse_class_data_; +#else +extern const CodeGeneratorResponseGlobalsTypeInternal CodeGeneratorResponse_globals_; +#endif // PROTOBUF_MESSAGE_GLOBALS +class CodeGeneratorResponse_File; +struct CodeGeneratorResponse_FileGlobalsTypeInternal; +#ifndef PROTOBUF_MESSAGE_GLOBALS +extern CodeGeneratorResponse_FileGlobalsTypeInternal CodeGeneratorResponse_File_globals_; +extern const ::google::protobuf::internal::ClassDataFull CodeGeneratorResponse_File_class_data_; +#else +extern const CodeGeneratorResponse_FileGlobalsTypeInternal CodeGeneratorResponse_File_globals_; +#endif // PROTOBUF_MESSAGE_GLOBALS +class Version; +struct VersionGlobalsTypeInternal; +#ifndef PROTOBUF_MESSAGE_GLOBALS +extern VersionGlobalsTypeInternal Version_globals_; +extern const ::google::protobuf::internal::ClassDataFull Version_class_data_; +#else +extern const VersionGlobalsTypeInternal Version_globals_; +#endif // PROTOBUF_MESSAGE_GLOBALS +} // namespace compiler +template <> +internal::EnumTraitsT<::google::protobuf::compiler::CodeGeneratorResponse_Feature_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::compiler::CodeGeneratorResponse_Feature>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::compiler::CodeGeneratorRequest>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::compiler::CodeGeneratorRequest>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::compiler::CodeGeneratorRequest_globals_ +#ifndef PROTOBUF_MESSAGE_GLOBALS + , + &::google::protobuf::compiler::CodeGeneratorRequest_class_data_ +#endif // PROTOBUF_MESSAGE_GLOBALS + > + internal::MessageTraitsImpl::value<::google::protobuf::compiler::CodeGeneratorRequest>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::compiler::CodeGeneratorResponse>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::compiler::CodeGeneratorResponse>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::compiler::CodeGeneratorResponse_globals_ +#ifndef PROTOBUF_MESSAGE_GLOBALS + , + &::google::protobuf::compiler::CodeGeneratorResponse_class_data_ +#endif // PROTOBUF_MESSAGE_GLOBALS + > + internal::MessageTraitsImpl::value<::google::protobuf::compiler::CodeGeneratorResponse>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::compiler::CodeGeneratorResponse_File>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::compiler::CodeGeneratorResponse_File>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::compiler::CodeGeneratorResponse_File_globals_ +#ifndef PROTOBUF_MESSAGE_GLOBALS + , + &::google::protobuf::compiler::CodeGeneratorResponse_File_class_data_ +#endif // PROTOBUF_MESSAGE_GLOBALS + > + internal::MessageTraitsImpl::value<::google::protobuf::compiler::CodeGeneratorResponse_File>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::compiler::Version>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::compiler::Version>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::compiler::Version_globals_ +#ifndef PROTOBUF_MESSAGE_GLOBALS + , + &::google::protobuf::compiler::Version_class_data_ +#endif // PROTOBUF_MESSAGE_GLOBALS + > + internal::MessageTraitsImpl::value<::google::protobuf::compiler::Version>; +} // namespace protobuf +} // namespace google + +#include "google/protobuf/port_undef.inc" +// clang-format on + +#endif // third_5fparty_2fprotobuf_2fcompiler_2fplugin_2eproto_2eproto_2efwd_5finternal_2eh diff --git a/src/google/protobuf/cpp_features.pb.h b/src/google/protobuf/cpp_features.pb.h index 683e1d3b89a84..e88defed75257 100644 --- a/src/google/protobuf/cpp_features.pb.h +++ b/src/google/protobuf/cpp_features.pb.h @@ -37,15 +37,6 @@ // Must be included last. #include "google/protobuf/port_def.inc" -#define PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fcpp_5ffeatures_2eproto PROTOBUF_EXPORT - -// Internal implementation detail -- do not use these members. -struct PROTOBUF_EXPORT TableStruct_google_2fprotobuf_2fcpp_5ffeatures_2eproto { - static const ::uint32_t offsets[]; -}; -extern "C" { -PROTOBUF_EXPORT extern const ::google::protobuf::internal::DescriptorTable descriptor_table_google_2fprotobuf_2fcpp_5ffeatures_2eproto; -} // extern "C" namespace pb { enum CppFeatures_RepeatedType : int; PROTOBUF_EXPORT extern const uint32_t CppFeatures_RepeatedType_internal_data_[]; @@ -73,6 +64,16 @@ inline ::absl::string_view GetFeatureSetDefaultsData<::pb::CppFeatures>() { } // namespace protobuf } // namespace google +#define PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fcpp_5ffeatures_2eproto PROTOBUF_EXPORT + +// Internal implementation detail -- do not use these members. +struct PROTOBUF_EXPORT TableStruct_google_2fprotobuf_2fcpp_5ffeatures_2eproto { + static const ::uint32_t offsets[]; +}; +extern "C" { +PROTOBUF_EXPORT extern const ::google::protobuf::internal::DescriptorTable descriptor_table_google_2fprotobuf_2fcpp_5ffeatures_2eproto; +} // extern "C" + namespace pb { enum CppFeatures_StringType : int { CppFeatures_StringType_STRING_TYPE_UNKNOWN = 0, diff --git a/src/google/protobuf/cpp_features_bootstrap.proto.fwd_internal.h b/src/google/protobuf/cpp_features_bootstrap.proto.fwd_internal.h new file mode 100644 index 0000000000000..5f401a7999c5d --- /dev/null +++ b/src/google/protobuf/cpp_features_bootstrap.proto.fwd_internal.h @@ -0,0 +1,58 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: third_party/protobuf/cpp_features.proto +// Protobuf C++ Version: 0.20260828.0 + +#ifndef third_5fparty_2fprotobuf_2fcpp_5ffeatures_2eproto_2eproto_2efwd_5finternal_2eh +#define third_5fparty_2fprotobuf_2fcpp_5ffeatures_2eproto_2eproto_2efwd_5finternal_2eh + +#include +#include +#include +#include + +// clang-format off +#include +#include "google/protobuf/arena.h" +#include "google/protobuf/message_lite.h" + + +// Must be included last. +#include "google/protobuf/port_def.inc" + +namespace pb { +enum CppFeatures_RepeatedType : int; +extern const uint32_t CppFeatures_RepeatedType_internal_data_[]; +enum CppFeatures_StringType : int; +extern const uint32_t CppFeatures_StringType_internal_data_[]; +class CppFeatures; +struct CppFeaturesGlobalsTypeInternal; +extern const CppFeaturesGlobalsTypeInternal CppFeatures_globals_; +} // namespace pb +namespace google { +namespace protobuf { +template <> +internal::EnumTraitsT<::pb::CppFeatures_RepeatedType_internal_data_> + internal::EnumTraitsImpl::value<::pb::CppFeatures_RepeatedType>; +template <> +internal::EnumTraitsT<::pb::CppFeatures_StringType_internal_data_> + internal::EnumTraitsImpl::value<::pb::CppFeatures_StringType>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::pb::CppFeatures>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::pb::CppFeatures>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::pb::CppFeatures_globals_> + internal::MessageTraitsImpl::value<::pb::CppFeatures>; +namespace internal { +template <> +inline ::absl::string_view GetFeatureSetDefaultsData<::pb::CppFeatures>() { + static constexpr char kDefaults[] = "CicYhAciA8I+ACodCAEQAhgCIAMoATACOAJAAUgBwj4ICAEQAxgAIAEKJxjnByIDwj4AKh0IAhABGAEgAigBMAE4AkABSAHCPggIABADGAAgAQonGOgHIhMIARABGAEgAigBMAHCPgQIABADKg04AkABSAHCPgQYACABCicY6QciGQgBEAEYASACKAEwATgBQALCPgYIABABGAEqB0gBwj4CIAEKJxjqByIbCAEQARgBIAIoATABOANABEgCwj4GCAAQARgBKgXCPgIgAQonGI9OIh0IARABGAEgAigBMAE4A0AESALCPggIABABGAEgASoDwj4AIOYHKOoH"; + return kDefaults; +} +} // namespace internal +} // namespace protobuf +} // namespace google + +#include "google/protobuf/port_undef.inc" +// clang-format on + +#endif // third_5fparty_2fprotobuf_2fcpp_5ffeatures_2eproto_2eproto_2efwd_5finternal_2eh diff --git a/src/google/protobuf/cpp_file_options.pb.h b/src/google/protobuf/cpp_file_options.pb.h index b7ae9c48fe81b..ff2acb96ad0e8 100644 --- a/src/google/protobuf/cpp_file_options.pb.h +++ b/src/google/protobuf/cpp_file_options.pb.h @@ -36,15 +36,6 @@ // Must be included last. #include "google/protobuf/port_def.inc" -#define PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fcpp_5ffile_5foptions_2eproto PROTOBUF_EXPORT - -// Internal implementation detail -- do not use these members. -struct PROTOBUF_EXPORT TableStruct_google_2fprotobuf_2fcpp_5ffile_5foptions_2eproto { - static const ::uint32_t offsets[]; -}; -extern "C" { -PROTOBUF_EXPORT extern const ::google::protobuf::internal::DescriptorTable descriptor_table_google_2fprotobuf_2fcpp_5ffile_5foptions_2eproto; -} // extern "C" namespace pb { namespace file { class CppFileOptions; @@ -57,6 +48,16 @@ namespace protobuf { } // namespace protobuf } // namespace google +#define PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fcpp_5ffile_5foptions_2eproto PROTOBUF_EXPORT + +// Internal implementation detail -- do not use these members. +struct PROTOBUF_EXPORT TableStruct_google_2fprotobuf_2fcpp_5ffile_5foptions_2eproto { + static const ::uint32_t offsets[]; +}; +extern "C" { +PROTOBUF_EXPORT extern const ::google::protobuf::internal::DescriptorTable descriptor_table_google_2fprotobuf_2fcpp_5ffile_5foptions_2eproto; +} // extern "C" + namespace pb { namespace file { diff --git a/src/google/protobuf/cpp_file_options_bootstrap.proto.fwd_internal.h b/src/google/protobuf/cpp_file_options_bootstrap.proto.fwd_internal.h new file mode 100644 index 0000000000000..499d0ef6fb5ac --- /dev/null +++ b/src/google/protobuf/cpp_file_options_bootstrap.proto.fwd_internal.h @@ -0,0 +1,43 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: third_party/protobuf/cpp_file_options.proto +// Protobuf C++ Version: 0.20260828.0 + +#ifndef third_5fparty_2fprotobuf_2fcpp_5ffile_5foptions_2eproto_2eproto_2efwd_5finternal_2eh +#define third_5fparty_2fprotobuf_2fcpp_5ffile_5foptions_2eproto_2eproto_2efwd_5finternal_2eh + +#include +#include +#include +#include + +// clang-format off +#include +#include "google/protobuf/arena.h" +#include "google/protobuf/message_lite.h" + + +// Must be included last. +#include "google/protobuf/port_def.inc" + +namespace pb { +namespace file { +class CppFileOptions; +struct CppFileOptionsGlobalsTypeInternal; +extern const CppFileOptionsGlobalsTypeInternal CppFileOptions_globals_; +} // namespace file +} // namespace pb +namespace google { +namespace protobuf { +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::pb::file::CppFileOptions>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::pb::file::CppFileOptions>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::pb::file::CppFileOptions_globals_> + internal::MessageTraitsImpl::value<::pb::file::CppFileOptions>; +} // namespace protobuf +} // namespace google + +#include "google/protobuf/port_undef.inc" +// clang-format on + +#endif // third_5fparty_2fprotobuf_2fcpp_5ffile_5foptions_2eproto_2eproto_2efwd_5finternal_2eh diff --git a/src/google/protobuf/descriptor.pb.h b/src/google/protobuf/descriptor.pb.h index b0a1b19a5ef13..837313e1ce0d0 100644 --- a/src/google/protobuf/descriptor.pb.h +++ b/src/google/protobuf/descriptor.pb.h @@ -37,15 +37,6 @@ // Must be included last. #include "google/protobuf/port_def.inc" -#define PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fdescriptor_2eproto PROTOBUF_EXPORT - -// Internal implementation detail -- do not use these members. -struct PROTOBUF_EXPORT TableStruct_google_2fprotobuf_2fdescriptor_2eproto { - static const ::uint32_t offsets[]; -}; -extern "C" { -PROTOBUF_EXPORT extern const ::google::protobuf::internal::DescriptorTable descriptor_table_google_2fprotobuf_2fdescriptor_2eproto; -} // extern "C" namespace google { namespace protobuf { enum Edition : int; @@ -266,6 +257,16 @@ PROTOBUF_EXPORT void InitializeFileDescriptorDefaultInstancesSlow(); } // namespace protobuf } // namespace google +#define PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fdescriptor_2eproto PROTOBUF_EXPORT + +// Internal implementation detail -- do not use these members. +struct PROTOBUF_EXPORT TableStruct_google_2fprotobuf_2fdescriptor_2eproto { + static const ::uint32_t offsets[]; +}; +extern "C" { +PROTOBUF_EXPORT extern const ::google::protobuf::internal::DescriptorTable descriptor_table_google_2fprotobuf_2fdescriptor_2eproto; +} // extern "C" + namespace google { namespace protobuf { enum ExtensionRangeOptions_VerificationState : int { diff --git a/src/google/protobuf/descriptor_bootstrap.proto.fwd_internal.h b/src/google/protobuf/descriptor_bootstrap.proto.fwd_internal.h new file mode 100644 index 0000000000000..0c1db60c374b8 --- /dev/null +++ b/src/google/protobuf/descriptor_bootstrap.proto.fwd_internal.h @@ -0,0 +1,462 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: net/proto2/proto/descriptor.proto +// Protobuf C++ Version: 0.20260828.0 + +#ifndef net_2fproto2_2fproto_2fdescriptor_2eproto_2eproto_2efwd_5finternal_2eh +#define net_2fproto2_2fproto_2fdescriptor_2eproto_2eproto_2efwd_5finternal_2eh + +#include +#include +#include +#include + +// clang-format off +#include +#include "google/protobuf/arena.h" +#include "google/protobuf/message_lite.h" + + +// Must be included last. +#include "google/protobuf/port_def.inc" + +namespace google { +namespace protobuf { +enum Edition : int; +extern const uint32_t Edition_internal_data_[]; +enum ExtensionRangeOptions_VerificationState : int; +extern const uint32_t ExtensionRangeOptions_VerificationState_internal_data_[]; +enum FeatureSet_EnforceNamingStyle : int; +extern const uint32_t FeatureSet_EnforceNamingStyle_internal_data_[]; +enum FeatureSet_EnumType : int; +extern const uint32_t FeatureSet_EnumType_internal_data_[]; +enum FeatureSet_FieldPresence : int; +extern const uint32_t FeatureSet_FieldPresence_internal_data_[]; +enum FeatureSet_JsonFormat : int; +extern const uint32_t FeatureSet_JsonFormat_internal_data_[]; +enum FeatureSet_MessageEncoding : int; +extern const uint32_t FeatureSet_MessageEncoding_internal_data_[]; +enum FeatureSet_ProtoLimitsFeature_EnforceProtoLimits : int; +extern const uint32_t FeatureSet_ProtoLimitsFeature_EnforceProtoLimits_internal_data_[]; +enum FeatureSet_RepeatedFieldEncoding : int; +extern const uint32_t FeatureSet_RepeatedFieldEncoding_internal_data_[]; +enum FeatureSet_Utf8Validation : int; +extern const uint32_t FeatureSet_Utf8Validation_internal_data_[]; +enum FeatureSet_VisibilityFeature_DefaultSymbolVisibility : int; +extern const uint32_t FeatureSet_VisibilityFeature_DefaultSymbolVisibility_internal_data_[]; +enum FieldDescriptorProto_Label : int; +extern const uint32_t FieldDescriptorProto_Label_internal_data_[]; +enum FieldDescriptorProto_Type : int; +extern const uint32_t FieldDescriptorProto_Type_internal_data_[]; +enum FieldOptions_CType : int; +extern const uint32_t FieldOptions_CType_internal_data_[]; +enum FieldOptions_JSType : int; +extern const uint32_t FieldOptions_JSType_internal_data_[]; +enum FieldOptions_OptionRetention : int; +extern const uint32_t FieldOptions_OptionRetention_internal_data_[]; +enum FieldOptions_OptionTargetType : int; +extern const uint32_t FieldOptions_OptionTargetType_internal_data_[]; +enum FileOptions_OptimizeMode : int; +extern const uint32_t FileOptions_OptimizeMode_internal_data_[]; +enum GeneratedCodeInfo_Annotation_Semantic : int; +extern const uint32_t GeneratedCodeInfo_Annotation_Semantic_internal_data_[]; +enum MethodOptions_Format : int; +extern const uint32_t MethodOptions_Format_internal_data_[]; +enum MethodOptions_IdempotencyLevel : int; +extern const uint32_t MethodOptions_IdempotencyLevel_internal_data_[]; +enum MethodOptions_LogLevel : int; +extern const uint32_t MethodOptions_LogLevel_internal_data_[]; +enum MethodOptions_Protocol : int; +extern const uint32_t MethodOptions_Protocol_internal_data_[]; +enum MethodOptions_SecurityLevel : int; +extern const uint32_t MethodOptions_SecurityLevel_internal_data_[]; +enum MethodOptions_TokenUnit : int; +extern const uint32_t MethodOptions_TokenUnit_internal_data_[]; +enum SymbolVisibility : int; +extern const uint32_t SymbolVisibility_internal_data_[]; +class DescriptorProto; +struct DescriptorProtoGlobalsTypeInternal; +extern DescriptorProtoGlobalsTypeInternal DescriptorProto_globals_; +class DescriptorProto_ExtensionRange; +struct DescriptorProto_ExtensionRangeGlobalsTypeInternal; +extern DescriptorProto_ExtensionRangeGlobalsTypeInternal DescriptorProto_ExtensionRange_globals_; +class DescriptorProto_ReservedRange; +struct DescriptorProto_ReservedRangeGlobalsTypeInternal; +extern DescriptorProto_ReservedRangeGlobalsTypeInternal DescriptorProto_ReservedRange_globals_; +class EnumDescriptorProto; +struct EnumDescriptorProtoGlobalsTypeInternal; +extern EnumDescriptorProtoGlobalsTypeInternal EnumDescriptorProto_globals_; +class EnumDescriptorProto_EnumReservedRange; +struct EnumDescriptorProto_EnumReservedRangeGlobalsTypeInternal; +extern EnumDescriptorProto_EnumReservedRangeGlobalsTypeInternal EnumDescriptorProto_EnumReservedRange_globals_; +class EnumOptions; +struct EnumOptionsGlobalsTypeInternal; +extern EnumOptionsGlobalsTypeInternal EnumOptions_globals_; +class EnumValueDescriptorProto; +struct EnumValueDescriptorProtoGlobalsTypeInternal; +extern EnumValueDescriptorProtoGlobalsTypeInternal EnumValueDescriptorProto_globals_; +class EnumValueOptions; +struct EnumValueOptionsGlobalsTypeInternal; +extern EnumValueOptionsGlobalsTypeInternal EnumValueOptions_globals_; +class ExtensionRangeOptions; +struct ExtensionRangeOptionsGlobalsTypeInternal; +extern ExtensionRangeOptionsGlobalsTypeInternal ExtensionRangeOptions_globals_; +class ExtensionRangeOptions_Declaration; +struct ExtensionRangeOptions_DeclarationGlobalsTypeInternal; +extern ExtensionRangeOptions_DeclarationGlobalsTypeInternal ExtensionRangeOptions_Declaration_globals_; +class ExtensionRangeOptions_Metadata; +struct ExtensionRangeOptions_MetadataGlobalsTypeInternal; +extern ExtensionRangeOptions_MetadataGlobalsTypeInternal ExtensionRangeOptions_Metadata_globals_; +class FeatureSet; +struct FeatureSetGlobalsTypeInternal; +extern FeatureSetGlobalsTypeInternal FeatureSet_globals_; +class FeatureSetDefaults; +struct FeatureSetDefaultsGlobalsTypeInternal; +extern FeatureSetDefaultsGlobalsTypeInternal FeatureSetDefaults_globals_; +class FeatureSetDefaults_FeatureSetEditionDefault; +struct FeatureSetDefaults_FeatureSetEditionDefaultGlobalsTypeInternal; +extern FeatureSetDefaults_FeatureSetEditionDefaultGlobalsTypeInternal FeatureSetDefaults_FeatureSetEditionDefault_globals_; +class FeatureSet_ProtoLimitsFeature; +struct FeatureSet_ProtoLimitsFeatureGlobalsTypeInternal; +extern FeatureSet_ProtoLimitsFeatureGlobalsTypeInternal FeatureSet_ProtoLimitsFeature_globals_; +class FeatureSet_VisibilityFeature; +struct FeatureSet_VisibilityFeatureGlobalsTypeInternal; +extern FeatureSet_VisibilityFeatureGlobalsTypeInternal FeatureSet_VisibilityFeature_globals_; +class FieldDescriptorProto; +struct FieldDescriptorProtoGlobalsTypeInternal; +extern FieldDescriptorProtoGlobalsTypeInternal FieldDescriptorProto_globals_; +class FieldOptions; +struct FieldOptionsGlobalsTypeInternal; +extern FieldOptionsGlobalsTypeInternal FieldOptions_globals_; +class FieldOptions_EditionDefault; +struct FieldOptions_EditionDefaultGlobalsTypeInternal; +extern FieldOptions_EditionDefaultGlobalsTypeInternal FieldOptions_EditionDefault_globals_; +class FieldOptions_FeatureSupport; +struct FieldOptions_FeatureSupportGlobalsTypeInternal; +extern FieldOptions_FeatureSupportGlobalsTypeInternal FieldOptions_FeatureSupport_globals_; +class FieldOptions_UpgradedOption; +struct FieldOptions_UpgradedOptionGlobalsTypeInternal; +extern FieldOptions_UpgradedOptionGlobalsTypeInternal FieldOptions_UpgradedOption_globals_; +class FileDescriptorProto; +struct FileDescriptorProtoGlobalsTypeInternal; +extern FileDescriptorProtoGlobalsTypeInternal FileDescriptorProto_globals_; +class FileDescriptorSet; +struct FileDescriptorSetGlobalsTypeInternal; +extern FileDescriptorSetGlobalsTypeInternal FileDescriptorSet_globals_; +class FileOptions; +struct FileOptionsGlobalsTypeInternal; +extern FileOptionsGlobalsTypeInternal FileOptions_globals_; +class GeneratedCodeInfo; +struct GeneratedCodeInfoGlobalsTypeInternal; +extern GeneratedCodeInfoGlobalsTypeInternal GeneratedCodeInfo_globals_; +class GeneratedCodeInfo_Annotation; +struct GeneratedCodeInfo_AnnotationGlobalsTypeInternal; +extern GeneratedCodeInfo_AnnotationGlobalsTypeInternal GeneratedCodeInfo_Annotation_globals_; +class MessageOptions; +struct MessageOptionsGlobalsTypeInternal; +extern MessageOptionsGlobalsTypeInternal MessageOptions_globals_; +class MethodDescriptorProto; +struct MethodDescriptorProtoGlobalsTypeInternal; +extern MethodDescriptorProtoGlobalsTypeInternal MethodDescriptorProto_globals_; +class MethodOptions; +struct MethodOptionsGlobalsTypeInternal; +extern MethodOptionsGlobalsTypeInternal MethodOptions_globals_; +class OneofDescriptorProto; +struct OneofDescriptorProtoGlobalsTypeInternal; +extern OneofDescriptorProtoGlobalsTypeInternal OneofDescriptorProto_globals_; +class OneofOptions; +struct OneofOptionsGlobalsTypeInternal; +extern OneofOptionsGlobalsTypeInternal OneofOptions_globals_; +class ServiceDescriptorProto; +struct ServiceDescriptorProtoGlobalsTypeInternal; +extern ServiceDescriptorProtoGlobalsTypeInternal ServiceDescriptorProto_globals_; +class ServiceOptions; +struct ServiceOptionsGlobalsTypeInternal; +extern ServiceOptionsGlobalsTypeInternal ServiceOptions_globals_; +class SourceCodeInfo; +struct SourceCodeInfoGlobalsTypeInternal; +extern SourceCodeInfoGlobalsTypeInternal SourceCodeInfo_globals_; +class SourceCodeInfo_Location; +struct SourceCodeInfo_LocationGlobalsTypeInternal; +extern SourceCodeInfo_LocationGlobalsTypeInternal SourceCodeInfo_Location_globals_; +class UninterpretedOption; +struct UninterpretedOptionGlobalsTypeInternal; +extern UninterpretedOptionGlobalsTypeInternal UninterpretedOption_globals_; +class UninterpretedOption_NamePart; +struct UninterpretedOption_NamePartGlobalsTypeInternal; +extern UninterpretedOption_NamePartGlobalsTypeInternal UninterpretedOption_NamePart_globals_; +template <> +internal::EnumTraitsT<::google::protobuf::Edition_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::Edition>; +template <> +internal::EnumTraitsT<::google::protobuf::ExtensionRangeOptions_VerificationState_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::ExtensionRangeOptions_VerificationState>; +template <> +internal::EnumTraitsT<::google::protobuf::FeatureSet_EnforceNamingStyle_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::FeatureSet_EnforceNamingStyle>; +template <> +internal::EnumTraitsT<::google::protobuf::FeatureSet_EnumType_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::FeatureSet_EnumType>; +template <> +internal::EnumTraitsT<::google::protobuf::FeatureSet_FieldPresence_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::FeatureSet_FieldPresence>; +template <> +internal::EnumTraitsT<::google::protobuf::FeatureSet_JsonFormat_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::FeatureSet_JsonFormat>; +template <> +internal::EnumTraitsT<::google::protobuf::FeatureSet_MessageEncoding_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::FeatureSet_MessageEncoding>; +template <> +internal::EnumTraitsT<::google::protobuf::FeatureSet_ProtoLimitsFeature_EnforceProtoLimits_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::FeatureSet_ProtoLimitsFeature_EnforceProtoLimits>; +template <> +internal::EnumTraitsT<::google::protobuf::FeatureSet_RepeatedFieldEncoding_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::FeatureSet_RepeatedFieldEncoding>; +template <> +internal::EnumTraitsT<::google::protobuf::FeatureSet_Utf8Validation_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::FeatureSet_Utf8Validation>; +template <> +internal::EnumTraitsT<::google::protobuf::FeatureSet_VisibilityFeature_DefaultSymbolVisibility_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::FeatureSet_VisibilityFeature_DefaultSymbolVisibility>; +template <> +internal::EnumTraitsT<::google::protobuf::FieldDescriptorProto_Label_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::FieldDescriptorProto_Label>; +template <> +internal::EnumTraitsT<::google::protobuf::FieldDescriptorProto_Type_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::FieldDescriptorProto_Type>; +template <> +internal::EnumTraitsT<::google::protobuf::FieldOptions_CType_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::FieldOptions_CType>; +template <> +internal::EnumTraitsT<::google::protobuf::FieldOptions_JSType_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::FieldOptions_JSType>; +template <> +internal::EnumTraitsT<::google::protobuf::FieldOptions_OptionRetention_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::FieldOptions_OptionRetention>; +template <> +internal::EnumTraitsT<::google::protobuf::FieldOptions_OptionTargetType_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::FieldOptions_OptionTargetType>; +template <> +internal::EnumTraitsT<::google::protobuf::FileOptions_OptimizeMode_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::FileOptions_OptimizeMode>; +template <> +internal::EnumTraitsT<::google::protobuf::GeneratedCodeInfo_Annotation_Semantic_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::GeneratedCodeInfo_Annotation_Semantic>; +template <> +internal::EnumTraitsT<::google::protobuf::MethodOptions_Format_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::MethodOptions_Format>; +template <> +internal::EnumTraitsT<::google::protobuf::MethodOptions_IdempotencyLevel_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::MethodOptions_IdempotencyLevel>; +template <> +internal::EnumTraitsT<::google::protobuf::MethodOptions_LogLevel_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::MethodOptions_LogLevel>; +template <> +internal::EnumTraitsT<::google::protobuf::MethodOptions_Protocol_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::MethodOptions_Protocol>; +template <> +internal::EnumTraitsT<::google::protobuf::MethodOptions_SecurityLevel_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::MethodOptions_SecurityLevel>; +template <> +internal::EnumTraitsT<::google::protobuf::MethodOptions_TokenUnit_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::MethodOptions_TokenUnit>; +template <> +internal::EnumTraitsT<::google::protobuf::SymbolVisibility_internal_data_> + internal::EnumTraitsImpl::value<::google::protobuf::SymbolVisibility>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::DescriptorProto>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::DescriptorProto>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::DescriptorProto_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::DescriptorProto>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::DescriptorProto_ExtensionRange>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::DescriptorProto_ExtensionRange>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::DescriptorProto_ExtensionRange_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::DescriptorProto_ExtensionRange>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::DescriptorProto_ReservedRange>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::DescriptorProto_ReservedRange>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::DescriptorProto_ReservedRange_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::DescriptorProto_ReservedRange>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::EnumDescriptorProto>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::EnumDescriptorProto>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::EnumDescriptorProto_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::EnumDescriptorProto>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::EnumDescriptorProto_EnumReservedRange>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::EnumDescriptorProto_EnumReservedRange>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::EnumDescriptorProto_EnumReservedRange_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::EnumDescriptorProto_EnumReservedRange>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::EnumOptions>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::EnumOptions>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::EnumOptions_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::EnumOptions>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::EnumValueDescriptorProto>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::EnumValueDescriptorProto>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::EnumValueDescriptorProto_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::EnumValueDescriptorProto>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::EnumValueOptions>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::EnumValueOptions>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::EnumValueOptions_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::EnumValueOptions>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::ExtensionRangeOptions>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::ExtensionRangeOptions>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::ExtensionRangeOptions_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::ExtensionRangeOptions>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::ExtensionRangeOptions_Declaration>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::ExtensionRangeOptions_Declaration>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::ExtensionRangeOptions_Declaration_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::ExtensionRangeOptions_Declaration>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::ExtensionRangeOptions_Metadata>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::ExtensionRangeOptions_Metadata>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::ExtensionRangeOptions_Metadata_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::ExtensionRangeOptions_Metadata>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::FeatureSet>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::FeatureSet>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::FeatureSet_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::FeatureSet>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::FeatureSetDefaults>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::FeatureSetDefaults>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::FeatureSetDefaults_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::FeatureSetDefaults>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::FeatureSet_ProtoLimitsFeature>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::FeatureSet_ProtoLimitsFeature>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::FeatureSet_ProtoLimitsFeature_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::FeatureSet_ProtoLimitsFeature>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::FeatureSet_VisibilityFeature>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::FeatureSet_VisibilityFeature>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::FeatureSet_VisibilityFeature_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::FeatureSet_VisibilityFeature>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::FieldDescriptorProto>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::FieldDescriptorProto>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::FieldDescriptorProto_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::FieldDescriptorProto>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::FieldOptions>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::FieldOptions>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::FieldOptions_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::FieldOptions>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::FieldOptions_EditionDefault>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::FieldOptions_EditionDefault>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::FieldOptions_EditionDefault_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::FieldOptions_EditionDefault>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::FieldOptions_FeatureSupport>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::FieldOptions_FeatureSupport>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::FieldOptions_FeatureSupport_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::FieldOptions_FeatureSupport>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::FieldOptions_UpgradedOption>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::FieldOptions_UpgradedOption>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::FieldOptions_UpgradedOption_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::FieldOptions_UpgradedOption>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::FileDescriptorProto>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::FileDescriptorProto>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::FileDescriptorProto_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::FileDescriptorProto>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::FileDescriptorSet>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::FileDescriptorSet>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::FileDescriptorSet_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::FileDescriptorSet>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::FileOptions>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::FileOptions>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::FileOptions_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::FileOptions>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::GeneratedCodeInfo>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::GeneratedCodeInfo>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::GeneratedCodeInfo_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::GeneratedCodeInfo>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::GeneratedCodeInfo_Annotation>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::GeneratedCodeInfo_Annotation>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::GeneratedCodeInfo_Annotation_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::GeneratedCodeInfo_Annotation>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::MessageOptions>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::MessageOptions>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::MessageOptions_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::MessageOptions>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::MethodDescriptorProto>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::MethodDescriptorProto>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::MethodDescriptorProto_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::MethodDescriptorProto>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::MethodOptions>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::MethodOptions>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::MethodOptions_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::MethodOptions>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::OneofDescriptorProto>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::OneofDescriptorProto>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::OneofDescriptorProto_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::OneofDescriptorProto>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::OneofOptions>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::OneofOptions>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::OneofOptions_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::OneofOptions>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::ServiceDescriptorProto>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::ServiceDescriptorProto>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::ServiceDescriptorProto_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::ServiceDescriptorProto>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::ServiceOptions>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::ServiceOptions>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::ServiceOptions_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::ServiceOptions>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::SourceCodeInfo>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::SourceCodeInfo>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::SourceCodeInfo_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::SourceCodeInfo>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::SourceCodeInfo_Location>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::SourceCodeInfo_Location>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::SourceCodeInfo_Location_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::SourceCodeInfo_Location>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::UninterpretedOption>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::UninterpretedOption>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::UninterpretedOption_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::UninterpretedOption>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::google::protobuf::UninterpretedOption_NamePart>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::google::protobuf::UninterpretedOption_NamePart>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::google::protobuf::UninterpretedOption_NamePart_globals_> + internal::MessageTraitsImpl::value<::google::protobuf::UninterpretedOption_NamePart>; +namespace internal { +#if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES) +PROTOBUF_EXPORT void InitializeFileDescriptorDefaultInstancesSlow(); +#endif // !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES) +} // namespace internal +} // namespace protobuf +} // namespace google + +#include "google/protobuf/port_undef.inc" +// clang-format on + +#endif // net_2fproto2_2fproto_2fdescriptor_2eproto_2eproto_2efwd_5finternal_2eh diff --git a/src/google/protobuf/internal_options_bootstrap.proto.fwd_internal.h b/src/google/protobuf/internal_options_bootstrap.proto.fwd_internal.h new file mode 100644 index 0000000000000..eac68e06a4dd7 --- /dev/null +++ b/src/google/protobuf/internal_options_bootstrap.proto.fwd_internal.h @@ -0,0 +1,70 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: third_party/protobuf/internal_options.proto +// Protobuf C++ Version: 0.20260828.0 + +#ifndef third_5fparty_2fprotobuf_2finternal_5foptions_2eproto_2eproto_2efwd_5finternal_2eh +#define third_5fparty_2fprotobuf_2finternal_5foptions_2eproto_2eproto_2efwd_5finternal_2eh + +#include +#include +#include +#include + +// clang-format off +#include +#include "google/protobuf/arena.h" +#include "google/protobuf/message_lite.h" + + +// Must be included last. +#include "google/protobuf/port_def.inc" + +namespace pb { +enum InternalOptionsForce_Enum : int; +extern const uint32_t InternalOptionsForce_Enum_internal_data_[]; +class InternalFieldOptions; +struct InternalFieldOptionsGlobalsTypeInternal; +extern const InternalFieldOptionsGlobalsTypeInternal InternalFieldOptions_globals_; +class InternalFieldOptionsCpp; +struct InternalFieldOptionsCppGlobalsTypeInternal; +extern const InternalFieldOptionsCppGlobalsTypeInternal InternalFieldOptionsCpp_globals_; +class InternalFieldOptionsCpp_MicroString; +struct InternalFieldOptionsCpp_MicroStringGlobalsTypeInternal; +extern const InternalFieldOptionsCpp_MicroStringGlobalsTypeInternal InternalFieldOptionsCpp_MicroString_globals_; +class InternalOptionsForce; +struct InternalOptionsForceGlobalsTypeInternal; +extern const InternalOptionsForceGlobalsTypeInternal InternalOptionsForce_globals_; +} // namespace pb +namespace google { +namespace protobuf { +template <> +internal::EnumTraitsT<::pb::InternalOptionsForce_Enum_internal_data_> + internal::EnumTraitsImpl::value<::pb::InternalOptionsForce_Enum>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::pb::InternalFieldOptions>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::pb::InternalFieldOptions>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::pb::InternalFieldOptions_globals_> + internal::MessageTraitsImpl::value<::pb::InternalFieldOptions>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::pb::InternalFieldOptionsCpp>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::pb::InternalFieldOptionsCpp>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::pb::InternalFieldOptionsCpp_globals_> + internal::MessageTraitsImpl::value<::pb::InternalFieldOptionsCpp>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::pb::InternalFieldOptionsCpp_MicroString>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::pb::InternalFieldOptionsCpp_MicroString>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::pb::InternalFieldOptionsCpp_MicroString_globals_> + internal::MessageTraitsImpl::value<::pb::InternalFieldOptionsCpp_MicroString>; +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::pb::InternalOptionsForce>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::pb::InternalOptionsForce>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::pb::InternalOptionsForce_globals_> + internal::MessageTraitsImpl::value<::pb::InternalOptionsForce>; +} // namespace protobuf +} // namespace google + +#include "google/protobuf/port_undef.inc" +// clang-format on + +#endif // third_5fparty_2fprotobuf_2finternal_5foptions_2eproto_2eproto_2efwd_5finternal_2eh diff --git a/src/google/protobuf/json_enumvalue_options.pb.h b/src/google/protobuf/json_enumvalue_options.pb.h index 2c25bb4e523e7..222d0cd4762de 100644 --- a/src/google/protobuf/json_enumvalue_options.pb.h +++ b/src/google/protobuf/json_enumvalue_options.pb.h @@ -36,15 +36,6 @@ // Must be included last. #include "google/protobuf/port_def.inc" -#define PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fjson_5fenumvalue_5foptions_2eproto PROTOBUF_EXPORT - -// Internal implementation detail -- do not use these members. -struct PROTOBUF_EXPORT TableStruct_google_2fprotobuf_2fjson_5fenumvalue_5foptions_2eproto { - static const ::uint32_t offsets[]; -}; -extern "C" { -PROTOBUF_EXPORT extern const ::google::protobuf::internal::DescriptorTable descriptor_table_google_2fprotobuf_2fjson_5fenumvalue_5foptions_2eproto; -} // extern "C" namespace pb { namespace enumvalue { class JsonEnumValueOptions; @@ -57,6 +48,16 @@ namespace protobuf { } // namespace protobuf } // namespace google +#define PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fjson_5fenumvalue_5foptions_2eproto PROTOBUF_EXPORT + +// Internal implementation detail -- do not use these members. +struct PROTOBUF_EXPORT TableStruct_google_2fprotobuf_2fjson_5fenumvalue_5foptions_2eproto { + static const ::uint32_t offsets[]; +}; +extern "C" { +PROTOBUF_EXPORT extern const ::google::protobuf::internal::DescriptorTable descriptor_table_google_2fprotobuf_2fjson_5fenumvalue_5foptions_2eproto; +} // extern "C" + namespace pb { namespace enumvalue { diff --git a/src/google/protobuf/json_enumvalue_options_bootstrap.proto.fwd_internal.h b/src/google/protobuf/json_enumvalue_options_bootstrap.proto.fwd_internal.h new file mode 100644 index 0000000000000..0348c5f27abc7 --- /dev/null +++ b/src/google/protobuf/json_enumvalue_options_bootstrap.proto.fwd_internal.h @@ -0,0 +1,43 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: third_party/protobuf/json_enumvalue_options.proto +// Protobuf C++ Version: 0.20260828.0 + +#ifndef third_5fparty_2fprotobuf_2fjson_5fenumvalue_5foptions_2eproto_2eproto_2efwd_5finternal_2eh +#define third_5fparty_2fprotobuf_2fjson_5fenumvalue_5foptions_2eproto_2eproto_2efwd_5finternal_2eh + +#include +#include +#include +#include + +// clang-format off +#include +#include "google/protobuf/arena.h" +#include "google/protobuf/message_lite.h" + + +// Must be included last. +#include "google/protobuf/port_def.inc" + +namespace pb { +namespace enumvalue { +class JsonEnumValueOptions; +struct JsonEnumValueOptionsGlobalsTypeInternal; +extern const JsonEnumValueOptionsGlobalsTypeInternal JsonEnumValueOptions_globals_; +} // namespace enumvalue +} // namespace pb +namespace google { +namespace protobuf { +extern template void* PROTOBUF_NONNULL Arena::DefaultConstruct<::pb::enumvalue::JsonEnumValueOptions>(Arena* PROTOBUF_NULLABLE); +extern template void* PROTOBUF_NONNULL Arena::CopyConstruct<::pb::enumvalue::JsonEnumValueOptions>(Arena* PROTOBUF_NULLABLE, const void* PROTOBUF_NONNULL); +template <> +internal::GeneratedMessageTraitsT<&::pb::enumvalue::JsonEnumValueOptions_globals_> + internal::MessageTraitsImpl::value<::pb::enumvalue::JsonEnumValueOptions>; +} // namespace protobuf +} // namespace google + +#include "google/protobuf/port_undef.inc" +// clang-format on + +#endif // third_5fparty_2fprotobuf_2fjson_5fenumvalue_5foptions_2eproto_2eproto_2efwd_5finternal_2eh