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

Unified Diff: third_party/protobuf/src/google/protobuf/wire_format_lite.h

Issue 1322483002: Revert https://codereview.chromium.org/1291903002 (protobuf roll). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 4 months 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/wire_format_lite.h
diff --git a/third_party/protobuf/src/google/protobuf/wire_format_lite.h b/third_party/protobuf/src/google/protobuf/wire_format_lite.h
index 9f922fdde7aa5967c54f54e40e2a1cfb5f4b433e..98d800408e62208680aa17403957fab702d9ccdc 100644
--- a/third_party/protobuf/src/google/protobuf/wire_format_lite.h
+++ b/third_party/protobuf/src/google/protobuf/wire_format_lite.h
@@ -1,6 +1,6 @@
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
-// https://developers.google.com/protocol-buffers/
+// http://code.google.com/p/protobuf/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -44,13 +44,12 @@
#include <google/protobuf/stubs/common.h>
#include <google/protobuf/message_lite.h>
#include <google/protobuf/io/coded_stream.h> // for CodedOutputStream::Varint32Size
-#include <google/protobuf/unknown_field_set.h>
namespace google {
namespace protobuf {
template <typename T> class RepeatedField; // repeated_field.h
- class UnknownFieldSet; // unknown_field_set.h
+ class UnknownFieldSet;
}
namespace protobuf {
@@ -164,35 +163,21 @@ class LIBPROTOBUF_EXPORT WireFormatLite {
// Skips a field value with the given tag. The input should start
// positioned immediately after the tag. Skipped values are simply discarded,
- // not recorded anywhere.
- static bool SkipField(io::CodedInputStream* input, uint32 tag);
-
- // Skips a field value with the given tag. The input should start
- // positioned immediately after the tag. If unknown_fields is non-NULL,
- // the contents of the field will be added to it.
- static bool SkipField(io::CodedInputStream* input, uint32 tag,
- UnknownFieldSet* unknown_fields);
-
- // Skips a field value with the given tag. The input should start
- // positioned immediately after the tag. Skipped values are recorded to a
- // CodedOutputStream.
+ // not recorded anywhere. See WireFormat::SkipField() for a version that
+ // records to an UnknownFieldSet.
static bool SkipField(io::CodedInputStream* input, uint32 tag,
- io::CodedOutputStream* output);
+ UnknownFieldSet *unknown_fields);
// Reads and ignores a message from the input. If unknown_fields is non-NULL,
// the contents will be added to it.
static bool SkipMessage(io::CodedInputStream* input,
UnknownFieldSet* unknown_fields);
+
// Reads and ignores a message from the input. Skipped values may be stored
// in the UnknownFieldSet if it exists.
static bool SkipMessage(io::CodedInputStream* input);
- // Reads and ignores a message from the input. Skipped values are recorded
- // to a CodedOutputStream.
- static bool SkipMessage(io::CodedInputStream* input,
- io::CodedOutputStream* output);
-
// This macro does the same thing as WireFormatLite::MakeTag(), but the
// result is usable as a compile-time constant, which makes it usable
// as a switch case or a template input. WireFormatLite::MakeTag() is more
@@ -247,14 +232,6 @@ class LIBPROTOBUF_EXPORT WireFormatLite {
static uint64 ZigZagEncode64(int64 n);
static int64 ZigZagDecode64(uint64 n);
- // Read a packed enum field. If the is_valid function is not NULL, values for
- // which is_valid(value) returns false are appended to unknown_fields_stream.
- static bool ReadPackedEnumPreserveUnknowns(io::CodedInputStream* input,
- uint32 field_number,
- bool (*is_valid)(int),
- UnknownFieldSet* unknown_fields,
- RepeatedField<int>* values);
-
// Write the contents of an UnknownFieldSet to the output.
static void SerializeUnknownFields(const UnknownFieldSet& unknown_fields,
io::CodedOutputStream* output);
@@ -295,9 +272,9 @@ class LIBPROTOBUF_EXPORT WireFormatLite {
// that file to use these.
// Avoid ugly line wrapping
-#define input io::CodedInputStream* input_arg
-#define output io::CodedOutputStream* output_arg
-#define field_number int field_number_arg
+#define input io::CodedInputStream* input
+#define output io::CodedOutputStream* output
+#define field_number int field_number
#define INL GOOGLE_ATTRIBUTE_ALWAYS_INLINE
// Read fields, not including tags. The assumption is that you already
@@ -347,32 +324,14 @@ class LIBPROTOBUF_EXPORT WireFormatLite {
template <typename CType, enum FieldType DeclaredType>
static bool ReadPackedPrimitiveNoInline(input, RepeatedField<CType>* value);
- // Read a packed enum field. If the is_valid function is not NULL, values for
- // which is_valid(value) returns false are silently dropped.
+ // Read a packed enum field. Values for which is_valid() returns false are
+ // dropped.
static bool ReadPackedEnumNoInline(input,
bool (*is_valid)(int),
- RepeatedField<int>* values);
-
- // Read a packed enum field. If the is_valid function is not NULL, values for
- // which is_valid(value) returns false are appended to unknown_fields_stream.
- static bool ReadPackedEnumPreserveUnknowns(
- input,
- field_number,
- bool (*is_valid)(int),
- io::CodedOutputStream* unknown_fields_stream,
- RepeatedField<int>* values);
-
- // Read a string. ReadString(..., string* value) requires an existing string.
- static inline bool ReadString(input, string* value);
- // ReadString(..., string** p) is internal-only, and should only be called
- // from generated code. It starts by setting *p to "new string"
- // if *p == &GetEmptyStringAlreadyInited(). It then invokes
- // ReadString(input, *p). This is useful for reducing code size.
- static inline bool ReadString(input, string** p);
- // Analogous to ReadString().
- static bool ReadBytes(input, string* value);
- static bool ReadBytes(input, string** p);
+ RepeatedField<int>* value);
+ static bool ReadString(input, string* value);
+ static bool ReadBytes (input, string* value);
static inline bool ReadGroup (field_number, input, MessageLite* value);
static inline bool ReadMessage(input, MessageLite* value);
@@ -386,17 +345,6 @@ class LIBPROTOBUF_EXPORT WireFormatLite {
template<typename MessageType>
static inline bool ReadMessageNoVirtual(input, MessageType* value);
- // The same, but do not modify input's recursion depth. This is useful
- // when reading a bunch of groups or messages in a loop, because then the
- // recursion depth can be incremented before the loop and decremented after.
- template<typename MessageType>
- static inline bool ReadGroupNoVirtualNoRecursionDepth(field_number, input,
- MessageType* value);
-
- template<typename MessageType>
- static inline bool ReadMessageNoVirtualNoRecursionDepth(input,
- MessageType* value);
-
// Write a tag. The Write*() functions typically include the tag, so
// normally there's no need to call this unless using the Write*NoTag()
// variants.
@@ -436,10 +384,6 @@ class LIBPROTOBUF_EXPORT WireFormatLite {
static void WriteString(field_number, const string& value, output);
static void WriteBytes (field_number, const string& value, output);
- static void WriteStringMaybeAliased(
- field_number, const string& value, output);
- static void WriteBytesMaybeAliased(
- field_number, const string& value, output);
static void WriteGroup(
field_number, const MessageLite& value, output);
@@ -590,12 +534,6 @@ class LIBPROTOBUF_EXPORT WireFormatLite {
google::protobuf::io::CodedInputStream* input,
RepeatedField<CType>* value) GOOGLE_ATTRIBUTE_ALWAYS_INLINE;
- // Like ReadRepeatedFixedSizePrimitive but for packed primitive fields.
- template <typename CType, enum FieldType DeclaredType>
- static inline bool ReadPackedFixedSizePrimitive(
- google::protobuf::io::CodedInputStream* input,
- RepeatedField<CType>* value) GOOGLE_ATTRIBUTE_ALWAYS_INLINE;
-
static const CppType kFieldTypeToCppTypeMap[];
static const WireFormatLite::WireType kWireTypeForFieldType[];
@@ -620,28 +558,10 @@ class LIBPROTOBUF_EXPORT FieldSkipper {
// saves it as an unknown varint.
void SkipUnknownEnum(int field_number, int value);
- private:
- UnknownFieldSet* unknown_fields_;
-};
-
-// Subclass of FieldSkipper which saves skipped fields to a CodedOutputStream.
-
-class LIBPROTOBUF_EXPORT CodedOutputStreamFieldSkipper : public FieldSkipper {
- public:
- explicit CodedOutputStreamFieldSkipper(io::CodedOutputStream* unknown_fields)
- : FieldSkipper(nullptr), unknown_fields_(unknown_fields) {}
- virtual ~CodedOutputStreamFieldSkipper() {}
-
- // implements FieldSkipper -----------------------------------------
- virtual bool SkipField(io::CodedInputStream* input, uint32 tag);
- virtual bool SkipMessage(io::CodedInputStream* input);
- virtual void SkipUnknownEnum(int field_number, int value);
-
protected:
- io::CodedOutputStream* unknown_fields_;
+ UnknownFieldSet* unknown_fields_;
};
-
// inline methods ====================================================
inline WireFormatLite::CppType
@@ -723,7 +643,7 @@ inline double WireFormatLite::DecodeDouble(uint64 value) {
inline uint32 WireFormatLite::ZigZagEncode32(int32 n) {
// Note: the right-shift must be arithmetic
- return (static_cast<uint32>(n) << 1) ^ (n >> 31);
+ return (n << 1) ^ (n >> 31);
}
inline int32 WireFormatLite::ZigZagDecode32(uint32 n) {
@@ -732,26 +652,13 @@ inline int32 WireFormatLite::ZigZagDecode32(uint32 n) {
inline uint64 WireFormatLite::ZigZagEncode64(int64 n) {
// Note: the right-shift must be arithmetic
- return (static_cast<uint64>(n) << 1) ^ (n >> 63);
+ return (n << 1) ^ (n >> 63);
}
inline int64 WireFormatLite::ZigZagDecode64(uint64 n) {
return (n >> 1) ^ -static_cast<int64>(n & 1);
}
-// String is for UTF-8 text only, but, even so, ReadString() can simply
-// call ReadBytes().
-
-inline bool WireFormatLite::ReadString(io::CodedInputStream* input,
- string* value) {
- return ReadBytes(input, value);
-}
-
-inline bool WireFormatLite::ReadString(io::CodedInputStream* input,
- string** p) {
- return ReadBytes(input, p);
-}
-
} // namespace internal
} // namespace protobuf
« no previous file with comments | « third_party/protobuf/src/google/protobuf/wire_format.cc ('k') | third_party/protobuf/src/google/protobuf/wire_format_lite.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698