aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Camillo Lugaresi <camillol@google.com>2016-12-20 17:39:37 -0800
committerGravatar Camillo Lugaresi <camillol@google.com>2016-12-21 20:46:42 -0800
commitabe172564edfdca186188e1a76924aa1a88eb65f (patch)
tree4ac7f70d6711956b7fad4e65fc906423528aec32 /src
parent4e229c8b5c62a3cd39196b71cbf1da6158335d5e (diff)
simpler, cheaper callback to LazyStringOutputStream
Diffstat (limited to 'src')
-rw-r--r--src/google/protobuf/compiler/cpp/cpp_message.cc16
1 files changed, 2 insertions, 14 deletions
diff --git a/src/google/protobuf/compiler/cpp/cpp_message.cc b/src/google/protobuf/compiler/cpp/cpp_message.cc
index 2b71acb5..2d3d5640 100644
--- a/src/google/protobuf/compiler/cpp/cpp_message.cc
+++ b/src/google/protobuf/compiler/cpp/cpp_message.cc
@@ -1661,18 +1661,6 @@ void MessageGenerator::
GenerateClassMethods(io::Printer* printer) {
if (IsMapEntryMessage(descriptor_)) return;
- // mutable_unknown_fields wrapper function for LazyStringOutputStream
- // callback.
- if (PreserveUnknownFields(descriptor_) &&
- !UseUnknownFieldSet(descriptor_->file(), options_)) {
- printer->Print(
- "static ::std::string* MutableUnknownFieldsFor$classname$(\n"
- " $classname$* ptr) {\n"
- " return ptr->mutable_unknown_fields();\n"
- "}\n"
- "\n",
- "classname", classname_);
- }
if (IsAnyMessage(descriptor_)) {
printer->Print(
"void $classname$::PackFrom(const ::google::protobuf::Message& message) {\n"
@@ -2936,8 +2924,8 @@ GenerateMergeFromCodedStream(io::Printer* printer) {
// on the CodedOutputStream.
printer->Print(
" ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(\n"
- " NewPermanentCallback(\n"
- " &MutableUnknownFieldsFor$classname$, this));\n"
+ " ::google::protobuf::NewPermanentCallback(&_internal_metadata_,\n"
+ " &::google::protobuf::internal::InternalMetadataWithArenaLite::mutable_unknown_fields));\n"
" ::google::protobuf::io::CodedOutputStream unknown_fields_stream(\n"
" &unknown_fields_string, false);\n",
"classname", classname_);