Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Unified Diff: third_party/protobuf/src/google/protobuf/extension_set_heavy.cc

Issue 2600753002: Reverts third_party/protobuf: Update to HEAD (f52e188fe4) (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/protobuf/src/google/protobuf/extension_set_heavy.cc
diff --git a/third_party/protobuf/src/google/protobuf/extension_set_heavy.cc b/third_party/protobuf/src/google/protobuf/extension_set_heavy.cc
index 2c37ade9b8ce20acd0a2dba9b42e3e4172fa0c9b..82e3e099631aba56150995ddd9f28a686a826f1f 100644
--- a/third_party/protobuf/src/google/protobuf/extension_set_heavy.cc
+++ b/third_party/protobuf/src/google/protobuf/extension_set_heavy.cc
@@ -95,7 +95,7 @@ void ExtensionSet::AppendToList(
const Descriptor* containing_type,
const DescriptorPool* pool,
std::vector<const FieldDescriptor*>* output) const {
- for (ExtensionMap::const_iterator iter = extensions_.begin();
+ for (map<int, Extension>::const_iterator iter = extensions_.begin();
iter != extensions_.end(); ++iter) {
bool has = false;
if (iter->second.is_repeated) {
@@ -144,7 +144,7 @@ inline WireFormatLite::FieldType field_type(FieldType type) {
const MessageLite& ExtensionSet::GetMessage(int number,
const Descriptor* message_type,
MessageFactory* factory) const {
- ExtensionMap::const_iterator iter = extensions_.find(number);
+ map<int, Extension>::const_iterator iter = extensions_.find(number);
if (iter == extensions_.end() || iter->second.is_cleared) {
// Not present. Return the default value.
return *factory->GetPrototype(message_type);
@@ -187,7 +187,7 @@ MessageLite* ExtensionSet::MutableMessage(const FieldDescriptor* descriptor,
MessageLite* ExtensionSet::ReleaseMessage(const FieldDescriptor* descriptor,
MessageFactory* factory) {
- ExtensionMap::iterator iter = extensions_.find(descriptor->number());
+ map<int, Extension>::iterator iter = extensions_.find(descriptor->number());
if (iter == extensions_.end()) {
// Not present. Return NULL.
return NULL;
@@ -213,29 +213,6 @@ MessageLite* ExtensionSet::ReleaseMessage(const FieldDescriptor* descriptor,
}
}
-MessageLite* ExtensionSet::UnsafeArenaReleaseMessage(
- const FieldDescriptor* descriptor, MessageFactory* factory) {
- ExtensionMap::iterator iter = extensions_.find(descriptor->number());
- if (iter == extensions_.end()) {
- // Not present. Return NULL.
- return NULL;
- } else {
- GOOGLE_DCHECK_TYPE(iter->second, OPTIONAL, MESSAGE);
- MessageLite* ret = NULL;
- if (iter->second.is_lazy) {
- ret = iter->second.lazymessage_value->UnsafeArenaReleaseMessage(
- *factory->GetPrototype(descriptor->message_type()));
- if (arena_ == NULL) {
- delete iter->second.lazymessage_value;
- }
- } else {
- ret = iter->second.message_value;
- }
- extensions_.erase(descriptor->number());
- return ret;
- }
-}
-
ExtensionSet::Extension* ExtensionSet::MaybeNewRepeatedExtension(const FieldDescriptor* descriptor) {
Extension* extension;
if (MaybeNewExtension(descriptor->number(), descriptor, &extension)) {
@@ -341,8 +318,8 @@ bool ExtensionSet::ParseMessageSet(io::CodedInputStream* input,
int ExtensionSet::SpaceUsedExcludingSelf() const {
int total_size =
- extensions_.size() * sizeof(ExtensionMap::value_type);
- for (ExtensionMap::const_iterator iter = extensions_.begin(),
+ extensions_.size() * sizeof(map<int, Extension>::value_type);
+ for (map<int, Extension>::const_iterator iter = extensions_.begin(),
end = extensions_.end();
iter != end;
++iter) {
@@ -409,43 +386,31 @@ int ExtensionSet::Extension::SpaceUsedExcludingSelf() const {
// The Serialize*ToArray methods are only needed in the heavy library, as
// the lite library only generates SerializeWithCachedSizes.
-uint8* ExtensionSet::SerializeWithCachedSizesToArray(int start_field_number,
- int end_field_number,
- uint8* target) const {
- return InternalSerializeWithCachedSizesToArray(
- start_field_number, end_field_number, false, target);
-}
-
-uint8* ExtensionSet::SerializeMessageSetWithCachedSizesToArray(
- uint8* target) const {
- return InternalSerializeMessageSetWithCachedSizesToArray(false, target);
-}
-
-uint8* ExtensionSet::InternalSerializeWithCachedSizesToArray(
+uint8* ExtensionSet::SerializeWithCachedSizesToArray(
int start_field_number, int end_field_number,
- bool deterministic, uint8* target) const {
- ExtensionMap::const_iterator iter;
+ uint8* target) const {
+ map<int, Extension>::const_iterator iter;
for (iter = extensions_.lower_bound(start_field_number);
iter != extensions_.end() && iter->first < end_field_number;
++iter) {
- target = iter->second.InternalSerializeFieldWithCachedSizesToArray(
- iter->first, deterministic, target);
+ target = iter->second.SerializeFieldWithCachedSizesToArray(iter->first,
+ target);
}
return target;
}
-uint8* ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray(
- bool deterministic, uint8* target) const {
- ExtensionMap::const_iterator iter;
+uint8* ExtensionSet::SerializeMessageSetWithCachedSizesToArray(
+ uint8* target) const {
+ map<int, Extension>::const_iterator iter;
for (iter = extensions_.begin(); iter != extensions_.end(); ++iter) {
- target = iter->second.InternalSerializeMessageSetItemWithCachedSizesToArray(
- iter->first, deterministic, target);
+ target = iter->second.SerializeMessageSetItemWithCachedSizesToArray(
+ iter->first, target);
}
return target;
}
-uint8* ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(
- int number, bool deterministic, uint8* target) const {
+uint8* ExtensionSet::Extension::SerializeFieldWithCachedSizesToArray(
+ int number, uint8* target) const {
if (is_repeated) {
if (is_packed) {
if (cached_size == 0) return target;
@@ -512,16 +477,6 @@ uint8* ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(
HANDLE_TYPE( STRING, String, string);
HANDLE_TYPE( BYTES, Bytes, string);
HANDLE_TYPE( ENUM, Enum, enum);
-#undef HANDLE_TYPE
-#define HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE) \
- case FieldDescriptor::TYPE_##UPPERCASE: \
- for (int i = 0; i < repeated_##LOWERCASE##_value->size(); i++) { \
- target = WireFormatLite::InternalWrite##CAMELCASE##ToArray( \
- number, repeated_##LOWERCASE##_value->Get(i), \
- deterministic, target); \
- } \
- break
-
HANDLE_TYPE( GROUP, Group, message);
HANDLE_TYPE( MESSAGE, Message, message);
#undef HANDLE_TYPE
@@ -555,11 +510,10 @@ uint8* ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(
#undef HANDLE_TYPE
case FieldDescriptor::TYPE_MESSAGE:
if (is_lazy) {
- target = lazymessage_value->InternalWriteMessageToArray(
- number, deterministic, target);
+ target = lazymessage_value->WriteMessageToArray(number, target);
} else {
- target = WireFormatLite::InternalWriteMessageToArray(
- number, *message_value, deterministic, target);
+ target = WireFormatLite::WriteMessageToArray(
+ number, *message_value, target);
}
break;
}
@@ -567,14 +521,13 @@ uint8* ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(
return target;
}
-uint8*
-ExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(
- int number, bool deterministic, uint8* target) const {
+uint8* ExtensionSet::Extension::SerializeMessageSetItemWithCachedSizesToArray(
+ int number,
+ uint8* target) const {
if (type != WireFormatLite::TYPE_MESSAGE || is_repeated) {
// Not a valid MessageSet extension, but serialize it the normal way.
GOOGLE_LOG(WARNING) << "Invalid message set extension.";
- return InternalSerializeFieldWithCachedSizesToArray(number, deterministic,
- target);
+ return SerializeFieldWithCachedSizesToArray(number, target);
}
if (is_cleared) return target;
@@ -656,7 +609,7 @@ bool ExtensionSet::ParseMessageSetItem(io::CodedInputStream* input,
string message_data;
while (true) {
- const uint32 tag = input->ReadTagNoLastTag();
+ const uint32 tag = input->ReadTag();
if (tag == 0) return false;
switch (tag) {
@@ -749,7 +702,7 @@ void ExtensionSet::Extension::SerializeMessageSetItemWithCachedSizes(
output->WriteTag(WireFormatLite::kMessageSetItemEndTag);
}
-size_t ExtensionSet::Extension::MessageSetItemByteSize(int number) const {
+int ExtensionSet::Extension::MessageSetItemByteSize(int number) const {
if (type != WireFormatLite::TYPE_MESSAGE || is_repeated) {
// Not a valid MessageSet extension, but compute the byte size for it the
// normal way.
@@ -758,13 +711,13 @@ size_t ExtensionSet::Extension::MessageSetItemByteSize(int number) const {
if (is_cleared) return 0;
- size_t our_size = WireFormatLite::kMessageSetItemTagsSize;
+ int our_size = WireFormatLite::kMessageSetItemTagsSize;
// type_id
our_size += io::CodedOutputStream::VarintSize32(number);
// message
- size_t message_size = 0;
+ int message_size = 0;
if (is_lazy) {
message_size = lazymessage_value->ByteSize();
} else {
@@ -779,16 +732,16 @@ size_t ExtensionSet::Extension::MessageSetItemByteSize(int number) const {
void ExtensionSet::SerializeMessageSetWithCachedSizes(
io::CodedOutputStream* output) const {
- for (ExtensionMap::const_iterator iter = extensions_.begin();
+ for (map<int, Extension>::const_iterator iter = extensions_.begin();
iter != extensions_.end(); ++iter) {
iter->second.SerializeMessageSetItemWithCachedSizes(iter->first, output);
}
}
-size_t ExtensionSet::MessageSetByteSize() const {
- size_t total_size = 0;
+int ExtensionSet::MessageSetByteSize() const {
+ int total_size = 0;
- for (ExtensionMap::const_iterator iter = extensions_.begin();
+ for (map<int, Extension>::const_iterator iter = extensions_.begin();
iter != extensions_.end(); ++iter) {
total_size += iter->second.MessageSetItemByteSize(iter->first);
}

Powered by Google App Engine
This is Rietveld 408576698