diff --git a/src/google/protobuf/any.pb.cc b/src/google/protobuf/any.pb.cc index 4058400779..91d947581c 100644 --- a/src/google/protobuf/any.pb.cc +++ b/src/google/protobuf/any.pb.cc @@ -288,10 +288,10 @@ PROTOBUF_NOINLINE void Any::Clear() { cached_has_bits = _impl_._has_bits_[0]; if (cached_has_bits & 0x00000003u) { if (cached_has_bits & 0x00000001u) { - _impl_.type_url_.ClearToEmpty(); + _impl_.type_url_.ClearNonDefaultToEmpty(); } if (cached_has_bits & 0x00000002u) { - _impl_.value_.ClearToEmpty(); + _impl_.value_.ClearNonDefaultToEmpty(); } } _impl_._has_bits_.Clear(); @@ -389,11 +389,19 @@ void Any::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::pro if (cached_has_bits & 0x00000001u) { if (!from._internal_type_url().empty()) { _this->_internal_set_type_url(from._internal_type_url()); + } else { + if (_this->_impl_.type_url_.IsDefault()) { + _this->_internal_set_type_url(""); + } } } if (cached_has_bits & 0x00000002u) { if (!from._internal_value().empty()) { _this->_internal_set_value(from._internal_value()); + } else { + if (_this->_impl_.value_.IsDefault()) { + _this->_internal_set_value(""); + } } } } diff --git a/src/google/protobuf/api.pb.cc b/src/google/protobuf/api.pb.cc index 45f2f1cfdd..2d0ab9ec2b 100644 --- a/src/google/protobuf/api.pb.cc +++ b/src/google/protobuf/api.pb.cc @@ -497,10 +497,10 @@ PROTOBUF_NOINLINE void Api::Clear() { cached_has_bits = _impl_._has_bits_[0]; if (cached_has_bits & 0x00000007u) { if (cached_has_bits & 0x00000001u) { - _impl_.name_.ClearToEmpty(); + _impl_.name_.ClearNonDefaultToEmpty(); } if (cached_has_bits & 0x00000002u) { - _impl_.version_.ClearToEmpty(); + _impl_.version_.ClearNonDefaultToEmpty(); } if (cached_has_bits & 0x00000004u) { ABSL_DCHECK(_impl_.source_context_ != nullptr); @@ -697,11 +697,19 @@ void Api::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::pro if (cached_has_bits & 0x00000001u) { if (!from._internal_name().empty()) { _this->_internal_set_name(from._internal_name()); + } else { + if (_this->_impl_.name_.IsDefault()) { + _this->_internal_set_name(""); + } } } if (cached_has_bits & 0x00000002u) { if (!from._internal_version().empty()) { _this->_internal_set_version(from._internal_version()); + } else { + if (_this->_impl_.version_.IsDefault()) { + _this->_internal_set_version(""); + } } } if (cached_has_bits & 0x00000004u) { @@ -981,13 +989,13 @@ PROTOBUF_NOINLINE void Method::Clear() { cached_has_bits = _impl_._has_bits_[0]; if (cached_has_bits & 0x00000007u) { if (cached_has_bits & 0x00000001u) { - _impl_.name_.ClearToEmpty(); + _impl_.name_.ClearNonDefaultToEmpty(); } if (cached_has_bits & 0x00000002u) { - _impl_.request_type_url_.ClearToEmpty(); + _impl_.request_type_url_.ClearNonDefaultToEmpty(); } if (cached_has_bits & 0x00000004u) { - _impl_.response_type_url_.ClearToEmpty(); + _impl_.response_type_url_.ClearNonDefaultToEmpty(); } } if (cached_has_bits & 0x00000038u) { @@ -1177,16 +1185,28 @@ void Method::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google:: if (cached_has_bits & 0x00000001u) { if (!from._internal_name().empty()) { _this->_internal_set_name(from._internal_name()); + } else { + if (_this->_impl_.name_.IsDefault()) { + _this->_internal_set_name(""); + } } } if (cached_has_bits & 0x00000002u) { if (!from._internal_request_type_url().empty()) { _this->_internal_set_request_type_url(from._internal_request_type_url()); + } else { + if (_this->_impl_.request_type_url_.IsDefault()) { + _this->_internal_set_request_type_url(""); + } } } if (cached_has_bits & 0x00000004u) { if (!from._internal_response_type_url().empty()) { _this->_internal_set_response_type_url(from._internal_response_type_url()); + } else { + if (_this->_impl_.response_type_url_.IsDefault()) { + _this->_internal_set_response_type_url(""); + } } } if (cached_has_bits & 0x00000008u) { @@ -1399,10 +1419,10 @@ PROTOBUF_NOINLINE void Mixin::Clear() { cached_has_bits = _impl_._has_bits_[0]; if (cached_has_bits & 0x00000003u) { if (cached_has_bits & 0x00000001u) { - _impl_.name_.ClearToEmpty(); + _impl_.name_.ClearNonDefaultToEmpty(); } if (cached_has_bits & 0x00000002u) { - _impl_.root_.ClearToEmpty(); + _impl_.root_.ClearNonDefaultToEmpty(); } } _impl_._has_bits_.Clear(); @@ -1502,11 +1522,19 @@ void Mixin::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::p if (cached_has_bits & 0x00000001u) { if (!from._internal_name().empty()) { _this->_internal_set_name(from._internal_name()); + } else { + if (_this->_impl_.name_.IsDefault()) { + _this->_internal_set_name(""); + } } } if (cached_has_bits & 0x00000002u) { if (!from._internal_root().empty()) { _this->_internal_set_root(from._internal_root()); + } else { + if (_this->_impl_.root_.IsDefault()) { + _this->_internal_set_root(""); + } } } } diff --git a/src/google/protobuf/source_context.pb.cc b/src/google/protobuf/source_context.pb.cc index 4fe1961a37..7ea33899cb 100644 --- a/src/google/protobuf/source_context.pb.cc +++ b/src/google/protobuf/source_context.pb.cc @@ -259,7 +259,7 @@ PROTOBUF_NOINLINE void SourceContext::Clear() { cached_has_bits = _impl_._has_bits_[0]; if (cached_has_bits & 0x00000001u) { - _impl_.file_name_.ClearToEmpty(); + _impl_.file_name_.ClearNonDefaultToEmpty(); } _impl_._has_bits_.Clear(); _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); @@ -339,6 +339,10 @@ void SourceContext::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::g if (cached_has_bits & 0x00000001u) { if (!from._internal_file_name().empty()) { _this->_internal_set_file_name(from._internal_file_name()); + } else { + if (_this->_impl_.file_name_.IsDefault()) { + _this->_internal_set_file_name(""); + } } } _this->_impl_._has_bits_[0] |= cached_has_bits; diff --git a/src/google/protobuf/type.pb.cc b/src/google/protobuf/type.pb.cc index cd1c7c1993..56314d9905 100644 --- a/src/google/protobuf/type.pb.cc +++ b/src/google/protobuf/type.pb.cc @@ -652,10 +652,10 @@ PROTOBUF_NOINLINE void Type::Clear() { cached_has_bits = _impl_._has_bits_[0]; if (cached_has_bits & 0x00000007u) { if (cached_has_bits & 0x00000001u) { - _impl_.name_.ClearToEmpty(); + _impl_.name_.ClearNonDefaultToEmpty(); } if (cached_has_bits & 0x00000002u) { - _impl_.edition_.ClearToEmpty(); + _impl_.edition_.ClearNonDefaultToEmpty(); } if (cached_has_bits & 0x00000004u) { ABSL_DCHECK(_impl_.source_context_ != nullptr); @@ -850,11 +850,19 @@ void Type::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::pr if (cached_has_bits & 0x00000001u) { if (!from._internal_name().empty()) { _this->_internal_set_name(from._internal_name()); + } else { + if (_this->_impl_.name_.IsDefault()) { + _this->_internal_set_name(""); + } } } if (cached_has_bits & 0x00000002u) { if (!from._internal_edition().empty()) { _this->_internal_set_edition(from._internal_edition()); + } else { + if (_this->_impl_.edition_.IsDefault()) { + _this->_internal_set_edition(""); + } } } if (cached_has_bits & 0x00000004u) { @@ -1157,16 +1165,16 @@ PROTOBUF_NOINLINE void Field::Clear() { cached_has_bits = _impl_._has_bits_[0]; if (cached_has_bits & 0x0000000fu) { if (cached_has_bits & 0x00000001u) { - _impl_.name_.ClearToEmpty(); + _impl_.name_.ClearNonDefaultToEmpty(); } if (cached_has_bits & 0x00000002u) { - _impl_.type_url_.ClearToEmpty(); + _impl_.type_url_.ClearNonDefaultToEmpty(); } if (cached_has_bits & 0x00000004u) { - _impl_.json_name_.ClearToEmpty(); + _impl_.json_name_.ClearNonDefaultToEmpty(); } if (cached_has_bits & 0x00000008u) { - _impl_.default_value_.ClearToEmpty(); + _impl_.default_value_.ClearNonDefaultToEmpty(); } } if (cached_has_bits & 0x000000f0u) { @@ -1409,21 +1417,37 @@ void Field::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::p if (cached_has_bits & 0x00000001u) { if (!from._internal_name().empty()) { _this->_internal_set_name(from._internal_name()); + } else { + if (_this->_impl_.name_.IsDefault()) { + _this->_internal_set_name(""); + } } } if (cached_has_bits & 0x00000002u) { if (!from._internal_type_url().empty()) { _this->_internal_set_type_url(from._internal_type_url()); + } else { + if (_this->_impl_.type_url_.IsDefault()) { + _this->_internal_set_type_url(""); + } } } if (cached_has_bits & 0x00000004u) { if (!from._internal_json_name().empty()) { _this->_internal_set_json_name(from._internal_json_name()); + } else { + if (_this->_impl_.json_name_.IsDefault()) { + _this->_internal_set_json_name(""); + } } } if (cached_has_bits & 0x00000008u) { if (!from._internal_default_value().empty()) { _this->_internal_set_default_value(from._internal_default_value()); + } else { + if (_this->_impl_.default_value_.IsDefault()) { + _this->_internal_set_default_value(""); + } } } if (cached_has_bits & 0x00000010u) { @@ -1714,10 +1738,10 @@ PROTOBUF_NOINLINE void Enum::Clear() { cached_has_bits = _impl_._has_bits_[0]; if (cached_has_bits & 0x00000007u) { if (cached_has_bits & 0x00000001u) { - _impl_.name_.ClearToEmpty(); + _impl_.name_.ClearNonDefaultToEmpty(); } if (cached_has_bits & 0x00000002u) { - _impl_.edition_.ClearToEmpty(); + _impl_.edition_.ClearNonDefaultToEmpty(); } if (cached_has_bits & 0x00000004u) { ABSL_DCHECK(_impl_.source_context_ != nullptr); @@ -1894,11 +1918,19 @@ void Enum::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::pr if (cached_has_bits & 0x00000001u) { if (!from._internal_name().empty()) { _this->_internal_set_name(from._internal_name()); + } else { + if (_this->_impl_.name_.IsDefault()) { + _this->_internal_set_name(""); + } } } if (cached_has_bits & 0x00000002u) { if (!from._internal_edition().empty()) { _this->_internal_set_edition(from._internal_edition()); + } else { + if (_this->_impl_.edition_.IsDefault()) { + _this->_internal_set_edition(""); + } } } if (cached_has_bits & 0x00000004u) { @@ -2129,7 +2161,7 @@ PROTOBUF_NOINLINE void EnumValue::Clear() { _impl_.options_.Clear(); cached_has_bits = _impl_._has_bits_[0]; if (cached_has_bits & 0x00000001u) { - _impl_.name_.ClearToEmpty(); + _impl_.name_.ClearNonDefaultToEmpty(); } _impl_.number_ = 0; _impl_._has_bits_.Clear(); @@ -2250,6 +2282,10 @@ void EnumValue::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::googl if (cached_has_bits & 0x00000001u) { if (!from._internal_name().empty()) { _this->_internal_set_name(from._internal_name()); + } else { + if (_this->_impl_.name_.IsDefault()) { + _this->_internal_set_name(""); + } } } if (cached_has_bits & 0x00000002u) { @@ -2452,7 +2488,7 @@ PROTOBUF_NOINLINE void Option::Clear() { cached_has_bits = _impl_._has_bits_[0]; if (cached_has_bits & 0x00000003u) { if (cached_has_bits & 0x00000001u) { - _impl_.name_.ClearToEmpty(); + _impl_.name_.ClearNonDefaultToEmpty(); } if (cached_has_bits & 0x00000002u) { ABSL_DCHECK(_impl_.value_ != nullptr); @@ -2553,6 +2589,10 @@ void Option::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google:: if (cached_has_bits & 0x00000001u) { if (!from._internal_name().empty()) { _this->_internal_set_name(from._internal_name()); + } else { + if (_this->_impl_.name_.IsDefault()) { + _this->_internal_set_name(""); + } } } if (cached_has_bits & 0x00000002u) { diff --git a/src/google/protobuf/wrappers.pb.cc b/src/google/protobuf/wrappers.pb.cc index d17791a6f2..1861510a20 100644 --- a/src/google/protobuf/wrappers.pb.cc +++ b/src/google/protobuf/wrappers.pb.cc @@ -2198,7 +2198,7 @@ PROTOBUF_NOINLINE void StringValue::Clear() { cached_has_bits = _impl_._has_bits_[0]; if (cached_has_bits & 0x00000001u) { - _impl_.value_.ClearToEmpty(); + _impl_.value_.ClearNonDefaultToEmpty(); } _impl_._has_bits_.Clear(); _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); @@ -2278,6 +2278,10 @@ void StringValue::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::goo if (cached_has_bits & 0x00000001u) { if (!from._internal_value().empty()) { _this->_internal_set_value(from._internal_value()); + } else { + if (_this->_impl_.value_.IsDefault()) { + _this->_internal_set_value(""); + } } } _this->_impl_._has_bits_[0] |= cached_has_bits; @@ -2451,7 +2455,7 @@ PROTOBUF_NOINLINE void BytesValue::Clear() { cached_has_bits = _impl_._has_bits_[0]; if (cached_has_bits & 0x00000001u) { - _impl_.value_.ClearToEmpty(); + _impl_.value_.ClearNonDefaultToEmpty(); } _impl_._has_bits_.Clear(); _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); @@ -2529,6 +2533,10 @@ void BytesValue::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::goog if (cached_has_bits & 0x00000001u) { if (!from._internal_value().empty()) { _this->_internal_set_value(from._internal_value()); + } else { + if (_this->_impl_.value_.IsDefault()) { + _this->_internal_set_value(""); + } } } _this->_impl_._has_bits_[0] |= cached_has_bits;