Index: third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_enum_field.cc |
diff --git a/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_enum_field.cc b/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_enum_field.cc |
index 824e2205e43c6c33b096908fa26e978231ad20b9..10252b392ac57090640b0b4f9fe0bd765e4e8010 100644 |
--- a/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_enum_field.cc |
+++ b/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_enum_field.cc |
@@ -36,6 +36,7 @@ |
#include <google/protobuf/compiler/cpp/cpp_helpers.h> |
#include <google/protobuf/io/printer.h> |
#include <google/protobuf/stubs/strutil.h> |
+#include <google/protobuf/wire_format.h> |
namespace google { |
namespace protobuf { |
@@ -58,10 +59,9 @@ void SetEnumVariables(const FieldDescriptor* descriptor, |
// =================================================================== |
-EnumFieldGenerator:: |
-EnumFieldGenerator(const FieldDescriptor* descriptor, |
- const Options& options) |
- : descriptor_(descriptor) { |
+EnumFieldGenerator::EnumFieldGenerator(const FieldDescriptor* descriptor, |
+ const Options& options) |
+ : FieldGenerator(options), descriptor_(descriptor) { |
SetEnumVariables(descriptor, &variables_, options); |
} |
@@ -75,8 +75,8 @@ GeneratePrivateMembers(io::Printer* printer) const { |
void EnumFieldGenerator:: |
GenerateAccessorDeclarations(io::Printer* printer) const { |
printer->Print(variables_, |
- "$type$ $name$() const$deprecation$;\n" |
- "void set_$name$($type$ value)$deprecation$;\n"); |
+ "$deprecated_attr$$type$ $name$() const;\n" |
+ "$deprecated_attr$void set_$name$($type$ value);\n"); |
} |
void EnumFieldGenerator:: |
@@ -135,15 +135,16 @@ GenerateMergeFromCodedStream(io::Printer* printer) const { |
printer->Print(variables_, |
"if ($type$_IsValid(value)) {\n" |
" set_$name$(static_cast< $type$ >(value));\n"); |
- if (UseUnknownFieldSet(descriptor_->file())) { |
+ if (UseUnknownFieldSet(descriptor_->file(), options_)) { |
printer->Print(variables_, |
"} else {\n" |
" mutable_unknown_fields()->AddVarint($number$, value);\n"); |
} else { |
printer->Print( |
"} else {\n" |
- " unknown_fields_stream.WriteVarint32(tag);\n" |
- " unknown_fields_stream.WriteVarint32(value);\n"); |
+ " unknown_fields_stream.WriteVarint32($tag$);\n" |
+ " unknown_fields_stream.WriteVarint32(value);\n", |
+ "tag", SimpleItoa(internal::WireFormat::MakeTag(descriptor_))); |
} |
printer->Print(variables_, |
"}\n"); |
@@ -228,10 +229,9 @@ GenerateConstructorCode(io::Printer* printer) const { |
// =================================================================== |
-RepeatedEnumFieldGenerator:: |
-RepeatedEnumFieldGenerator(const FieldDescriptor* descriptor, |
- const Options& options) |
- : descriptor_(descriptor) { |
+RepeatedEnumFieldGenerator::RepeatedEnumFieldGenerator( |
+ const FieldDescriptor* descriptor, const Options& options) |
+ : FieldGenerator(options), descriptor_(descriptor) { |
SetEnumVariables(descriptor, &variables_, options); |
} |
@@ -241,8 +241,8 @@ void RepeatedEnumFieldGenerator:: |
GeneratePrivateMembers(io::Printer* printer) const { |
printer->Print(variables_, |
"::google::protobuf::RepeatedField<int> $name$_;\n"); |
- if (descriptor_->is_packed() |
- && HasGeneratedMethods(descriptor_->file())) { |
+ if (descriptor_->is_packed() && |
+ HasGeneratedMethods(descriptor_->file(), options_)) { |
printer->Print(variables_, |
"mutable int _$name$_cached_byte_size_;\n"); |
} |
@@ -251,12 +251,12 @@ GeneratePrivateMembers(io::Printer* printer) const { |
void RepeatedEnumFieldGenerator:: |
GenerateAccessorDeclarations(io::Printer* printer) const { |
printer->Print(variables_, |
- "$type$ $name$(int index) const$deprecation$;\n" |
- "void set_$name$(int index, $type$ value)$deprecation$;\n" |
- "void add_$name$($type$ value)$deprecation$;\n"); |
+ "$deprecated_attr$$type$ $name$(int index) const;\n" |
+ "$deprecated_attr$void set_$name$(int index, $type$ value);\n" |
+ "$deprecated_attr$void add_$name$($type$ value);\n"); |
printer->Print(variables_, |
- "const ::google::protobuf::RepeatedField<int>& $name$() const$deprecation$;\n" |
- "::google::protobuf::RepeatedField<int>* mutable_$name$()$deprecation$;\n"); |
+ "$deprecated_attr$const ::google::protobuf::RepeatedField<int>& $name$() const;\n" |
+ "$deprecated_attr$::google::protobuf::RepeatedField<int>* mutable_$name$();\n"); |
} |
void RepeatedEnumFieldGenerator:: |
@@ -335,7 +335,7 @@ GenerateMergeFromCodedStream(io::Printer* printer) const { |
printer->Print(variables_, |
"if ($type$_IsValid(value)) {\n" |
" add_$name$(static_cast< $type$ >(value));\n"); |
- if (UseUnknownFieldSet(descriptor_->file())) { |
+ if (UseUnknownFieldSet(descriptor_->file(), options_)) { |
printer->Print(variables_, |
"} else {\n" |
" mutable_unknown_fields()->AddVarint($number$, value);\n"); |
@@ -362,7 +362,7 @@ GenerateMergeFromCodedStreamWithPacking(io::Printer* printer) const { |
" NULL,\n" |
" NULL,\n" |
" this->mutable_$name$())));\n"); |
- } else if (UseUnknownFieldSet(descriptor_->file())) { |
+ } else if (UseUnknownFieldSet(descriptor_->file(), options_)) { |
printer->Print(variables_, |
"DO_((::google::protobuf::internal::WireFormat::ReadPackedEnumPreserveUnknowns(\n" |
" input,\n" |
@@ -399,7 +399,7 @@ GenerateMergeFromCodedStreamWithPacking(io::Printer* printer) const { |
" if ($type$_IsValid(value)) {\n" |
" add_$name$(static_cast< $type$ >(value));\n" |
" } else {\n"); |
- if (UseUnknownFieldSet(descriptor_->file())) { |
+ if (UseUnknownFieldSet(descriptor_->file(), options_)) { |
printer->Print(variables_, |
" mutable_unknown_fields()->AddVarint($number$, value);\n"); |
} else { |