Index: third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_message_field.cc |
diff --git a/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_message_field.cc b/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_message_field.cc |
index b454589203134a67500fc6c0473742637f249dc1..332c0264fc9d0547ba1b351c1b2cd2929264f456 100644 |
--- a/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_message_field.cc |
+++ b/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_message_field.cc |
@@ -53,10 +53,11 @@ void SetMessageVariables(const FieldDescriptor* descriptor, |
(*variables)["non_null_ptr_to_name"] = |
StrCat("this->", (*variables)["name"], "_"); |
} |
- (*variables)["stream_writer"] = (*variables)["declared_type"] + |
- (HasFastArraySerialization(descriptor->message_type()->file()) ? |
- "MaybeToArray" : |
- ""); |
+ (*variables)["stream_writer"] = |
+ (*variables)["declared_type"] + |
+ (HasFastArraySerialization(descriptor->message_type()->file(), options) |
+ ? "MaybeToArray" |
+ : ""); |
// NOTE: Escaped here to unblock proto1->proto2 migration. |
// TODO(liujisi): Extend this to apply for other conflicting methods. |
(*variables)["release_name"] = |
@@ -77,11 +78,11 @@ void SetMessageVariables(const FieldDescriptor* descriptor, |
// =================================================================== |
-MessageFieldGenerator:: |
-MessageFieldGenerator(const FieldDescriptor* descriptor, |
- const Options& options) |
- : descriptor_(descriptor), |
- dependent_field_(options.proto_h && IsFieldDependent(descriptor)) { |
+MessageFieldGenerator::MessageFieldGenerator(const FieldDescriptor* descriptor, |
+ const Options& options) |
+ : FieldGenerator(options), |
+ descriptor_(descriptor), |
+ dependent_field_(options.proto_h && IsFieldDependent(descriptor)) { |
SetMessageVariables(descriptor, &variables_, options); |
} |
@@ -95,7 +96,7 @@ GeneratePrivateMembers(io::Printer* printer) const { |
void MessageFieldGenerator:: |
GenerateGetterDeclaration(io::Printer* printer) const { |
printer->Print(variables_, |
- "const $type$& $name$() const$deprecation$;\n"); |
+ "$deprecated_attr$const $type$& $name$() const;\n"); |
} |
void MessageFieldGenerator:: |
@@ -105,9 +106,9 @@ GenerateDependentAccessorDeclarations(io::Printer* printer) const { |
} |
// Arena manipulation code is out-of-line in the derived message class. |
printer->Print(variables_, |
- "$type$* mutable_$name$()$deprecation$;\n" |
- "$type$* $release_name$()$deprecation$;\n" |
- "void set_allocated_$name$($type$* $name$)$deprecation$;\n"); |
+ "$deprecated_attr$$type$* mutable_$name$();\n" |
+ "$deprecated_attr$$type$* $release_name$();\n" |
+ "$deprecated_attr$void set_allocated_$name$($type$* $name$);\n"); |
} |
void MessageFieldGenerator:: |
@@ -115,28 +116,28 @@ GenerateAccessorDeclarations(io::Printer* printer) const { |
if (SupportsArenas(descriptor_)) { |
printer->Print(variables_, |
"private:\n" |
- "void _slow_mutable_$name$()$deprecation$;\n"); |
+ "void _slow_mutable_$name$();\n"); |
if (SupportsArenas(descriptor_->message_type())) { |
printer->Print(variables_, |
"void _slow_set_allocated_$name$(\n" |
- " ::google::protobuf::Arena* message_arena, $type$** $name$)$deprecation$;\n"); |
+ " ::google::protobuf::Arena* message_arena, $type$** $name$);\n"); |
} |
printer->Print(variables_, |
- "$type$* _slow_$release_name$()$deprecation$;\n" |
+ "$type$* _slow_$release_name$();\n" |
"public:\n"); |
} |
GenerateGetterDeclaration(printer); |
if (!dependent_field_) { |
printer->Print(variables_, |
- "$type$* mutable_$name$()$deprecation$;\n" |
- "$type$* $release_name$()$deprecation$;\n" |
- "void set_allocated_$name$($type$* $name$)$deprecation$;\n"); |
+ "$deprecated_attr$$type$* mutable_$name$();\n" |
+ "$deprecated_attr$$type$* $release_name$();\n" |
+ "$deprecated_attr$void set_allocated_$name$($type$* $name$);\n"); |
} |
if (SupportsArenas(descriptor_)) { |
printer->Print(variables_, |
- "$type$* unsafe_arena_release_$name$()$deprecation$;\n" |
- "void unsafe_arena_set_allocated_$name$(\n" |
- " $type$* $name$)$deprecation$;\n"); |
+ "$deprecated_attr$$type$* unsafe_arena_release_$name$();\n" |
+ "$deprecated_attr$void unsafe_arena_set_allocated_$name$(\n" |
+ " $type$* $name$);\n"); |
} |
} |
@@ -167,6 +168,7 @@ void MessageFieldGenerator::GenerateNonInlineAccessorDefinitions( |
" }\n" |
"}\n" |
"$type$* $classname$::unsafe_arena_release_$name$() {\n" |
+ " // @@protoc_insertion_point(field_unsafe_arena_release:$full_name$)\n" |
" $clear_hasbit$\n" |
" $type$* temp = $name$_;\n" |
" $name$_ = NULL;\n" |
@@ -246,6 +248,7 @@ GenerateDependentInlineAccessorDefinitions(io::Printer* printer) const { |
"}\n" |
"template <class T>\n" |
"inline $type$* $dependent_classname$::$release_name$() {\n" |
+ " // @@protoc_insertion_point(field_release:$full_name$)\n" |
" $dependent_typename$*& $name$_ = $this_message$$name$_;\n" |
" $clear_hasbit$\n" |
" if ($this_message$GetArenaNoVirtual() != NULL) {\n" |
@@ -305,6 +308,7 @@ GenerateDependentInlineAccessorDefinitions(io::Printer* printer) const { |
"}\n" |
"template <class T>\n" |
"inline $type$* $dependent_classname$::$release_name$() {\n" |
+ " // @@protoc_insertion_point(field_release:$full_name$)\n" |
" $clear_hasbit$\n" |
" $dependent_typename$*& $name$_ = $this_message$$name$_;\n" |
" $dependent_typename$* temp = $name$_;\n" |
@@ -349,11 +353,11 @@ GenerateInlineAccessorDefinitions(io::Printer* printer, |
" // @@protoc_insertion_point(field_get:$full_name$)\n"); |
PrintHandlingOptionalStaticInitializers( |
- variables, descriptor_->file(), printer, |
- // With static initializers. |
- " return $name$_ != NULL ? *$name$_ : *default_instance_->$name$_;\n", |
- // Without. |
- " return $name$_ != NULL ? *$name$_ : *default_instance().$name$_;\n"); |
+ variables, descriptor_->file(), options_, printer, |
+ // With static initializers. |
+ " return $name$_ != NULL ? *$name$_ : *default_instance_->$name$_;\n", |
+ // Without. |
+ " return $name$_ != NULL ? *$name$_ : *default_instance().$name$_;\n"); |
printer->Print(variables, "}\n"); |
if (dependent_field_) { |
@@ -373,6 +377,7 @@ GenerateInlineAccessorDefinitions(io::Printer* printer, |
"}\n" |
"$inline$" |
"$type$* $classname$::$release_name$() {\n" |
+ " // @@protoc_insertion_point(field_release:$full_name$)\n" |
" $clear_hasbit$\n" |
" if (GetArenaNoVirtual() != NULL) {\n" |
" return _slow_$release_name$();\n" |
@@ -426,6 +431,7 @@ GenerateInlineAccessorDefinitions(io::Printer* printer, |
"}\n" |
"$inline$" |
"$type$* $classname$::$release_name$() {\n" |
+ " // @@protoc_insertion_point(field_release:$full_name$)\n" |
" $clear_hasbit$\n" |
" $type$* temp = $name$_;\n" |
" $name$_ = NULL;\n" |
@@ -547,7 +553,7 @@ GenerateDependentAccessorDeclarations(io::Printer* printer) const { |
return; |
} |
printer->Print(variables_, |
- "const $type$& $name$() const$deprecation$;\n"); |
+ "$deprecated_attr$const $type$& $name$() const;\n"); |
MessageFieldGenerator::GenerateDependentAccessorDeclarations(printer); |
} |
@@ -560,7 +566,7 @@ GenerateGetterDeclaration(io::Printer* printer) const { |
return; |
} |
printer->Print(variables_, |
- "const $type$& $name$() const$deprecation$;\n"); |
+ "$deprecated_attr$const $type$& $name$() const;\n"); |
} |
void MessageOneofFieldGenerator:: |
@@ -651,6 +657,7 @@ InternalGenerateInlineAccessorDefinitions(const map<string, string>& variables, |
"$tmpl$" |
"$inline$" |
"$type$* $dependent_classname$::$release_name$() {\n" |
+ " // @@protoc_insertion_point(field_release:$full_name$)\n" |
" if ($this_message$has_$name$()) {\n" |
" $this_message$clear_has_$oneof_name$();\n" |
" if ($this_message$GetArenaNoVirtual() != NULL) {\n" |
@@ -706,6 +713,8 @@ InternalGenerateInlineAccessorDefinitions(const map<string, string>& variables, |
" // @@protoc_insertion_point(field_set_allocated:$full_name$)\n" |
"}\n" |
"$inline$ $type$* $classname$::unsafe_arena_release_$name$() {\n" |
+ " // @@protoc_insertion_point(field_unsafe_arena_release" |
+ ":$full_name$)\n" |
" if (has_$name$()) {\n" |
" clear_has_$oneof_name$();\n" |
" $type$* temp = $oneof_prefix$$name$_;\n" |
@@ -744,6 +753,7 @@ InternalGenerateInlineAccessorDefinitions(const map<string, string>& variables, |
"$tmpl$" |
"$inline$" |
"$type$* $dependent_classname$::$release_name$() {\n" |
+ " // @@protoc_insertion_point(field_release:$full_name$)\n" |
" if ($this_message$has_$name$()) {\n" |
" $this_message$clear_has_$oneof_name$();\n" |
" $dependent_typename$* temp = $field_member$;\n" |
@@ -805,12 +815,12 @@ GenerateConstructorCode(io::Printer* printer) const { |
// =================================================================== |
-RepeatedMessageFieldGenerator:: |
-RepeatedMessageFieldGenerator(const FieldDescriptor* descriptor, |
- const Options& options) |
- : descriptor_(descriptor), |
- dependent_field_(options.proto_h && IsFieldDependent(descriptor)), |
- dependent_getter_(dependent_field_ && options.safe_boundary_check) { |
+RepeatedMessageFieldGenerator::RepeatedMessageFieldGenerator( |
+ const FieldDescriptor* descriptor, const Options& options) |
+ : FieldGenerator(options), |
+ descriptor_(descriptor), |
+ dependent_field_(options.proto_h && IsFieldDependent(descriptor)), |
+ dependent_getter_(dependent_field_ && options.safe_boundary_check) { |
SetMessageVariables(descriptor, &variables_, options); |
} |
@@ -825,23 +835,23 @@ GeneratePrivateMembers(io::Printer* printer) const { |
void RepeatedMessageFieldGenerator:: |
InternalGenerateTypeDependentAccessorDeclarations(io::Printer* printer) const { |
printer->Print(variables_, |
- "$type$* mutable_$name$(int index)$deprecation$;\n" |
- "$type$* add_$name$()$deprecation$;\n"); |
+ "$deprecated_attr$$type$* mutable_$name$(int index);\n" |
+ "$deprecated_attr$$type$* add_$name$();\n"); |
if (dependent_getter_) { |
printer->Print(variables_, |
- "const ::google::protobuf::RepeatedPtrField< $type$ >&\n" |
- " $name$() const$deprecation$;\n"); |
+ "$deprecated_attr$const ::google::protobuf::RepeatedPtrField< $type$ >&\n" |
+ " $name$() const;\n"); |
} |
printer->Print(variables_, |
- "::google::protobuf::RepeatedPtrField< $type$ >*\n" |
- " mutable_$name$()$deprecation$;\n"); |
+ "$deprecated_attr$::google::protobuf::RepeatedPtrField< $type$ >*\n" |
+ " mutable_$name$();\n"); |
} |
void RepeatedMessageFieldGenerator:: |
GenerateDependentAccessorDeclarations(io::Printer* printer) const { |
if (dependent_getter_) { |
printer->Print(variables_, |
- "const $type$& $name$(int index) const$deprecation$;\n"); |
+ "$deprecated_attr$const $type$& $name$(int index) const;\n"); |
} |
if (dependent_field_) { |
InternalGenerateTypeDependentAccessorDeclarations(printer); |
@@ -852,15 +862,15 @@ void RepeatedMessageFieldGenerator:: |
GenerateAccessorDeclarations(io::Printer* printer) const { |
if (!dependent_getter_) { |
printer->Print(variables_, |
- "const $type$& $name$(int index) const$deprecation$;\n"); |
+ "$deprecated_attr$const $type$& $name$(int index) const;\n"); |
} |
if (!dependent_field_) { |
InternalGenerateTypeDependentAccessorDeclarations(printer); |
} |
if (!dependent_getter_) { |
printer->Print(variables_, |
- "const ::google::protobuf::RepeatedPtrField< $type$ >&\n" |
- " $name$() const$deprecation$;\n"); |
+ "$deprecated_attr$const ::google::protobuf::RepeatedPtrField< $type$ >&\n" |
+ " $name$() const;\n"); |
} |
} |