| Index: third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_field.h
|
| diff --git a/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_field.h b/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_field.h
|
| index 1d7f823300ffb30e7ca686e72f74a2729ae504a0..f7d99b154cdc1bd854aa2820c0c3b61cf5ce2d4d 100644
|
| --- a/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_field.h
|
| +++ b/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_field.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
|
| @@ -36,12 +36,9 @@
|
| #define GOOGLE_PROTOBUF_COMPILER_CPP_FIELD_H__
|
|
|
| #include <map>
|
| -#include <memory>
|
| -#ifndef _SHARED_PTR_H
|
| -#include <google/protobuf/stubs/shared_ptr.h>
|
| -#endif
|
| #include <string>
|
|
|
| +#include <google/protobuf/stubs/common.h>
|
| #include <google/protobuf/descriptor.h>
|
| #include <google/protobuf/compiler/cpp/cpp_options.h>
|
|
|
| @@ -64,9 +61,6 @@ void SetCommonFieldVariables(const FieldDescriptor* descriptor,
|
| map<string, string>* variables,
|
| const Options& options);
|
|
|
| -void SetCommonOneofFieldVariables(const FieldDescriptor* descriptor,
|
| - map<string, string>* variables);
|
| -
|
| class FieldGenerator {
|
| public:
|
| FieldGenerator() {}
|
| @@ -77,51 +71,20 @@ class FieldGenerator {
|
| // class.
|
| virtual void GeneratePrivateMembers(io::Printer* printer) const = 0;
|
|
|
| - // Generate static default variable for this field. These are placed inside
|
| - // the message class. Most field types don't need this, so the default
|
| - // implementation is empty.
|
| - virtual void GenerateStaticMembers(io::Printer* /*printer*/) const {}
|
| -
|
| - // Generate prototypes for accessors that will manipulate imported
|
| - // messages inline. These are for .proto.h headers.
|
| - //
|
| - // In .proto.h mode, the headers of imports are not #included. However,
|
| - // functions that manipulate the imported message types need access to
|
| - // the class definition of the imported message, meaning that the headers
|
| - // must be #included. To get around this, functions that manipulate
|
| - // imported message objects are defined as dependent functions in a base
|
| - // template class. By making them dependent template functions, the
|
| - // function templates will not be instantiated until they are called, so
|
| - // we can defer to those translation units to #include the necessary
|
| - // generated headers.
|
| - //
|
| - // See:
|
| - // http://en.cppreference.com/w/cpp/language/class_template#Implicit_instantiation
|
| - //
|
| - // Most field types don't need this, so the default implementation is empty.
|
| - virtual void GenerateDependentAccessorDeclarations(
|
| - io::Printer* printer) const {}
|
| -
|
| // Generate prototypes for all of the accessor functions related to this
|
| // field. These are placed inside the class definition.
|
| virtual void GenerateAccessorDeclarations(io::Printer* printer) const = 0;
|
|
|
| - // Generate inline definitions of depenent accessor functions for this field.
|
| - // These are placed inside the header after all class definitions.
|
| - virtual void GenerateDependentInlineAccessorDefinitions(
|
| - io::Printer* printer) const {}
|
| -
|
| // Generate inline definitions of accessor functions for this field.
|
| // These are placed inside the header after all class definitions.
|
| - // In non-.proto.h mode, this generates dependent accessor functions as well.
|
| virtual void GenerateInlineAccessorDefinitions(
|
| - io::Printer* printer, bool is_inline) const = 0;
|
| + io::Printer* printer) const = 0;
|
|
|
| // Generate definitions of accessors that aren't inlined. These are
|
| // placed somewhere in the .cc file.
|
| // Most field types don't need this, so the default implementation is empty.
|
| virtual void GenerateNonInlineAccessorDefinitions(
|
| - io::Printer* /*printer*/) const {}
|
| + io::Printer* printer) const {}
|
|
|
| // Generate lines of code (statements, not declarations) which clear the
|
| // field. This is used to define the clear_$name$() method as well as
|
| @@ -151,25 +114,14 @@ class FieldGenerator {
|
| // Generate any code that needs to go in the class's SharedDtor() method,
|
| // invoked by the destructor.
|
| // Most field types don't need this, so the default implementation is empty.
|
| - virtual void GenerateDestructorCode(io::Printer* /*printer*/) const {}
|
| -
|
| - // Generate a manual destructor invocation for use when the message is on an
|
| - // arena. The code that this method generates will be executed inside a
|
| - // shared-for-the-whole-message-class method registered with OwnDestructor().
|
| - // The method should return |true| if it generated any code that requires a
|
| - // call; this allows the message generator to eliminate the OwnDestructor()
|
| - // registration if no fields require it.
|
| - virtual bool GenerateArenaDestructorCode(io::Printer* printer) const {
|
| - return false;
|
| - }
|
| + virtual void GenerateDestructorCode(io::Printer* printer) const {}
|
|
|
| // Generate code that allocates the fields's default instance.
|
| - virtual void GenerateDefaultInstanceAllocator(io::Printer* /*printer*/)
|
| - const {}
|
| + virtual void GenerateDefaultInstanceAllocator(io::Printer* printer) const {}
|
|
|
| // Generate code that should be run when ShutdownProtobufLibrary() is called,
|
| // to delete all dynamically-allocated objects.
|
| - virtual void GenerateShutdownCode(io::Printer* /*printer*/) const {}
|
| + virtual void GenerateShutdownCode(io::Printer* printer) const {}
|
|
|
| // Generate lines to decode this field, which will be placed inside the
|
| // message's MergeFromCodedStream() method.
|
| @@ -208,7 +160,7 @@ class FieldGeneratorMap {
|
|
|
| private:
|
| const Descriptor* descriptor_;
|
| - google::protobuf::scoped_array<google::protobuf::scoped_ptr<FieldGenerator> > field_generators_;
|
| + scoped_array<scoped_ptr<FieldGenerator> > field_generators_;
|
|
|
| static FieldGenerator* MakeGenerator(const FieldDescriptor* field,
|
| const Options& options);
|
|
|