Change LazyField to use a flat char array when the unparsed payload is small. This array can easily be allocated in the arena avoiding separate heap usage of the Cord.

Also, we remove the ArenaDtor and register the Cord for destruction on demand.
This avoids registering the ArenaDtor on every message with a lazy field.

PiperOrigin-RevId: 620857434
pull/16361/head
Protobuf Team Bot 12 months ago committed by Copybara-Service
parent f0f7be2090
commit 43fb62e846
  1. 7
      src/google/protobuf/compiler/cpp/message.cc
  2. 3
      src/google/protobuf/compiler/java/java_features.pb.h
  3. 16
      src/google/protobuf/compiler/plugin.pb.cc
  4. 12
      src/google/protobuf/compiler/plugin.pb.h
  5. 3
      src/google/protobuf/cpp_features.pb.h
  6. 120
      src/google/protobuf/descriptor.pb.cc
  7. 96
      src/google/protobuf/descriptor.pb.h
  8. 4
      src/google/protobuf/extension_set.cc
  9. 3
      src/google/protobuf/extension_set.h
  10. 1
      src/google/protobuf/generated_message_reflection.cc

@ -1473,7 +1473,8 @@ void MessageGenerator::GenerateImplDefinition(io::Printer* p) {
inline explicit Impl_($pbi$::InternalVisibility visibility,
::$proto_ns$::Arena* arena);
inline explicit Impl_($pbi$::InternalVisibility visibility,
::$proto_ns$::Arena* arena, const Impl_& from);
::$proto_ns$::Arena* arena, const Impl_& from,
const $classname$& from_msg);
//~ Members assumed to align to 8 bytes:
$extension_set$;
$tracker$;
@ -2993,7 +2994,7 @@ void MessageGenerator::GenerateArenaEnabledCopyConstructor(io::Printer* p) {
R"cc(
inline PROTOBUF_NDEBUG_INLINE $classname$::Impl_::Impl_(
$pbi$::InternalVisibility visibility, ::$proto_ns$::Arena* arena,
const Impl_& from)
const Impl_& from, const $classtype$& from_msg)
//~
$init$ {}
)cc");
@ -3003,7 +3004,7 @@ void MessageGenerator::GenerateArenaEnabledCopyConstructor(io::Printer* p) {
auto copy_construct_impl = [&] {
if (!HasSimpleBaseClass(descriptor_, options_)) {
p->Emit(R"cc(
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
)cc");
}
};

@ -291,7 +291,8 @@ class PROTOC_EXPORT JavaFeatures final : public ::google::protobuf::Message
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const JavaFeatures& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
bool legacy_closed_enum_;

@ -308,7 +308,7 @@ Version::Version(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE Version::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::compiler::Version& from_msg)
: _has_bits_{from._has_bits_},
_cached_size_{0},
suffix_(arena, from.suffix_) {}
@ -321,7 +321,7 @@ Version::Version(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
::memcpy(reinterpret_cast<char *>(&_impl_) +
offsetof(Impl_, major_),
reinterpret_cast<const char *>(&from._impl_) +
@ -621,7 +621,7 @@ CodeGeneratorRequest::CodeGeneratorRequest(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE CodeGeneratorRequest::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::compiler::CodeGeneratorRequest& from_msg)
: _has_bits_{from._has_bits_},
_cached_size_{0},
file_to_generate_{visibility, arena, from.file_to_generate_},
@ -637,7 +637,7 @@ CodeGeneratorRequest::CodeGeneratorRequest(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
::uint32_t cached_has_bits = _impl_._has_bits_[0];
_impl_.compiler_version_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::compiler::Version>(
arena, *from._impl_.compiler_version_)
@ -969,7 +969,7 @@ CodeGeneratorResponse_File::CodeGeneratorResponse_File(::google::protobuf::Arena
}
inline PROTOBUF_NDEBUG_INLINE CodeGeneratorResponse_File::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::compiler::CodeGeneratorResponse_File& from_msg)
: _has_bits_{from._has_bits_},
_cached_size_{0},
name_(arena, from.name_),
@ -984,7 +984,7 @@ CodeGeneratorResponse_File::CodeGeneratorResponse_File(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
::uint32_t cached_has_bits = _impl_._has_bits_[0];
_impl_.generated_code_info_ = (cached_has_bits & 0x00000008u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::GeneratedCodeInfo>(
arena, *from._impl_.generated_code_info_)
@ -1287,7 +1287,7 @@ CodeGeneratorResponse::CodeGeneratorResponse(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE CodeGeneratorResponse::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::compiler::CodeGeneratorResponse& from_msg)
: _has_bits_{from._has_bits_},
_cached_size_{0},
file_{visibility, arena, from.file_},
@ -1301,7 +1301,7 @@ CodeGeneratorResponse::CodeGeneratorResponse(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
::memcpy(reinterpret_cast<char *>(&_impl_) +
offsetof(Impl_, supported_features_),
reinterpret_cast<const char *>(&from._impl_) +

@ -318,7 +318,8 @@ class PROTOC_EXPORT Version final : public ::google::protobuf::Message
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const Version& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::internal::ArenaStringPtr suffix_;
@ -551,7 +552,8 @@ class PROTOC_EXPORT CodeGeneratorResponse_File final : public ::google::protobuf
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const CodeGeneratorResponse_File& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::internal::ArenaStringPtr name_;
@ -807,7 +809,8 @@ class PROTOC_EXPORT CodeGeneratorResponse final : public ::google::protobuf::Mes
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const CodeGeneratorResponse& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::RepeatedPtrField< ::google::protobuf::compiler::CodeGeneratorResponse_File > file_;
@ -1070,7 +1073,8 @@ class PROTOC_EXPORT CodeGeneratorRequest final : public ::google::protobuf::Mess
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const CodeGeneratorRequest& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::RepeatedPtrField<std::string> file_to_generate_;

@ -293,7 +293,8 @@ class PROTOBUF_EXPORT CppFeatures final : public ::google::protobuf::Message
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const CppFeatures& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
bool legacy_closed_enum_;

@ -2344,7 +2344,7 @@ FileDescriptorSet::FileDescriptorSet(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE FileDescriptorSet::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::FileDescriptorSet& from_msg)
: file_{visibility, arena, from.file_},
_cached_size_{0} {}
@ -2356,7 +2356,7 @@ FileDescriptorSet::FileDescriptorSet(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
// @@protoc_insertion_point(copy_constructor:google.protobuf.FileDescriptorSet)
}
@ -2540,7 +2540,7 @@ FileDescriptorProto::FileDescriptorProto(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE FileDescriptorProto::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::FileDescriptorProto& from_msg)
: _has_bits_{from._has_bits_},
_cached_size_{0},
dependency_{visibility, arena, from.dependency_},
@ -2562,7 +2562,7 @@ FileDescriptorProto::FileDescriptorProto(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
::uint32_t cached_has_bits = _impl_._has_bits_[0];
_impl_.options_ = (cached_has_bits & 0x00000008u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FileOptions>(
arena, *from._impl_.options_)
@ -3136,7 +3136,7 @@ DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(::google::protobu
}
inline PROTOBUF_NDEBUG_INLINE DescriptorProto_ExtensionRange::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::DescriptorProto_ExtensionRange& from_msg)
: _has_bits_{from._has_bits_},
_cached_size_{0} {}
@ -3148,7 +3148,7 @@ DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
::uint32_t cached_has_bits = _impl_._has_bits_[0];
_impl_.options_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::ExtensionRangeOptions>(
arena, *from._impl_.options_)
@ -3651,7 +3651,7 @@ DescriptorProto::DescriptorProto(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE DescriptorProto::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::DescriptorProto& from_msg)
: _has_bits_{from._has_bits_},
_cached_size_{0},
field_{visibility, arena, from.field_},
@ -3672,7 +3672,7 @@ DescriptorProto::DescriptorProto(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
::uint32_t cached_has_bits = _impl_._has_bits_[0];
_impl_.options_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::MessageOptions>(
arena, *from._impl_.options_)
@ -4150,7 +4150,7 @@ ExtensionRangeOptions_Declaration::ExtensionRangeOptions_Declaration(::google::p
}
inline PROTOBUF_NDEBUG_INLINE ExtensionRangeOptions_Declaration::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::ExtensionRangeOptions_Declaration& from_msg)
: _has_bits_{from._has_bits_},
_cached_size_{0},
full_name_(arena, from.full_name_),
@ -4164,7 +4164,7 @@ ExtensionRangeOptions_Declaration::ExtensionRangeOptions_Declaration(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
::memcpy(reinterpret_cast<char *>(&_impl_) +
offsetof(Impl_, number_),
reinterpret_cast<const char *>(&from._impl_) +
@ -4488,7 +4488,7 @@ ExtensionRangeOptions::ExtensionRangeOptions(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE ExtensionRangeOptions::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::ExtensionRangeOptions& from_msg)
: _extensions_{visibility, arena},
_has_bits_{from._has_bits_},
_cached_size_{0},
@ -4503,7 +4503,7 @@ ExtensionRangeOptions::ExtensionRangeOptions(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
_impl_._extensions_.MergeFrom(this, from._impl_._extensions_);
::uint32_t cached_has_bits = _impl_._has_bits_[0];
_impl_.features_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(
@ -4820,7 +4820,7 @@ FieldDescriptorProto::FieldDescriptorProto(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE FieldDescriptorProto::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::FieldDescriptorProto& from_msg)
: _has_bits_{from._has_bits_},
_cached_size_{0},
name_(arena, from.name_),
@ -4837,7 +4837,7 @@ FieldDescriptorProto::FieldDescriptorProto(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
::uint32_t cached_has_bits = _impl_._has_bits_[0];
_impl_.options_ = (cached_has_bits & 0x00000020u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FieldOptions>(
arena, *from._impl_.options_)
@ -5349,7 +5349,7 @@ OneofDescriptorProto::OneofDescriptorProto(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE OneofDescriptorProto::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::OneofDescriptorProto& from_msg)
: _has_bits_{from._has_bits_},
_cached_size_{0},
name_(arena, from.name_) {}
@ -5362,7 +5362,7 @@ OneofDescriptorProto::OneofDescriptorProto(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
::uint32_t cached_has_bits = _impl_._has_bits_[0];
_impl_.options_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::OneofOptions>(
arena, *from._impl_.options_)
@ -5834,7 +5834,7 @@ EnumDescriptorProto::EnumDescriptorProto(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE EnumDescriptorProto::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::EnumDescriptorProto& from_msg)
: _has_bits_{from._has_bits_},
_cached_size_{0},
value_{visibility, arena, from.value_},
@ -5850,7 +5850,7 @@ EnumDescriptorProto::EnumDescriptorProto(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
::uint32_t cached_has_bits = _impl_._has_bits_[0];
_impl_.options_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::EnumOptions>(
arena, *from._impl_.options_)
@ -6180,7 +6180,7 @@ EnumValueDescriptorProto::EnumValueDescriptorProto(::google::protobuf::Arena* ar
}
inline PROTOBUF_NDEBUG_INLINE EnumValueDescriptorProto::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::EnumValueDescriptorProto& from_msg)
: _has_bits_{from._has_bits_},
_cached_size_{0},
name_(arena, from.name_) {}
@ -6193,7 +6193,7 @@ EnumValueDescriptorProto::EnumValueDescriptorProto(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
::uint32_t cached_has_bits = _impl_._has_bits_[0];
_impl_.options_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::EnumValueOptions>(
arena, *from._impl_.options_)
@ -6473,7 +6473,7 @@ ServiceDescriptorProto::ServiceDescriptorProto(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE ServiceDescriptorProto::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::ServiceDescriptorProto& from_msg)
: _has_bits_{from._has_bits_},
_cached_size_{0},
method_{visibility, arena, from.method_},
@ -6487,7 +6487,7 @@ ServiceDescriptorProto::ServiceDescriptorProto(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
::uint32_t cached_has_bits = _impl_._has_bits_[0];
_impl_.options_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::ServiceOptions>(
arena, *from._impl_.options_)
@ -6762,7 +6762,7 @@ MethodDescriptorProto::MethodDescriptorProto(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE MethodDescriptorProto::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::MethodDescriptorProto& from_msg)
: _has_bits_{from._has_bits_},
_cached_size_{0},
name_(arena, from.name_),
@ -6777,7 +6777,7 @@ MethodDescriptorProto::MethodDescriptorProto(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
::uint32_t cached_has_bits = _impl_._has_bits_[0];
_impl_.options_ = (cached_has_bits & 0x00000008u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::MethodOptions>(
arena, *from._impl_.options_)
@ -7146,7 +7146,7 @@ FileOptions::FileOptions(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE FileOptions::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::FileOptions& from_msg)
: _extensions_{visibility, arena},
_has_bits_{from._has_bits_},
_cached_size_{0},
@ -7170,7 +7170,7 @@ FileOptions::FileOptions(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
_impl_._extensions_.MergeFrom(this, from._impl_._extensions_);
::uint32_t cached_has_bits = _impl_._has_bits_[0];
_impl_.features_ = (cached_has_bits & 0x00000400u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(
@ -7965,7 +7965,7 @@ MessageOptions::MessageOptions(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE MessageOptions::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::MessageOptions& from_msg)
: _extensions_{visibility, arena},
_has_bits_{from._has_bits_},
_cached_size_{0},
@ -7979,7 +7979,7 @@ MessageOptions::MessageOptions(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
_impl_._extensions_.MergeFrom(this, from._impl_._extensions_);
::uint32_t cached_has_bits = _impl_._has_bits_[0];
_impl_.features_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(
@ -8356,7 +8356,7 @@ FieldOptions_EditionDefault::FieldOptions_EditionDefault(::google::protobuf::Are
}
inline PROTOBUF_NDEBUG_INLINE FieldOptions_EditionDefault::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::FieldOptions_EditionDefault& from_msg)
: _has_bits_{from._has_bits_},
_cached_size_{0},
value_(arena, from.value_) {}
@ -8369,7 +8369,7 @@ FieldOptions_EditionDefault::FieldOptions_EditionDefault(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
_impl_.edition_ = from._impl_.edition_;
// @@protoc_insertion_point(copy_constructor:google.protobuf.FieldOptions.EditionDefault)
@ -8596,7 +8596,7 @@ FieldOptions::FieldOptions(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE FieldOptions::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::FieldOptions& from_msg)
: _extensions_{visibility, arena},
_has_bits_{from._has_bits_},
_cached_size_{0},
@ -8612,7 +8612,7 @@ FieldOptions::FieldOptions(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
_impl_._extensions_.MergeFrom(this, from._impl_._extensions_);
::uint32_t cached_has_bits = _impl_._has_bits_[0];
_impl_.features_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(
@ -9147,7 +9147,7 @@ OneofOptions::OneofOptions(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE OneofOptions::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::OneofOptions& from_msg)
: _extensions_{visibility, arena},
_has_bits_{from._has_bits_},
_cached_size_{0},
@ -9161,7 +9161,7 @@ OneofOptions::OneofOptions(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
_impl_._extensions_.MergeFrom(this, from._impl_._extensions_);
::uint32_t cached_has_bits = _impl_._has_bits_[0];
_impl_.features_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(
@ -9412,7 +9412,7 @@ EnumOptions::EnumOptions(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE EnumOptions::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::EnumOptions& from_msg)
: _extensions_{visibility, arena},
_has_bits_{from._has_bits_},
_cached_size_{0},
@ -9426,7 +9426,7 @@ EnumOptions::EnumOptions(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
_impl_._extensions_.MergeFrom(this, from._impl_._extensions_);
::uint32_t cached_has_bits = _impl_._has_bits_[0];
_impl_.features_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(
@ -9763,7 +9763,7 @@ EnumValueOptions::EnumValueOptions(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE EnumValueOptions::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::EnumValueOptions& from_msg)
: _extensions_{visibility, arena},
_has_bits_{from._has_bits_},
_cached_size_{0},
@ -9777,7 +9777,7 @@ EnumValueOptions::EnumValueOptions(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
_impl_._extensions_.MergeFrom(this, from._impl_._extensions_);
::uint32_t cached_has_bits = _impl_._has_bits_[0];
_impl_.features_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(
@ -10096,7 +10096,7 @@ ServiceOptions::ServiceOptions(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE ServiceOptions::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::ServiceOptions& from_msg)
: _extensions_{visibility, arena},
_has_bits_{from._has_bits_},
_cached_size_{0},
@ -10110,7 +10110,7 @@ ServiceOptions::ServiceOptions(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
_impl_._extensions_.MergeFrom(this, from._impl_._extensions_);
::uint32_t cached_has_bits = _impl_._has_bits_[0];
_impl_.features_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(
@ -10398,7 +10398,7 @@ MethodOptions::MethodOptions(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE MethodOptions::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::MethodOptions& from_msg)
: _extensions_{visibility, arena},
_has_bits_{from._has_bits_},
_cached_size_{0},
@ -10412,7 +10412,7 @@ MethodOptions::MethodOptions(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
_impl_._extensions_.MergeFrom(this, from._impl_._extensions_);
::uint32_t cached_has_bits = _impl_._has_bits_[0];
_impl_.features_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(
@ -10739,7 +10739,7 @@ UninterpretedOption_NamePart::UninterpretedOption_NamePart(::google::protobuf::A
}
inline PROTOBUF_NDEBUG_INLINE UninterpretedOption_NamePart::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::UninterpretedOption_NamePart& from_msg)
: _has_bits_{from._has_bits_},
_cached_size_{0},
name_part_(arena, from.name_part_) {}
@ -10752,7 +10752,7 @@ UninterpretedOption_NamePart::UninterpretedOption_NamePart(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
_impl_.is_extension_ = from._impl_.is_extension_;
// @@protoc_insertion_point(copy_constructor:google.protobuf.UninterpretedOption.NamePart)
@ -10981,7 +10981,7 @@ UninterpretedOption::UninterpretedOption(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE UninterpretedOption::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::UninterpretedOption& from_msg)
: _has_bits_{from._has_bits_},
_cached_size_{0},
name_{visibility, arena, from.name_},
@ -10997,7 +10997,7 @@ UninterpretedOption::UninterpretedOption(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
::memcpy(reinterpret_cast<char *>(&_impl_) +
offsetof(Impl_, positive_int_value_),
reinterpret_cast<const char *>(&from._impl_) +
@ -11375,7 +11375,7 @@ FeatureSet::FeatureSet(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE FeatureSet::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::FeatureSet& from_msg)
: _extensions_{visibility, arena},
_has_bits_{from._has_bits_},
_cached_size_{0} {}
@ -11388,7 +11388,7 @@ FeatureSet::FeatureSet(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
_impl_._extensions_.MergeFrom(this, from._impl_._extensions_);
::memcpy(reinterpret_cast<char *>(&_impl_) +
offsetof(Impl_, field_presence_),
@ -11731,7 +11731,7 @@ FeatureSetDefaults_FeatureSetEditionDefault::FeatureSetDefaults_FeatureSetEditio
}
inline PROTOBUF_NDEBUG_INLINE FeatureSetDefaults_FeatureSetEditionDefault::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault& from_msg)
: _has_bits_{from._has_bits_},
_cached_size_{0} {}
@ -11743,7 +11743,7 @@ FeatureSetDefaults_FeatureSetEditionDefault::FeatureSetDefaults_FeatureSetEditio
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
::uint32_t cached_has_bits = _impl_._has_bits_[0];
_impl_.features_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(
arena, *from._impl_.features_)
@ -11987,7 +11987,7 @@ FeatureSetDefaults::FeatureSetDefaults(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE FeatureSetDefaults::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::FeatureSetDefaults& from_msg)
: _has_bits_{from._has_bits_},
_cached_size_{0},
defaults_{visibility, arena, from.defaults_} {}
@ -12000,7 +12000,7 @@ FeatureSetDefaults::FeatureSetDefaults(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
::memcpy(reinterpret_cast<char *>(&_impl_) +
offsetof(Impl_, minimum_edition_),
reinterpret_cast<const char *>(&from._impl_) +
@ -12262,7 +12262,7 @@ SourceCodeInfo_Location::SourceCodeInfo_Location(::google::protobuf::Arena* aren
}
inline PROTOBUF_NDEBUG_INLINE SourceCodeInfo_Location::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::SourceCodeInfo_Location& from_msg)
: _has_bits_{from._has_bits_},
_cached_size_{0},
path_{visibility, arena, from.path_},
@ -12281,7 +12281,7 @@ SourceCodeInfo_Location::SourceCodeInfo_Location(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
// @@protoc_insertion_point(copy_constructor:google.protobuf.SourceCodeInfo.Location)
}
@ -12605,7 +12605,7 @@ SourceCodeInfo::SourceCodeInfo(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE SourceCodeInfo::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::SourceCodeInfo& from_msg)
: location_{visibility, arena, from.location_},
_cached_size_{0} {}
@ -12617,7 +12617,7 @@ SourceCodeInfo::SourceCodeInfo(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
// @@protoc_insertion_point(copy_constructor:google.protobuf.SourceCodeInfo)
}
@ -12800,7 +12800,7 @@ GeneratedCodeInfo_Annotation::GeneratedCodeInfo_Annotation(::google::protobuf::A
}
inline PROTOBUF_NDEBUG_INLINE GeneratedCodeInfo_Annotation::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::GeneratedCodeInfo_Annotation& from_msg)
: _has_bits_{from._has_bits_},
_cached_size_{0},
path_{visibility, arena, from.path_},
@ -12815,7 +12815,7 @@ GeneratedCodeInfo_Annotation::GeneratedCodeInfo_Annotation(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
::memcpy(reinterpret_cast<char *>(&_impl_) +
offsetof(Impl_, begin_),
reinterpret_cast<const char *>(&from._impl_) +
@ -13139,7 +13139,7 @@ GeneratedCodeInfo::GeneratedCodeInfo(::google::protobuf::Arena* arena)
}
inline PROTOBUF_NDEBUG_INLINE GeneratedCodeInfo::Impl_::Impl_(
::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
const Impl_& from)
const Impl_& from, const ::google::protobuf::GeneratedCodeInfo& from_msg)
: annotation_{visibility, arena, from.annotation_},
_cached_size_{0} {}
@ -13151,7 +13151,7 @@ GeneratedCodeInfo::GeneratedCodeInfo(
(void)_this;
_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
from._internal_metadata_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
// @@protoc_insertion_point(copy_constructor:google.protobuf.GeneratedCodeInfo)
}

@ -876,7 +876,8 @@ class PROTOBUF_EXPORT UninterpretedOption_NamePart final : public ::google::prot
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const UninterpretedOption_NamePart& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::internal::ArenaStringPtr name_part_;
@ -1140,7 +1141,8 @@ class PROTOBUF_EXPORT SourceCodeInfo_Location final : public ::google::protobuf:
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const SourceCodeInfo_Location& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::RepeatedField<::int32_t> path_;
@ -1399,7 +1401,8 @@ class PROTOBUF_EXPORT GeneratedCodeInfo_Annotation final : public ::google::prot
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const GeneratedCodeInfo_Annotation& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::RepeatedField<::int32_t> path_;
@ -1594,7 +1597,8 @@ class PROTOBUF_EXPORT FieldOptions_EditionDefault final : public ::google::proto
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const FieldOptions_EditionDefault& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::internal::ArenaStringPtr value_;
@ -2127,7 +2131,8 @@ class PROTOBUF_EXPORT FeatureSet final : public ::google::protobuf::Message
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const FeatureSet& from_msg);
::google::protobuf::internal::ExtensionSet _extensions_;
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
@ -2365,7 +2370,8 @@ class PROTOBUF_EXPORT ExtensionRangeOptions_Declaration final : public ::google:
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const ExtensionRangeOptions_Declaration& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::internal::ArenaStringPtr full_name_;
@ -2553,7 +2559,8 @@ class PROTOBUF_EXPORT EnumDescriptorProto_EnumReservedRange final : public ::goo
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const EnumDescriptorProto_EnumReservedRange& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
::int32_t start_;
@ -2738,7 +2745,8 @@ class PROTOBUF_EXPORT DescriptorProto_ReservedRange final : public ::google::pro
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const DescriptorProto_ReservedRange& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
::int32_t start_;
@ -3008,7 +3016,8 @@ class PROTOBUF_EXPORT UninterpretedOption final : public ::google::protobuf::Mes
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const UninterpretedOption& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption_NamePart > name_;
@ -3193,7 +3202,8 @@ class PROTOBUF_EXPORT SourceCodeInfo final : public ::google::protobuf::Message
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const SourceCodeInfo& from_msg);
::google::protobuf::RepeatedPtrField< ::google::protobuf::SourceCodeInfo_Location > location_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
PROTOBUF_TSAN_DECLARE_MEMBER
@ -3371,7 +3381,8 @@ class PROTOBUF_EXPORT GeneratedCodeInfo final : public ::google::protobuf::Messa
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const GeneratedCodeInfo& from_msg);
::google::protobuf::RepeatedPtrField< ::google::protobuf::GeneratedCodeInfo_Annotation > annotation_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
PROTOBUF_TSAN_DECLARE_MEMBER
@ -3558,7 +3569,8 @@ class PROTOBUF_EXPORT FeatureSetDefaults_FeatureSetEditionDefault final : public
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const FeatureSetDefaults_FeatureSetEditionDefault& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::FeatureSet* features_;
@ -3944,7 +3956,8 @@ class PROTOBUF_EXPORT ServiceOptions final : public ::google::protobuf::Message
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const ServiceOptions& from_msg);
::google::protobuf::internal::ExtensionSet _extensions_;
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
@ -4320,7 +4333,8 @@ class PROTOBUF_EXPORT OneofOptions final : public ::google::protobuf::Message
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const OneofOptions& from_msg);
::google::protobuf::internal::ExtensionSet _extensions_;
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
@ -4739,7 +4753,8 @@ class PROTOBUF_EXPORT MethodOptions final : public ::google::protobuf::Message
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const MethodOptions& from_msg);
::google::protobuf::internal::ExtensionSet _extensions_;
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
@ -5176,7 +5191,8 @@ class PROTOBUF_EXPORT MessageOptions final : public ::google::protobuf::Message
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const MessageOptions& from_msg);
::google::protobuf::internal::ExtensionSet _extensions_;
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
@ -5864,7 +5880,8 @@ class PROTOBUF_EXPORT FileOptions final : public ::google::protobuf::Message
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const FileOptions& from_msg);
::google::protobuf::internal::ExtensionSet _extensions_;
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
@ -6492,7 +6509,8 @@ class PROTOBUF_EXPORT FieldOptions final : public ::google::protobuf::Message
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const FieldOptions& from_msg);
::google::protobuf::internal::ExtensionSet _extensions_;
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
@ -6708,7 +6726,8 @@ class PROTOBUF_EXPORT FeatureSetDefaults final : public ::google::protobuf::Mess
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const FeatureSetDefaults& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::RepeatedPtrField< ::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault > defaults_;
@ -7133,7 +7152,8 @@ class PROTOBUF_EXPORT ExtensionRangeOptions final : public ::google::protobuf::M
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const ExtensionRangeOptions& from_msg);
::google::protobuf::internal::ExtensionSet _extensions_;
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
@ -7534,7 +7554,8 @@ class PROTOBUF_EXPORT EnumValueOptions final : public ::google::protobuf::Messag
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const EnumValueOptions& from_msg);
::google::protobuf::internal::ExtensionSet _extensions_;
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
@ -7947,7 +7968,8 @@ class PROTOBUF_EXPORT EnumOptions final : public ::google::protobuf::Message
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const EnumOptions& from_msg);
::google::protobuf::internal::ExtensionSet _extensions_;
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
@ -8146,7 +8168,8 @@ class PROTOBUF_EXPORT OneofDescriptorProto final : public ::google::protobuf::Me
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const OneofDescriptorProto& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::internal::ArenaStringPtr name_;
@ -8401,7 +8424,8 @@ class PROTOBUF_EXPORT MethodDescriptorProto final : public ::google::protobuf::M
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const MethodDescriptorProto& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::internal::ArenaStringPtr name_;
@ -8787,7 +8811,8 @@ class PROTOBUF_EXPORT FieldDescriptorProto final : public ::google::protobuf::Me
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const FieldDescriptorProto& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::internal::ArenaStringPtr name_;
@ -9003,7 +9028,8 @@ class PROTOBUF_EXPORT EnumValueDescriptorProto final : public ::google::protobuf
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const EnumValueDescriptorProto& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::internal::ArenaStringPtr name_;
@ -9205,7 +9231,8 @@ class PROTOBUF_EXPORT DescriptorProto_ExtensionRange final : public ::google::pr
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const DescriptorProto_ExtensionRange& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::ExtensionRangeOptions* options_;
@ -9419,7 +9446,8 @@ class PROTOBUF_EXPORT ServiceDescriptorProto final : public ::google::protobuf::
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const ServiceDescriptorProto& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::RepeatedPtrField< ::google::protobuf::MethodDescriptorProto > method_;
@ -9681,7 +9709,8 @@ class PROTOBUF_EXPORT EnumDescriptorProto final : public ::google::protobuf::Mes
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const EnumDescriptorProto& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumValueDescriptorProto > value_;
@ -10036,7 +10065,8 @@ class PROTOBUF_EXPORT DescriptorProto final : public ::google::protobuf::Message
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const DescriptorProto& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto > field_;
@ -10442,7 +10472,8 @@ class PROTOBUF_EXPORT FileDescriptorProto final : public ::google::protobuf::Mes
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const FileDescriptorProto& from_msg);
::google::protobuf::internal::HasBits<1> _has_bits_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
::google::protobuf::RepeatedPtrField<std::string> dependency_;
@ -10632,7 +10663,8 @@ class PROTOBUF_EXPORT FileDescriptorSet final : public ::google::protobuf::Messa
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena);
inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
::google::protobuf::Arena* arena, const Impl_& from);
::google::protobuf::Arena* arena, const Impl_& from,
const FileDescriptorSet& from_msg);
::google::protobuf::RepeatedPtrField< ::google::protobuf::FileDescriptorProto > file_;
mutable ::google::protobuf::internal::CachedSize _cached_size_;
PROTOBUF_TSAN_DECLARE_MEMBER

@ -1035,7 +1035,7 @@ void ExtensionSet::InternalExtensionMergeFrom(const MessageLite* extendee,
other_extension.lazymessage_value->New(arena);
extension->lazymessage_value->MergeFrom(
GetPrototypeForLazyMessage(extendee, number),
*other_extension.lazymessage_value, arena);
*other_extension.lazymessage_value, arena, other_arena);
} else {
extension->is_lazy = false;
extension->message_value =
@ -1051,7 +1051,7 @@ void ExtensionSet::InternalExtensionMergeFrom(const MessageLite* extendee,
if (extension->is_lazy) {
extension->lazymessage_value->MergeFrom(
GetPrototypeForLazyMessage(extendee, number),
*other_extension.lazymessage_value, arena);
*other_extension.lazymessage_value, arena, other_arena);
} else {
extension->message_value->CheckTypeAndMergeFrom(
other_extension.lazymessage_value->GetMessage(

@ -609,7 +609,8 @@ class PROTOBUF_EXPORT ExtensionSet {
virtual size_t SpaceUsedLong() const = 0;
virtual void MergeFrom(const MessageLite* prototype,
const LazyMessageExtension& other, Arena* arena) = 0;
const LazyMessageExtension& other, Arena* arena,
Arena* other_arena) = 0;
virtual void MergeFromMessage(const MessageLite& msg, Arena* arena) = 0;
virtual void Clear() = 0;

@ -3048,7 +3048,6 @@ void Reflection::ClearOneof(Message* message,
default:
break;
}
} else {
}
*MutableOneofCase(message, oneof_descriptor) = 0;

Loading…
Cancel
Save