Home | History | Annotate | Download | only in protobuf
      1 // Generated by the protocol buffer compiler.  DO NOT EDIT!
      2 // source: google/protobuf/descriptor.proto
      3 
      4 #ifndef PROTOBUF_google_2fprotobuf_2fdescriptor_2eproto__INCLUDED
      5 #define PROTOBUF_google_2fprotobuf_2fdescriptor_2eproto__INCLUDED
      6 
      7 #include <string>
      8 
      9 #include <google/protobuf/stubs/common.h>
     10 
     11 #if GOOGLE_PROTOBUF_VERSION < 2005000
     12 #error This file was generated by a newer version of protoc which is
     13 #error incompatible with your Protocol Buffer headers.  Please update
     14 #error your headers.
     15 #endif
     16 #if 2005000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
     17 #error This file was generated by an older version of protoc which is
     18 #error incompatible with your Protocol Buffer headers.  Please
     19 #error regenerate this file with a newer version of protoc.
     20 #endif
     21 
     22 #include <google/protobuf/generated_message_util.h>
     23 #include <google/protobuf/message.h>
     24 #include <google/protobuf/repeated_field.h>
     25 #include <google/protobuf/extension_set.h>
     26 #include <google/protobuf/generated_enum_reflection.h>
     27 #include <google/protobuf/unknown_field_set.h>
     28 // @@protoc_insertion_point(includes)
     29 
     30 namespace google {
     31 namespace protobuf {
     32 
     33 // Internal implementation detail -- do not call these.
     34 void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
     35 void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
     36 void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
     37 
     38 class FileDescriptorSet;
     39 class FileDescriptorProto;
     40 class DescriptorProto;
     41 class DescriptorProto_ExtensionRange;
     42 class FieldDescriptorProto;
     43 class EnumDescriptorProto;
     44 class EnumValueDescriptorProto;
     45 class ServiceDescriptorProto;
     46 class MethodDescriptorProto;
     47 class FileOptions;
     48 class MessageOptions;
     49 class FieldOptions;
     50 class EnumOptions;
     51 class EnumValueOptions;
     52 class ServiceOptions;
     53 class MethodOptions;
     54 class UninterpretedOption;
     55 class UninterpretedOption_NamePart;
     56 class SourceCodeInfo;
     57 class SourceCodeInfo_Location;
     58 
     59 enum FieldDescriptorProto_Type {
     60   FieldDescriptorProto_Type_TYPE_DOUBLE = 1,
     61   FieldDescriptorProto_Type_TYPE_FLOAT = 2,
     62   FieldDescriptorProto_Type_TYPE_INT64 = 3,
     63   FieldDescriptorProto_Type_TYPE_UINT64 = 4,
     64   FieldDescriptorProto_Type_TYPE_INT32 = 5,
     65   FieldDescriptorProto_Type_TYPE_FIXED64 = 6,
     66   FieldDescriptorProto_Type_TYPE_FIXED32 = 7,
     67   FieldDescriptorProto_Type_TYPE_BOOL = 8,
     68   FieldDescriptorProto_Type_TYPE_STRING = 9,
     69   FieldDescriptorProto_Type_TYPE_GROUP = 10,
     70   FieldDescriptorProto_Type_TYPE_MESSAGE = 11,
     71   FieldDescriptorProto_Type_TYPE_BYTES = 12,
     72   FieldDescriptorProto_Type_TYPE_UINT32 = 13,
     73   FieldDescriptorProto_Type_TYPE_ENUM = 14,
     74   FieldDescriptorProto_Type_TYPE_SFIXED32 = 15,
     75   FieldDescriptorProto_Type_TYPE_SFIXED64 = 16,
     76   FieldDescriptorProto_Type_TYPE_SINT32 = 17,
     77   FieldDescriptorProto_Type_TYPE_SINT64 = 18
     78 };
     79 LIBPROTOBUF_EXPORT bool FieldDescriptorProto_Type_IsValid(int value);
     80 const FieldDescriptorProto_Type FieldDescriptorProto_Type_Type_MIN = FieldDescriptorProto_Type_TYPE_DOUBLE;
     81 const FieldDescriptorProto_Type FieldDescriptorProto_Type_Type_MAX = FieldDescriptorProto_Type_TYPE_SINT64;
     82 const int FieldDescriptorProto_Type_Type_ARRAYSIZE = FieldDescriptorProto_Type_Type_MAX + 1;
     83 
     84 LIBPROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Type_descriptor();
     85 inline const ::std::string& FieldDescriptorProto_Type_Name(FieldDescriptorProto_Type value) {
     86   return ::google::protobuf::internal::NameOfEnum(
     87     FieldDescriptorProto_Type_descriptor(), value);
     88 }
     89 inline bool FieldDescriptorProto_Type_Parse(
     90     const ::std::string& name, FieldDescriptorProto_Type* value) {
     91   return ::google::protobuf::internal::ParseNamedEnum<FieldDescriptorProto_Type>(
     92     FieldDescriptorProto_Type_descriptor(), name, value);
     93 }
     94 enum FieldDescriptorProto_Label {
     95   FieldDescriptorProto_Label_LABEL_OPTIONAL = 1,
     96   FieldDescriptorProto_Label_LABEL_REQUIRED = 2,
     97   FieldDescriptorProto_Label_LABEL_REPEATED = 3
     98 };
     99 LIBPROTOBUF_EXPORT bool FieldDescriptorProto_Label_IsValid(int value);
    100 const FieldDescriptorProto_Label FieldDescriptorProto_Label_Label_MIN = FieldDescriptorProto_Label_LABEL_OPTIONAL;
    101 const FieldDescriptorProto_Label FieldDescriptorProto_Label_Label_MAX = FieldDescriptorProto_Label_LABEL_REPEATED;
    102 const int FieldDescriptorProto_Label_Label_ARRAYSIZE = FieldDescriptorProto_Label_Label_MAX + 1;
    103 
    104 LIBPROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Label_descriptor();
    105 inline const ::std::string& FieldDescriptorProto_Label_Name(FieldDescriptorProto_Label value) {
    106   return ::google::protobuf::internal::NameOfEnum(
    107     FieldDescriptorProto_Label_descriptor(), value);
    108 }
    109 inline bool FieldDescriptorProto_Label_Parse(
    110     const ::std::string& name, FieldDescriptorProto_Label* value) {
    111   return ::google::protobuf::internal::ParseNamedEnum<FieldDescriptorProto_Label>(
    112     FieldDescriptorProto_Label_descriptor(), name, value);
    113 }
    114 enum FileOptions_OptimizeMode {
    115   FileOptions_OptimizeMode_SPEED = 1,
    116   FileOptions_OptimizeMode_CODE_SIZE = 2,
    117   FileOptions_OptimizeMode_LITE_RUNTIME = 3
    118 };
    119 LIBPROTOBUF_EXPORT bool FileOptions_OptimizeMode_IsValid(int value);
    120 const FileOptions_OptimizeMode FileOptions_OptimizeMode_OptimizeMode_MIN = FileOptions_OptimizeMode_SPEED;
    121 const FileOptions_OptimizeMode FileOptions_OptimizeMode_OptimizeMode_MAX = FileOptions_OptimizeMode_LITE_RUNTIME;
    122 const int FileOptions_OptimizeMode_OptimizeMode_ARRAYSIZE = FileOptions_OptimizeMode_OptimizeMode_MAX + 1;
    123 
    124 LIBPROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* FileOptions_OptimizeMode_descriptor();
    125 inline const ::std::string& FileOptions_OptimizeMode_Name(FileOptions_OptimizeMode value) {
    126   return ::google::protobuf::internal::NameOfEnum(
    127     FileOptions_OptimizeMode_descriptor(), value);
    128 }
    129 inline bool FileOptions_OptimizeMode_Parse(
    130     const ::std::string& name, FileOptions_OptimizeMode* value) {
    131   return ::google::protobuf::internal::ParseNamedEnum<FileOptions_OptimizeMode>(
    132     FileOptions_OptimizeMode_descriptor(), name, value);
    133 }
    134 enum FieldOptions_CType {
    135   FieldOptions_CType_STRING = 0,
    136   FieldOptions_CType_CORD = 1,
    137   FieldOptions_CType_STRING_PIECE = 2
    138 };
    139 LIBPROTOBUF_EXPORT bool FieldOptions_CType_IsValid(int value);
    140 const FieldOptions_CType FieldOptions_CType_CType_MIN = FieldOptions_CType_STRING;
    141 const FieldOptions_CType FieldOptions_CType_CType_MAX = FieldOptions_CType_STRING_PIECE;
    142 const int FieldOptions_CType_CType_ARRAYSIZE = FieldOptions_CType_CType_MAX + 1;
    143 
    144 LIBPROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* FieldOptions_CType_descriptor();
    145 inline const ::std::string& FieldOptions_CType_Name(FieldOptions_CType value) {
    146   return ::google::protobuf::internal::NameOfEnum(
    147     FieldOptions_CType_descriptor(), value);
    148 }
    149 inline bool FieldOptions_CType_Parse(
    150     const ::std::string& name, FieldOptions_CType* value) {
    151   return ::google::protobuf::internal::ParseNamedEnum<FieldOptions_CType>(
    152     FieldOptions_CType_descriptor(), name, value);
    153 }
    154 // ===================================================================
    155 
    156 class LIBPROTOBUF_EXPORT FileDescriptorSet : public ::google::protobuf::Message {
    157  public:
    158   FileDescriptorSet();
    159   virtual ~FileDescriptorSet();
    160 
    161   FileDescriptorSet(const FileDescriptorSet& from);
    162 
    163   inline FileDescriptorSet& operator=(const FileDescriptorSet& from) {
    164     CopyFrom(from);
    165     return *this;
    166   }
    167 
    168   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    169     return _unknown_fields_;
    170   }
    171 
    172   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    173     return &_unknown_fields_;
    174   }
    175 
    176   static const ::google::protobuf::Descriptor* descriptor();
    177   static const FileDescriptorSet& default_instance();
    178 
    179   void Swap(FileDescriptorSet* other);
    180 
    181   // implements Message ----------------------------------------------
    182 
    183   FileDescriptorSet* New() const;
    184   void CopyFrom(const ::google::protobuf::Message& from);
    185   void MergeFrom(const ::google::protobuf::Message& from);
    186   void CopyFrom(const FileDescriptorSet& from);
    187   void MergeFrom(const FileDescriptorSet& from);
    188   void Clear();
    189   bool IsInitialized() const;
    190 
    191   int ByteSize() const;
    192   bool MergePartialFromCodedStream(
    193       ::google::protobuf::io::CodedInputStream* input);
    194   void SerializeWithCachedSizes(
    195       ::google::protobuf::io::CodedOutputStream* output) const;
    196   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
    197   int GetCachedSize() const { return _cached_size_; }
    198   private:
    199   void SharedCtor();
    200   void SharedDtor();
    201   void SetCachedSize(int size) const;
    202   public:
    203 
    204   ::google::protobuf::Metadata GetMetadata() const;
    205 
    206   // nested types ----------------------------------------------------
    207 
    208   // accessors -------------------------------------------------------
    209 
    210   // repeated .google.protobuf.FileDescriptorProto file = 1;
    211   inline int file_size() const;
    212   inline void clear_file();
    213   static const int kFileFieldNumber = 1;
    214   inline const ::google::protobuf::FileDescriptorProto& file(int index) const;
    215   inline ::google::protobuf::FileDescriptorProto* mutable_file(int index);
    216   inline ::google::protobuf::FileDescriptorProto* add_file();
    217   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FileDescriptorProto >&
    218       file() const;
    219   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::FileDescriptorProto >*
    220       mutable_file();
    221 
    222   // @@protoc_insertion_point(class_scope:google.protobuf.FileDescriptorSet)
    223  private:
    224 
    225   ::google::protobuf::UnknownFieldSet _unknown_fields_;
    226 
    227   ::google::protobuf::RepeatedPtrField< ::google::protobuf::FileDescriptorProto > file_;
    228 
    229   mutable int _cached_size_;
    230   ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
    231 
    232   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
    233   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
    234   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
    235 
    236   void InitAsDefaultInstance();
    237   static FileDescriptorSet* default_instance_;
    238 };
    239 // -------------------------------------------------------------------
    240 
    241 class LIBPROTOBUF_EXPORT FileDescriptorProto : public ::google::protobuf::Message {
    242  public:
    243   FileDescriptorProto();
    244   virtual ~FileDescriptorProto();
    245 
    246   FileDescriptorProto(const FileDescriptorProto& from);
    247 
    248   inline FileDescriptorProto& operator=(const FileDescriptorProto& from) {
    249     CopyFrom(from);
    250     return *this;
    251   }
    252 
    253   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    254     return _unknown_fields_;
    255   }
    256 
    257   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    258     return &_unknown_fields_;
    259   }
    260 
    261   static const ::google::protobuf::Descriptor* descriptor();
    262   static const FileDescriptorProto& default_instance();
    263 
    264   void Swap(FileDescriptorProto* other);
    265 
    266   // implements Message ----------------------------------------------
    267 
    268   FileDescriptorProto* New() const;
    269   void CopyFrom(const ::google::protobuf::Message& from);
    270   void MergeFrom(const ::google::protobuf::Message& from);
    271   void CopyFrom(const FileDescriptorProto& from);
    272   void MergeFrom(const FileDescriptorProto& from);
    273   void Clear();
    274   bool IsInitialized() const;
    275 
    276   int ByteSize() const;
    277   bool MergePartialFromCodedStream(
    278       ::google::protobuf::io::CodedInputStream* input);
    279   void SerializeWithCachedSizes(
    280       ::google::protobuf::io::CodedOutputStream* output) const;
    281   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
    282   int GetCachedSize() const { return _cached_size_; }
    283   private:
    284   void SharedCtor();
    285   void SharedDtor();
    286   void SetCachedSize(int size) const;
    287   public:
    288 
    289   ::google::protobuf::Metadata GetMetadata() const;
    290 
    291   // nested types ----------------------------------------------------
    292 
    293   // accessors -------------------------------------------------------
    294 
    295   // optional string name = 1;
    296   inline bool has_name() const;
    297   inline void clear_name();
    298   static const int kNameFieldNumber = 1;
    299   inline const ::std::string& name() const;
    300   inline void set_name(const ::std::string& value);
    301   inline void set_name(const char* value);
    302   inline void set_name(const char* value, size_t size);
    303   inline ::std::string* mutable_name();
    304   inline ::std::string* release_name();
    305   inline void set_allocated_name(::std::string* name);
    306 
    307   // optional string package = 2;
    308   inline bool has_package() const;
    309   inline void clear_package();
    310   static const int kPackageFieldNumber = 2;
    311   inline const ::std::string& package() const;
    312   inline void set_package(const ::std::string& value);
    313   inline void set_package(const char* value);
    314   inline void set_package(const char* value, size_t size);
    315   inline ::std::string* mutable_package();
    316   inline ::std::string* release_package();
    317   inline void set_allocated_package(::std::string* package);
    318 
    319   // repeated string dependency = 3;
    320   inline int dependency_size() const;
    321   inline void clear_dependency();
    322   static const int kDependencyFieldNumber = 3;
    323   inline const ::std::string& dependency(int index) const;
    324   inline ::std::string* mutable_dependency(int index);
    325   inline void set_dependency(int index, const ::std::string& value);
    326   inline void set_dependency(int index, const char* value);
    327   inline void set_dependency(int index, const char* value, size_t size);
    328   inline ::std::string* add_dependency();
    329   inline void add_dependency(const ::std::string& value);
    330   inline void add_dependency(const char* value);
    331   inline void add_dependency(const char* value, size_t size);
    332   inline const ::google::protobuf::RepeatedPtrField< ::std::string>& dependency() const;
    333   inline ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_dependency();
    334 
    335   // repeated int32 public_dependency = 10;
    336   inline int public_dependency_size() const;
    337   inline void clear_public_dependency();
    338   static const int kPublicDependencyFieldNumber = 10;
    339   inline ::google::protobuf::int32 public_dependency(int index) const;
    340   inline void set_public_dependency(int index, ::google::protobuf::int32 value);
    341   inline void add_public_dependency(::google::protobuf::int32 value);
    342   inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
    343       public_dependency() const;
    344   inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
    345       mutable_public_dependency();
    346 
    347   // repeated int32 weak_dependency = 11;
    348   inline int weak_dependency_size() const;
    349   inline void clear_weak_dependency();
    350   static const int kWeakDependencyFieldNumber = 11;
    351   inline ::google::protobuf::int32 weak_dependency(int index) const;
    352   inline void set_weak_dependency(int index, ::google::protobuf::int32 value);
    353   inline void add_weak_dependency(::google::protobuf::int32 value);
    354   inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
    355       weak_dependency() const;
    356   inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
    357       mutable_weak_dependency();
    358 
    359   // repeated .google.protobuf.DescriptorProto message_type = 4;
    360   inline int message_type_size() const;
    361   inline void clear_message_type();
    362   static const int kMessageTypeFieldNumber = 4;
    363   inline const ::google::protobuf::DescriptorProto& message_type(int index) const;
    364   inline ::google::protobuf::DescriptorProto* mutable_message_type(int index);
    365   inline ::google::protobuf::DescriptorProto* add_message_type();
    366   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >&
    367       message_type() const;
    368   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >*
    369       mutable_message_type();
    370 
    371   // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
    372   inline int enum_type_size() const;
    373   inline void clear_enum_type();
    374   static const int kEnumTypeFieldNumber = 5;
    375   inline const ::google::protobuf::EnumDescriptorProto& enum_type(int index) const;
    376   inline ::google::protobuf::EnumDescriptorProto* mutable_enum_type(int index);
    377   inline ::google::protobuf::EnumDescriptorProto* add_enum_type();
    378   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >&
    379       enum_type() const;
    380   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >*
    381       mutable_enum_type();
    382 
    383   // repeated .google.protobuf.ServiceDescriptorProto service = 6;
    384   inline int service_size() const;
    385   inline void clear_service();
    386   static const int kServiceFieldNumber = 6;
    387   inline const ::google::protobuf::ServiceDescriptorProto& service(int index) const;
    388   inline ::google::protobuf::ServiceDescriptorProto* mutable_service(int index);
    389   inline ::google::protobuf::ServiceDescriptorProto* add_service();
    390   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::ServiceDescriptorProto >&
    391       service() const;
    392   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::ServiceDescriptorProto >*
    393       mutable_service();
    394 
    395   // repeated .google.protobuf.FieldDescriptorProto extension = 7;
    396   inline int extension_size() const;
    397   inline void clear_extension();
    398   static const int kExtensionFieldNumber = 7;
    399   inline const ::google::protobuf::FieldDescriptorProto& extension(int index) const;
    400   inline ::google::protobuf::FieldDescriptorProto* mutable_extension(int index);
    401   inline ::google::protobuf::FieldDescriptorProto* add_extension();
    402   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >&
    403       extension() const;
    404   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >*
    405       mutable_extension();
    406 
    407   // optional .google.protobuf.FileOptions options = 8;
    408   inline bool has_options() const;
    409   inline void clear_options();
    410   static const int kOptionsFieldNumber = 8;
    411   inline const ::google::protobuf::FileOptions& options() const;
    412   inline ::google::protobuf::FileOptions* mutable_options();
    413   inline ::google::protobuf::FileOptions* release_options();
    414   inline void set_allocated_options(::google::protobuf::FileOptions* options);
    415 
    416   // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
    417   inline bool has_source_code_info() const;
    418   inline void clear_source_code_info();
    419   static const int kSourceCodeInfoFieldNumber = 9;
    420   inline const ::google::protobuf::SourceCodeInfo& source_code_info() const;
    421   inline ::google::protobuf::SourceCodeInfo* mutable_source_code_info();
    422   inline ::google::protobuf::SourceCodeInfo* release_source_code_info();
    423   inline void set_allocated_source_code_info(::google::protobuf::SourceCodeInfo* source_code_info);
    424 
    425   // @@protoc_insertion_point(class_scope:google.protobuf.FileDescriptorProto)
    426  private:
    427   inline void set_has_name();
    428   inline void clear_has_name();
    429   inline void set_has_package();
    430   inline void clear_has_package();
    431   inline void set_has_options();
    432   inline void clear_has_options();
    433   inline void set_has_source_code_info();
    434   inline void clear_has_source_code_info();
    435 
    436   ::google::protobuf::UnknownFieldSet _unknown_fields_;
    437 
    438   ::std::string* name_;
    439   ::std::string* package_;
    440   ::google::protobuf::RepeatedPtrField< ::std::string> dependency_;
    441   ::google::protobuf::RepeatedField< ::google::protobuf::int32 > public_dependency_;
    442   ::google::protobuf::RepeatedField< ::google::protobuf::int32 > weak_dependency_;
    443   ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto > message_type_;
    444   ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto > enum_type_;
    445   ::google::protobuf::RepeatedPtrField< ::google::protobuf::ServiceDescriptorProto > service_;
    446   ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto > extension_;
    447   ::google::protobuf::FileOptions* options_;
    448   ::google::protobuf::SourceCodeInfo* source_code_info_;
    449 
    450   mutable int _cached_size_;
    451   ::google::protobuf::uint32 _has_bits_[(11 + 31) / 32];
    452 
    453   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
    454   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
    455   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
    456 
    457   void InitAsDefaultInstance();
    458   static FileDescriptorProto* default_instance_;
    459 };
    460 // -------------------------------------------------------------------
    461 
    462 class LIBPROTOBUF_EXPORT DescriptorProto_ExtensionRange : public ::google::protobuf::Message {
    463  public:
    464   DescriptorProto_ExtensionRange();
    465   virtual ~DescriptorProto_ExtensionRange();
    466 
    467   DescriptorProto_ExtensionRange(const DescriptorProto_ExtensionRange& from);
    468 
    469   inline DescriptorProto_ExtensionRange& operator=(const DescriptorProto_ExtensionRange& from) {
    470     CopyFrom(from);
    471     return *this;
    472   }
    473 
    474   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    475     return _unknown_fields_;
    476   }
    477 
    478   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    479     return &_unknown_fields_;
    480   }
    481 
    482   static const ::google::protobuf::Descriptor* descriptor();
    483   static const DescriptorProto_ExtensionRange& default_instance();
    484 
    485   void Swap(DescriptorProto_ExtensionRange* other);
    486 
    487   // implements Message ----------------------------------------------
    488 
    489   DescriptorProto_ExtensionRange* New() const;
    490   void CopyFrom(const ::google::protobuf::Message& from);
    491   void MergeFrom(const ::google::protobuf::Message& from);
    492   void CopyFrom(const DescriptorProto_ExtensionRange& from);
    493   void MergeFrom(const DescriptorProto_ExtensionRange& from);
    494   void Clear();
    495   bool IsInitialized() const;
    496 
    497   int ByteSize() const;
    498   bool MergePartialFromCodedStream(
    499       ::google::protobuf::io::CodedInputStream* input);
    500   void SerializeWithCachedSizes(
    501       ::google::protobuf::io::CodedOutputStream* output) const;
    502   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
    503   int GetCachedSize() const { return _cached_size_; }
    504   private:
    505   void SharedCtor();
    506   void SharedDtor();
    507   void SetCachedSize(int size) const;
    508   public:
    509 
    510   ::google::protobuf::Metadata GetMetadata() const;
    511 
    512   // nested types ----------------------------------------------------
    513 
    514   // accessors -------------------------------------------------------
    515 
    516   // optional int32 start = 1;
    517   inline bool has_start() const;
    518   inline void clear_start();
    519   static const int kStartFieldNumber = 1;
    520   inline ::google::protobuf::int32 start() const;
    521   inline void set_start(::google::protobuf::int32 value);
    522 
    523   // optional int32 end = 2;
    524   inline bool has_end() const;
    525   inline void clear_end();
    526   static const int kEndFieldNumber = 2;
    527   inline ::google::protobuf::int32 end() const;
    528   inline void set_end(::google::protobuf::int32 value);
    529 
    530   // @@protoc_insertion_point(class_scope:google.protobuf.DescriptorProto.ExtensionRange)
    531  private:
    532   inline void set_has_start();
    533   inline void clear_has_start();
    534   inline void set_has_end();
    535   inline void clear_has_end();
    536 
    537   ::google::protobuf::UnknownFieldSet _unknown_fields_;
    538 
    539   ::google::protobuf::int32 start_;
    540   ::google::protobuf::int32 end_;
    541 
    542   mutable int _cached_size_;
    543   ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];
    544 
    545   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
    546   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
    547   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
    548 
    549   void InitAsDefaultInstance();
    550   static DescriptorProto_ExtensionRange* default_instance_;
    551 };
    552 // -------------------------------------------------------------------
    553 
    554 class LIBPROTOBUF_EXPORT DescriptorProto : public ::google::protobuf::Message {
    555  public:
    556   DescriptorProto();
    557   virtual ~DescriptorProto();
    558 
    559   DescriptorProto(const DescriptorProto& from);
    560 
    561   inline DescriptorProto& operator=(const DescriptorProto& from) {
    562     CopyFrom(from);
    563     return *this;
    564   }
    565 
    566   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    567     return _unknown_fields_;
    568   }
    569 
    570   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    571     return &_unknown_fields_;
    572   }
    573 
    574   static const ::google::protobuf::Descriptor* descriptor();
    575   static const DescriptorProto& default_instance();
    576 
    577   void Swap(DescriptorProto* other);
    578 
    579   // implements Message ----------------------------------------------
    580 
    581   DescriptorProto* New() const;
    582   void CopyFrom(const ::google::protobuf::Message& from);
    583   void MergeFrom(const ::google::protobuf::Message& from);
    584   void CopyFrom(const DescriptorProto& from);
    585   void MergeFrom(const DescriptorProto& from);
    586   void Clear();
    587   bool IsInitialized() const;
    588 
    589   int ByteSize() const;
    590   bool MergePartialFromCodedStream(
    591       ::google::protobuf::io::CodedInputStream* input);
    592   void SerializeWithCachedSizes(
    593       ::google::protobuf::io::CodedOutputStream* output) const;
    594   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
    595   int GetCachedSize() const { return _cached_size_; }
    596   private:
    597   void SharedCtor();
    598   void SharedDtor();
    599   void SetCachedSize(int size) const;
    600   public:
    601 
    602   ::google::protobuf::Metadata GetMetadata() const;
    603 
    604   // nested types ----------------------------------------------------
    605 
    606   typedef DescriptorProto_ExtensionRange ExtensionRange;
    607 
    608   // accessors -------------------------------------------------------
    609 
    610   // optional string name = 1;
    611   inline bool has_name() const;
    612   inline void clear_name();
    613   static const int kNameFieldNumber = 1;
    614   inline const ::std::string& name() const;
    615   inline void set_name(const ::std::string& value);
    616   inline void set_name(const char* value);
    617   inline void set_name(const char* value, size_t size);
    618   inline ::std::string* mutable_name();
    619   inline ::std::string* release_name();
    620   inline void set_allocated_name(::std::string* name);
    621 
    622   // repeated .google.protobuf.FieldDescriptorProto field = 2;
    623   inline int field_size() const;
    624   inline void clear_field();
    625   static const int kFieldFieldNumber = 2;
    626   inline const ::google::protobuf::FieldDescriptorProto& field(int index) const;
    627   inline ::google::protobuf::FieldDescriptorProto* mutable_field(int index);
    628   inline ::google::protobuf::FieldDescriptorProto* add_field();
    629   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >&
    630       field() const;
    631   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >*
    632       mutable_field();
    633 
    634   // repeated .google.protobuf.FieldDescriptorProto extension = 6;
    635   inline int extension_size() const;
    636   inline void clear_extension();
    637   static const int kExtensionFieldNumber = 6;
    638   inline const ::google::protobuf::FieldDescriptorProto& extension(int index) const;
    639   inline ::google::protobuf::FieldDescriptorProto* mutable_extension(int index);
    640   inline ::google::protobuf::FieldDescriptorProto* add_extension();
    641   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >&
    642       extension() const;
    643   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >*
    644       mutable_extension();
    645 
    646   // repeated .google.protobuf.DescriptorProto nested_type = 3;
    647   inline int nested_type_size() const;
    648   inline void clear_nested_type();
    649   static const int kNestedTypeFieldNumber = 3;
    650   inline const ::google::protobuf::DescriptorProto& nested_type(int index) const;
    651   inline ::google::protobuf::DescriptorProto* mutable_nested_type(int index);
    652   inline ::google::protobuf::DescriptorProto* add_nested_type();
    653   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >&
    654       nested_type() const;
    655   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >*
    656       mutable_nested_type();
    657 
    658   // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
    659   inline int enum_type_size() const;
    660   inline void clear_enum_type();
    661   static const int kEnumTypeFieldNumber = 4;
    662   inline const ::google::protobuf::EnumDescriptorProto& enum_type(int index) const;
    663   inline ::google::protobuf::EnumDescriptorProto* mutable_enum_type(int index);
    664   inline ::google::protobuf::EnumDescriptorProto* add_enum_type();
    665   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >&
    666       enum_type() const;
    667   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >*
    668       mutable_enum_type();
    669 
    670   // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
    671   inline int extension_range_size() const;
    672   inline void clear_extension_range();
    673   static const int kExtensionRangeFieldNumber = 5;
    674   inline const ::google::protobuf::DescriptorProto_ExtensionRange& extension_range(int index) const;
    675   inline ::google::protobuf::DescriptorProto_ExtensionRange* mutable_extension_range(int index);
    676   inline ::google::protobuf::DescriptorProto_ExtensionRange* add_extension_range();
    677   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ExtensionRange >&
    678       extension_range() const;
    679   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ExtensionRange >*
    680       mutable_extension_range();
    681 
    682   // optional .google.protobuf.MessageOptions options = 7;
    683   inline bool has_options() const;
    684   inline void clear_options();
    685   static const int kOptionsFieldNumber = 7;
    686   inline const ::google::protobuf::MessageOptions& options() const;
    687   inline ::google::protobuf::MessageOptions* mutable_options();
    688   inline ::google::protobuf::MessageOptions* release_options();
    689   inline void set_allocated_options(::google::protobuf::MessageOptions* options);
    690 
    691   // @@protoc_insertion_point(class_scope:google.protobuf.DescriptorProto)
    692  private:
    693   inline void set_has_name();
    694   inline void clear_has_name();
    695   inline void set_has_options();
    696   inline void clear_has_options();
    697 
    698   ::google::protobuf::UnknownFieldSet _unknown_fields_;
    699 
    700   ::std::string* name_;
    701   ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto > field_;
    702   ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto > extension_;
    703   ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto > nested_type_;
    704   ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto > enum_type_;
    705   ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ExtensionRange > extension_range_;
    706   ::google::protobuf::MessageOptions* options_;
    707 
    708   mutable int _cached_size_;
    709   ::google::protobuf::uint32 _has_bits_[(7 + 31) / 32];
    710 
    711   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
    712   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
    713   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
    714 
    715   void InitAsDefaultInstance();
    716   static DescriptorProto* default_instance_;
    717 };
    718 // -------------------------------------------------------------------
    719 
    720 class LIBPROTOBUF_EXPORT FieldDescriptorProto : public ::google::protobuf::Message {
    721  public:
    722   FieldDescriptorProto();
    723   virtual ~FieldDescriptorProto();
    724 
    725   FieldDescriptorProto(const FieldDescriptorProto& from);
    726 
    727   inline FieldDescriptorProto& operator=(const FieldDescriptorProto& from) {
    728     CopyFrom(from);
    729     return *this;
    730   }
    731 
    732   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    733     return _unknown_fields_;
    734   }
    735 
    736   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    737     return &_unknown_fields_;
    738   }
    739 
    740   static const ::google::protobuf::Descriptor* descriptor();
    741   static const FieldDescriptorProto& default_instance();
    742 
    743   void Swap(FieldDescriptorProto* other);
    744 
    745   // implements Message ----------------------------------------------
    746 
    747   FieldDescriptorProto* New() const;
    748   void CopyFrom(const ::google::protobuf::Message& from);
    749   void MergeFrom(const ::google::protobuf::Message& from);
    750   void CopyFrom(const FieldDescriptorProto& from);
    751   void MergeFrom(const FieldDescriptorProto& from);
    752   void Clear();
    753   bool IsInitialized() const;
    754 
    755   int ByteSize() const;
    756   bool MergePartialFromCodedStream(
    757       ::google::protobuf::io::CodedInputStream* input);
    758   void SerializeWithCachedSizes(
    759       ::google::protobuf::io::CodedOutputStream* output) const;
    760   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
    761   int GetCachedSize() const { return _cached_size_; }
    762   private:
    763   void SharedCtor();
    764   void SharedDtor();
    765   void SetCachedSize(int size) const;
    766   public:
    767 
    768   ::google::protobuf::Metadata GetMetadata() const;
    769 
    770   // nested types ----------------------------------------------------
    771 
    772   typedef FieldDescriptorProto_Type Type;
    773   static const Type TYPE_DOUBLE = FieldDescriptorProto_Type_TYPE_DOUBLE;
    774   static const Type TYPE_FLOAT = FieldDescriptorProto_Type_TYPE_FLOAT;
    775   static const Type TYPE_INT64 = FieldDescriptorProto_Type_TYPE_INT64;
    776   static const Type TYPE_UINT64 = FieldDescriptorProto_Type_TYPE_UINT64;
    777   static const Type TYPE_INT32 = FieldDescriptorProto_Type_TYPE_INT32;
    778   static const Type TYPE_FIXED64 = FieldDescriptorProto_Type_TYPE_FIXED64;
    779   static const Type TYPE_FIXED32 = FieldDescriptorProto_Type_TYPE_FIXED32;
    780   static const Type TYPE_BOOL = FieldDescriptorProto_Type_TYPE_BOOL;
    781   static const Type TYPE_STRING = FieldDescriptorProto_Type_TYPE_STRING;
    782   static const Type TYPE_GROUP = FieldDescriptorProto_Type_TYPE_GROUP;
    783   static const Type TYPE_MESSAGE = FieldDescriptorProto_Type_TYPE_MESSAGE;
    784   static const Type TYPE_BYTES = FieldDescriptorProto_Type_TYPE_BYTES;
    785   static const Type TYPE_UINT32 = FieldDescriptorProto_Type_TYPE_UINT32;
    786   static const Type TYPE_ENUM = FieldDescriptorProto_Type_TYPE_ENUM;
    787   static const Type TYPE_SFIXED32 = FieldDescriptorProto_Type_TYPE_SFIXED32;
    788   static const Type TYPE_SFIXED64 = FieldDescriptorProto_Type_TYPE_SFIXED64;
    789   static const Type TYPE_SINT32 = FieldDescriptorProto_Type_TYPE_SINT32;
    790   static const Type TYPE_SINT64 = FieldDescriptorProto_Type_TYPE_SINT64;
    791   static inline bool Type_IsValid(int value) {
    792     return FieldDescriptorProto_Type_IsValid(value);
    793   }
    794   static const Type Type_MIN =
    795     FieldDescriptorProto_Type_Type_MIN;
    796   static const Type Type_MAX =
    797     FieldDescriptorProto_Type_Type_MAX;
    798   static const int Type_ARRAYSIZE =
    799     FieldDescriptorProto_Type_Type_ARRAYSIZE;
    800   static inline const ::google::protobuf::EnumDescriptor*
    801   Type_descriptor() {
    802     return FieldDescriptorProto_Type_descriptor();
    803   }
    804   static inline const ::std::string& Type_Name(Type value) {
    805     return FieldDescriptorProto_Type_Name(value);
    806   }
    807   static inline bool Type_Parse(const ::std::string& name,
    808       Type* value) {
    809     return FieldDescriptorProto_Type_Parse(name, value);
    810   }
    811 
    812   typedef FieldDescriptorProto_Label Label;
    813   static const Label LABEL_OPTIONAL = FieldDescriptorProto_Label_LABEL_OPTIONAL;
    814   static const Label LABEL_REQUIRED = FieldDescriptorProto_Label_LABEL_REQUIRED;
    815   static const Label LABEL_REPEATED = FieldDescriptorProto_Label_LABEL_REPEATED;
    816   static inline bool Label_IsValid(int value) {
    817     return FieldDescriptorProto_Label_IsValid(value);
    818   }
    819   static const Label Label_MIN =
    820     FieldDescriptorProto_Label_Label_MIN;
    821   static const Label Label_MAX =
    822     FieldDescriptorProto_Label_Label_MAX;
    823   static const int Label_ARRAYSIZE =
    824     FieldDescriptorProto_Label_Label_ARRAYSIZE;
    825   static inline const ::google::protobuf::EnumDescriptor*
    826   Label_descriptor() {
    827     return FieldDescriptorProto_Label_descriptor();
    828   }
    829   static inline const ::std::string& Label_Name(Label value) {
    830     return FieldDescriptorProto_Label_Name(value);
    831   }
    832   static inline bool Label_Parse(const ::std::string& name,
    833       Label* value) {
    834     return FieldDescriptorProto_Label_Parse(name, value);
    835   }
    836 
    837   // accessors -------------------------------------------------------
    838 
    839   // optional string name = 1;
    840   inline bool has_name() const;
    841   inline void clear_name();
    842   static const int kNameFieldNumber = 1;
    843   inline const ::std::string& name() const;
    844   inline void set_name(const ::std::string& value);
    845   inline void set_name(const char* value);
    846   inline void set_name(const char* value, size_t size);
    847   inline ::std::string* mutable_name();
    848   inline ::std::string* release_name();
    849   inline void set_allocated_name(::std::string* name);
    850 
    851   // optional int32 number = 3;
    852   inline bool has_number() const;
    853   inline void clear_number();
    854   static const int kNumberFieldNumber = 3;
    855   inline ::google::protobuf::int32 number() const;
    856   inline void set_number(::google::protobuf::int32 value);
    857 
    858   // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
    859   inline bool has_label() const;
    860   inline void clear_label();
    861   static const int kLabelFieldNumber = 4;
    862   inline ::google::protobuf::FieldDescriptorProto_Label label() const;
    863   inline void set_label(::google::protobuf::FieldDescriptorProto_Label value);
    864 
    865   // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
    866   inline bool has_type() const;
    867   inline void clear_type();
    868   static const int kTypeFieldNumber = 5;
    869   inline ::google::protobuf::FieldDescriptorProto_Type type() const;
    870   inline void set_type(::google::protobuf::FieldDescriptorProto_Type value);
    871 
    872   // optional string type_name = 6;
    873   inline bool has_type_name() const;
    874   inline void clear_type_name();
    875   static const int kTypeNameFieldNumber = 6;
    876   inline const ::std::string& type_name() const;
    877   inline void set_type_name(const ::std::string& value);
    878   inline void set_type_name(const char* value);
    879   inline void set_type_name(const char* value, size_t size);
    880   inline ::std::string* mutable_type_name();
    881   inline ::std::string* release_type_name();
    882   inline void set_allocated_type_name(::std::string* type_name);
    883 
    884   // optional string extendee = 2;
    885   inline bool has_extendee() const;
    886   inline void clear_extendee();
    887   static const int kExtendeeFieldNumber = 2;
    888   inline const ::std::string& extendee() const;
    889   inline void set_extendee(const ::std::string& value);
    890   inline void set_extendee(const char* value);
    891   inline void set_extendee(const char* value, size_t size);
    892   inline ::std::string* mutable_extendee();
    893   inline ::std::string* release_extendee();
    894   inline void set_allocated_extendee(::std::string* extendee);
    895 
    896   // optional string default_value = 7;
    897   inline bool has_default_value() const;
    898   inline void clear_default_value();
    899   static const int kDefaultValueFieldNumber = 7;
    900   inline const ::std::string& default_value() const;
    901   inline void set_default_value(const ::std::string& value);
    902   inline void set_default_value(const char* value);
    903   inline void set_default_value(const char* value, size_t size);
    904   inline ::std::string* mutable_default_value();
    905   inline ::std::string* release_default_value();
    906   inline void set_allocated_default_value(::std::string* default_value);
    907 
    908   // optional .google.protobuf.FieldOptions options = 8;
    909   inline bool has_options() const;
    910   inline void clear_options();
    911   static const int kOptionsFieldNumber = 8;
    912   inline const ::google::protobuf::FieldOptions& options() const;
    913   inline ::google::protobuf::FieldOptions* mutable_options();
    914   inline ::google::protobuf::FieldOptions* release_options();
    915   inline void set_allocated_options(::google::protobuf::FieldOptions* options);
    916 
    917   // @@protoc_insertion_point(class_scope:google.protobuf.FieldDescriptorProto)
    918  private:
    919   inline void set_has_name();
    920   inline void clear_has_name();
    921   inline void set_has_number();
    922   inline void clear_has_number();
    923   inline void set_has_label();
    924   inline void clear_has_label();
    925   inline void set_has_type();
    926   inline void clear_has_type();
    927   inline void set_has_type_name();
    928   inline void clear_has_type_name();
    929   inline void set_has_extendee();
    930   inline void clear_has_extendee();
    931   inline void set_has_default_value();
    932   inline void clear_has_default_value();
    933   inline void set_has_options();
    934   inline void clear_has_options();
    935 
    936   ::google::protobuf::UnknownFieldSet _unknown_fields_;
    937 
    938   ::std::string* name_;
    939   ::google::protobuf::int32 number_;
    940   int label_;
    941   ::std::string* type_name_;
    942   ::std::string* extendee_;
    943   ::std::string* default_value_;
    944   ::google::protobuf::FieldOptions* options_;
    945   int type_;
    946 
    947   mutable int _cached_size_;
    948   ::google::protobuf::uint32 _has_bits_[(8 + 31) / 32];
    949 
    950   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
    951   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
    952   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
    953 
    954   void InitAsDefaultInstance();
    955   static FieldDescriptorProto* default_instance_;
    956 };
    957 // -------------------------------------------------------------------
    958 
    959 class LIBPROTOBUF_EXPORT EnumDescriptorProto : public ::google::protobuf::Message {
    960  public:
    961   EnumDescriptorProto();
    962   virtual ~EnumDescriptorProto();
    963 
    964   EnumDescriptorProto(const EnumDescriptorProto& from);
    965 
    966   inline EnumDescriptorProto& operator=(const EnumDescriptorProto& from) {
    967     CopyFrom(from);
    968     return *this;
    969   }
    970 
    971   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    972     return _unknown_fields_;
    973   }
    974 
    975   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    976     return &_unknown_fields_;
    977   }
    978 
    979   static const ::google::protobuf::Descriptor* descriptor();
    980   static const EnumDescriptorProto& default_instance();
    981 
    982   void Swap(EnumDescriptorProto* other);
    983 
    984   // implements Message ----------------------------------------------
    985 
    986   EnumDescriptorProto* New() const;
    987   void CopyFrom(const ::google::protobuf::Message& from);
    988   void MergeFrom(const ::google::protobuf::Message& from);
    989   void CopyFrom(const EnumDescriptorProto& from);
    990   void MergeFrom(const EnumDescriptorProto& from);
    991   void Clear();
    992   bool IsInitialized() const;
    993 
    994   int ByteSize() const;
    995   bool MergePartialFromCodedStream(
    996       ::google::protobuf::io::CodedInputStream* input);
    997   void SerializeWithCachedSizes(
    998       ::google::protobuf::io::CodedOutputStream* output) const;
    999   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   1000   int GetCachedSize() const { return _cached_size_; }
   1001   private:
   1002   void SharedCtor();
   1003   void SharedDtor();
   1004   void SetCachedSize(int size) const;
   1005   public:
   1006 
   1007   ::google::protobuf::Metadata GetMetadata() const;
   1008 
   1009   // nested types ----------------------------------------------------
   1010 
   1011   // accessors -------------------------------------------------------
   1012 
   1013   // optional string name = 1;
   1014   inline bool has_name() const;
   1015   inline void clear_name();
   1016   static const int kNameFieldNumber = 1;
   1017   inline const ::std::string& name() const;
   1018   inline void set_name(const ::std::string& value);
   1019   inline void set_name(const char* value);
   1020   inline void set_name(const char* value, size_t size);
   1021   inline ::std::string* mutable_name();
   1022   inline ::std::string* release_name();
   1023   inline void set_allocated_name(::std::string* name);
   1024 
   1025   // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
   1026   inline int value_size() const;
   1027   inline void clear_value();
   1028   static const int kValueFieldNumber = 2;
   1029   inline const ::google::protobuf::EnumValueDescriptorProto& value(int index) const;
   1030   inline ::google::protobuf::EnumValueDescriptorProto* mutable_value(int index);
   1031   inline ::google::protobuf::EnumValueDescriptorProto* add_value();
   1032   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumValueDescriptorProto >&
   1033       value() const;
   1034   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumValueDescriptorProto >*
   1035       mutable_value();
   1036 
   1037   // optional .google.protobuf.EnumOptions options = 3;
   1038   inline bool has_options() const;
   1039   inline void clear_options();
   1040   static const int kOptionsFieldNumber = 3;
   1041   inline const ::google::protobuf::EnumOptions& options() const;
   1042   inline ::google::protobuf::EnumOptions* mutable_options();
   1043   inline ::google::protobuf::EnumOptions* release_options();
   1044   inline void set_allocated_options(::google::protobuf::EnumOptions* options);
   1045 
   1046   // @@protoc_insertion_point(class_scope:google.protobuf.EnumDescriptorProto)
   1047  private:
   1048   inline void set_has_name();
   1049   inline void clear_has_name();
   1050   inline void set_has_options();
   1051   inline void clear_has_options();
   1052 
   1053   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   1054 
   1055   ::std::string* name_;
   1056   ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumValueDescriptorProto > value_;
   1057   ::google::protobuf::EnumOptions* options_;
   1058 
   1059   mutable int _cached_size_;
   1060   ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];
   1061 
   1062   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1063   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1064   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   1065 
   1066   void InitAsDefaultInstance();
   1067   static EnumDescriptorProto* default_instance_;
   1068 };
   1069 // -------------------------------------------------------------------
   1070 
   1071 class LIBPROTOBUF_EXPORT EnumValueDescriptorProto : public ::google::protobuf::Message {
   1072  public:
   1073   EnumValueDescriptorProto();
   1074   virtual ~EnumValueDescriptorProto();
   1075 
   1076   EnumValueDescriptorProto(const EnumValueDescriptorProto& from);
   1077 
   1078   inline EnumValueDescriptorProto& operator=(const EnumValueDescriptorProto& from) {
   1079     CopyFrom(from);
   1080     return *this;
   1081   }
   1082 
   1083   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   1084     return _unknown_fields_;
   1085   }
   1086 
   1087   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   1088     return &_unknown_fields_;
   1089   }
   1090 
   1091   static const ::google::protobuf::Descriptor* descriptor();
   1092   static const EnumValueDescriptorProto& default_instance();
   1093 
   1094   void Swap(EnumValueDescriptorProto* other);
   1095 
   1096   // implements Message ----------------------------------------------
   1097 
   1098   EnumValueDescriptorProto* New() const;
   1099   void CopyFrom(const ::google::protobuf::Message& from);
   1100   void MergeFrom(const ::google::protobuf::Message& from);
   1101   void CopyFrom(const EnumValueDescriptorProto& from);
   1102   void MergeFrom(const EnumValueDescriptorProto& from);
   1103   void Clear();
   1104   bool IsInitialized() const;
   1105 
   1106   int ByteSize() const;
   1107   bool MergePartialFromCodedStream(
   1108       ::google::protobuf::io::CodedInputStream* input);
   1109   void SerializeWithCachedSizes(
   1110       ::google::protobuf::io::CodedOutputStream* output) const;
   1111   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   1112   int GetCachedSize() const { return _cached_size_; }
   1113   private:
   1114   void SharedCtor();
   1115   void SharedDtor();
   1116   void SetCachedSize(int size) const;
   1117   public:
   1118 
   1119   ::google::protobuf::Metadata GetMetadata() const;
   1120 
   1121   // nested types ----------------------------------------------------
   1122 
   1123   // accessors -------------------------------------------------------
   1124 
   1125   // optional string name = 1;
   1126   inline bool has_name() const;
   1127   inline void clear_name();
   1128   static const int kNameFieldNumber = 1;
   1129   inline const ::std::string& name() const;
   1130   inline void set_name(const ::std::string& value);
   1131   inline void set_name(const char* value);
   1132   inline void set_name(const char* value, size_t size);
   1133   inline ::std::string* mutable_name();
   1134   inline ::std::string* release_name();
   1135   inline void set_allocated_name(::std::string* name);
   1136 
   1137   // optional int32 number = 2;
   1138   inline bool has_number() const;
   1139   inline void clear_number();
   1140   static const int kNumberFieldNumber = 2;
   1141   inline ::google::protobuf::int32 number() const;
   1142   inline void set_number(::google::protobuf::int32 value);
   1143 
   1144   // optional .google.protobuf.EnumValueOptions options = 3;
   1145   inline bool has_options() const;
   1146   inline void clear_options();
   1147   static const int kOptionsFieldNumber = 3;
   1148   inline const ::google::protobuf::EnumValueOptions& options() const;
   1149   inline ::google::protobuf::EnumValueOptions* mutable_options();
   1150   inline ::google::protobuf::EnumValueOptions* release_options();
   1151   inline void set_allocated_options(::google::protobuf::EnumValueOptions* options);
   1152 
   1153   // @@protoc_insertion_point(class_scope:google.protobuf.EnumValueDescriptorProto)
   1154  private:
   1155   inline void set_has_name();
   1156   inline void clear_has_name();
   1157   inline void set_has_number();
   1158   inline void clear_has_number();
   1159   inline void set_has_options();
   1160   inline void clear_has_options();
   1161 
   1162   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   1163 
   1164   ::std::string* name_;
   1165   ::google::protobuf::EnumValueOptions* options_;
   1166   ::google::protobuf::int32 number_;
   1167 
   1168   mutable int _cached_size_;
   1169   ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];
   1170 
   1171   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1172   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1173   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   1174 
   1175   void InitAsDefaultInstance();
   1176   static EnumValueDescriptorProto* default_instance_;
   1177 };
   1178 // -------------------------------------------------------------------
   1179 
   1180 class LIBPROTOBUF_EXPORT ServiceDescriptorProto : public ::google::protobuf::Message {
   1181  public:
   1182   ServiceDescriptorProto();
   1183   virtual ~ServiceDescriptorProto();
   1184 
   1185   ServiceDescriptorProto(const ServiceDescriptorProto& from);
   1186 
   1187   inline ServiceDescriptorProto& operator=(const ServiceDescriptorProto& from) {
   1188     CopyFrom(from);
   1189     return *this;
   1190   }
   1191 
   1192   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   1193     return _unknown_fields_;
   1194   }
   1195 
   1196   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   1197     return &_unknown_fields_;
   1198   }
   1199 
   1200   static const ::google::protobuf::Descriptor* descriptor();
   1201   static const ServiceDescriptorProto& default_instance();
   1202 
   1203   void Swap(ServiceDescriptorProto* other);
   1204 
   1205   // implements Message ----------------------------------------------
   1206 
   1207   ServiceDescriptorProto* New() const;
   1208   void CopyFrom(const ::google::protobuf::Message& from);
   1209   void MergeFrom(const ::google::protobuf::Message& from);
   1210   void CopyFrom(const ServiceDescriptorProto& from);
   1211   void MergeFrom(const ServiceDescriptorProto& from);
   1212   void Clear();
   1213   bool IsInitialized() const;
   1214 
   1215   int ByteSize() const;
   1216   bool MergePartialFromCodedStream(
   1217       ::google::protobuf::io::CodedInputStream* input);
   1218   void SerializeWithCachedSizes(
   1219       ::google::protobuf::io::CodedOutputStream* output) const;
   1220   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   1221   int GetCachedSize() const { return _cached_size_; }
   1222   private:
   1223   void SharedCtor();
   1224   void SharedDtor();
   1225   void SetCachedSize(int size) const;
   1226   public:
   1227 
   1228   ::google::protobuf::Metadata GetMetadata() const;
   1229 
   1230   // nested types ----------------------------------------------------
   1231 
   1232   // accessors -------------------------------------------------------
   1233 
   1234   // optional string name = 1;
   1235   inline bool has_name() const;
   1236   inline void clear_name();
   1237   static const int kNameFieldNumber = 1;
   1238   inline const ::std::string& name() const;
   1239   inline void set_name(const ::std::string& value);
   1240   inline void set_name(const char* value);
   1241   inline void set_name(const char* value, size_t size);
   1242   inline ::std::string* mutable_name();
   1243   inline ::std::string* release_name();
   1244   inline void set_allocated_name(::std::string* name);
   1245 
   1246   // repeated .google.protobuf.MethodDescriptorProto method = 2;
   1247   inline int method_size() const;
   1248   inline void clear_method();
   1249   static const int kMethodFieldNumber = 2;
   1250   inline const ::google::protobuf::MethodDescriptorProto& method(int index) const;
   1251   inline ::google::protobuf::MethodDescriptorProto* mutable_method(int index);
   1252   inline ::google::protobuf::MethodDescriptorProto* add_method();
   1253   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::MethodDescriptorProto >&
   1254       method() const;
   1255   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::MethodDescriptorProto >*
   1256       mutable_method();
   1257 
   1258   // optional .google.protobuf.ServiceOptions options = 3;
   1259   inline bool has_options() const;
   1260   inline void clear_options();
   1261   static const int kOptionsFieldNumber = 3;
   1262   inline const ::google::protobuf::ServiceOptions& options() const;
   1263   inline ::google::protobuf::ServiceOptions* mutable_options();
   1264   inline ::google::protobuf::ServiceOptions* release_options();
   1265   inline void set_allocated_options(::google::protobuf::ServiceOptions* options);
   1266 
   1267   // @@protoc_insertion_point(class_scope:google.protobuf.ServiceDescriptorProto)
   1268  private:
   1269   inline void set_has_name();
   1270   inline void clear_has_name();
   1271   inline void set_has_options();
   1272   inline void clear_has_options();
   1273 
   1274   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   1275 
   1276   ::std::string* name_;
   1277   ::google::protobuf::RepeatedPtrField< ::google::protobuf::MethodDescriptorProto > method_;
   1278   ::google::protobuf::ServiceOptions* options_;
   1279 
   1280   mutable int _cached_size_;
   1281   ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];
   1282 
   1283   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1284   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1285   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   1286 
   1287   void InitAsDefaultInstance();
   1288   static ServiceDescriptorProto* default_instance_;
   1289 };
   1290 // -------------------------------------------------------------------
   1291 
   1292 class LIBPROTOBUF_EXPORT MethodDescriptorProto : public ::google::protobuf::Message {
   1293  public:
   1294   MethodDescriptorProto();
   1295   virtual ~MethodDescriptorProto();
   1296 
   1297   MethodDescriptorProto(const MethodDescriptorProto& from);
   1298 
   1299   inline MethodDescriptorProto& operator=(const MethodDescriptorProto& from) {
   1300     CopyFrom(from);
   1301     return *this;
   1302   }
   1303 
   1304   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   1305     return _unknown_fields_;
   1306   }
   1307 
   1308   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   1309     return &_unknown_fields_;
   1310   }
   1311 
   1312   static const ::google::protobuf::Descriptor* descriptor();
   1313   static const MethodDescriptorProto& default_instance();
   1314 
   1315   void Swap(MethodDescriptorProto* other);
   1316 
   1317   // implements Message ----------------------------------------------
   1318 
   1319   MethodDescriptorProto* New() const;
   1320   void CopyFrom(const ::google::protobuf::Message& from);
   1321   void MergeFrom(const ::google::protobuf::Message& from);
   1322   void CopyFrom(const MethodDescriptorProto& from);
   1323   void MergeFrom(const MethodDescriptorProto& from);
   1324   void Clear();
   1325   bool IsInitialized() const;
   1326 
   1327   int ByteSize() const;
   1328   bool MergePartialFromCodedStream(
   1329       ::google::protobuf::io::CodedInputStream* input);
   1330   void SerializeWithCachedSizes(
   1331       ::google::protobuf::io::CodedOutputStream* output) const;
   1332   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   1333   int GetCachedSize() const { return _cached_size_; }
   1334   private:
   1335   void SharedCtor();
   1336   void SharedDtor();
   1337   void SetCachedSize(int size) const;
   1338   public:
   1339 
   1340   ::google::protobuf::Metadata GetMetadata() const;
   1341 
   1342   // nested types ----------------------------------------------------
   1343 
   1344   // accessors -------------------------------------------------------
   1345 
   1346   // optional string name = 1;
   1347   inline bool has_name() const;
   1348   inline void clear_name();
   1349   static const int kNameFieldNumber = 1;
   1350   inline const ::std::string& name() const;
   1351   inline void set_name(const ::std::string& value);
   1352   inline void set_name(const char* value);
   1353   inline void set_name(const char* value, size_t size);
   1354   inline ::std::string* mutable_name();
   1355   inline ::std::string* release_name();
   1356   inline void set_allocated_name(::std::string* name);
   1357 
   1358   // optional string input_type = 2;
   1359   inline bool has_input_type() const;
   1360   inline void clear_input_type();
   1361   static const int kInputTypeFieldNumber = 2;
   1362   inline const ::std::string& input_type() const;
   1363   inline void set_input_type(const ::std::string& value);
   1364   inline void set_input_type(const char* value);
   1365   inline void set_input_type(const char* value, size_t size);
   1366   inline ::std::string* mutable_input_type();
   1367   inline ::std::string* release_input_type();
   1368   inline void set_allocated_input_type(::std::string* input_type);
   1369 
   1370   // optional string output_type = 3;
   1371   inline bool has_output_type() const;
   1372   inline void clear_output_type();
   1373   static const int kOutputTypeFieldNumber = 3;
   1374   inline const ::std::string& output_type() const;
   1375   inline void set_output_type(const ::std::string& value);
   1376   inline void set_output_type(const char* value);
   1377   inline void set_output_type(const char* value, size_t size);
   1378   inline ::std::string* mutable_output_type();
   1379   inline ::std::string* release_output_type();
   1380   inline void set_allocated_output_type(::std::string* output_type);
   1381 
   1382   // optional .google.protobuf.MethodOptions options = 4;
   1383   inline bool has_options() const;
   1384   inline void clear_options();
   1385   static const int kOptionsFieldNumber = 4;
   1386   inline const ::google::protobuf::MethodOptions& options() const;
   1387   inline ::google::protobuf::MethodOptions* mutable_options();
   1388   inline ::google::protobuf::MethodOptions* release_options();
   1389   inline void set_allocated_options(::google::protobuf::MethodOptions* options);
   1390 
   1391   // @@protoc_insertion_point(class_scope:google.protobuf.MethodDescriptorProto)
   1392  private:
   1393   inline void set_has_name();
   1394   inline void clear_has_name();
   1395   inline void set_has_input_type();
   1396   inline void clear_has_input_type();
   1397   inline void set_has_output_type();
   1398   inline void clear_has_output_type();
   1399   inline void set_has_options();
   1400   inline void clear_has_options();
   1401 
   1402   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   1403 
   1404   ::std::string* name_;
   1405   ::std::string* input_type_;
   1406   ::std::string* output_type_;
   1407   ::google::protobuf::MethodOptions* options_;
   1408 
   1409   mutable int _cached_size_;
   1410   ::google::protobuf::uint32 _has_bits_[(4 + 31) / 32];
   1411 
   1412   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1413   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1414   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   1415 
   1416   void InitAsDefaultInstance();
   1417   static MethodDescriptorProto* default_instance_;
   1418 };
   1419 // -------------------------------------------------------------------
   1420 
   1421 class LIBPROTOBUF_EXPORT FileOptions : public ::google::protobuf::Message {
   1422  public:
   1423   FileOptions();
   1424   virtual ~FileOptions();
   1425 
   1426   FileOptions(const FileOptions& from);
   1427 
   1428   inline FileOptions& operator=(const FileOptions& from) {
   1429     CopyFrom(from);
   1430     return *this;
   1431   }
   1432 
   1433   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   1434     return _unknown_fields_;
   1435   }
   1436 
   1437   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   1438     return &_unknown_fields_;
   1439   }
   1440 
   1441   static const ::google::protobuf::Descriptor* descriptor();
   1442   static const FileOptions& default_instance();
   1443 
   1444   void Swap(FileOptions* other);
   1445 
   1446   // implements Message ----------------------------------------------
   1447 
   1448   FileOptions* New() const;
   1449   void CopyFrom(const ::google::protobuf::Message& from);
   1450   void MergeFrom(const ::google::protobuf::Message& from);
   1451   void CopyFrom(const FileOptions& from);
   1452   void MergeFrom(const FileOptions& from);
   1453   void Clear();
   1454   bool IsInitialized() const;
   1455 
   1456   int ByteSize() const;
   1457   bool MergePartialFromCodedStream(
   1458       ::google::protobuf::io::CodedInputStream* input);
   1459   void SerializeWithCachedSizes(
   1460       ::google::protobuf::io::CodedOutputStream* output) const;
   1461   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   1462   int GetCachedSize() const { return _cached_size_; }
   1463   private:
   1464   void SharedCtor();
   1465   void SharedDtor();
   1466   void SetCachedSize(int size) const;
   1467   public:
   1468 
   1469   ::google::protobuf::Metadata GetMetadata() const;
   1470 
   1471   // nested types ----------------------------------------------------
   1472 
   1473   typedef FileOptions_OptimizeMode OptimizeMode;
   1474   static const OptimizeMode SPEED = FileOptions_OptimizeMode_SPEED;
   1475   static const OptimizeMode CODE_SIZE = FileOptions_OptimizeMode_CODE_SIZE;
   1476   static const OptimizeMode LITE_RUNTIME = FileOptions_OptimizeMode_LITE_RUNTIME;
   1477   static inline bool OptimizeMode_IsValid(int value) {
   1478     return FileOptions_OptimizeMode_IsValid(value);
   1479   }
   1480   static const OptimizeMode OptimizeMode_MIN =
   1481     FileOptions_OptimizeMode_OptimizeMode_MIN;
   1482   static const OptimizeMode OptimizeMode_MAX =
   1483     FileOptions_OptimizeMode_OptimizeMode_MAX;
   1484   static const int OptimizeMode_ARRAYSIZE =
   1485     FileOptions_OptimizeMode_OptimizeMode_ARRAYSIZE;
   1486   static inline const ::google::protobuf::EnumDescriptor*
   1487   OptimizeMode_descriptor() {
   1488     return FileOptions_OptimizeMode_descriptor();
   1489   }
   1490   static inline const ::std::string& OptimizeMode_Name(OptimizeMode value) {
   1491     return FileOptions_OptimizeMode_Name(value);
   1492   }
   1493   static inline bool OptimizeMode_Parse(const ::std::string& name,
   1494       OptimizeMode* value) {
   1495     return FileOptions_OptimizeMode_Parse(name, value);
   1496   }
   1497 
   1498   // accessors -------------------------------------------------------
   1499 
   1500   // optional string java_package = 1;
   1501   inline bool has_java_package() const;
   1502   inline void clear_java_package();
   1503   static const int kJavaPackageFieldNumber = 1;
   1504   inline const ::std::string& java_package() const;
   1505   inline void set_java_package(const ::std::string& value);
   1506   inline void set_java_package(const char* value);
   1507   inline void set_java_package(const char* value, size_t size);
   1508   inline ::std::string* mutable_java_package();
   1509   inline ::std::string* release_java_package();
   1510   inline void set_allocated_java_package(::std::string* java_package);
   1511 
   1512   // optional string java_outer_classname = 8;
   1513   inline bool has_java_outer_classname() const;
   1514   inline void clear_java_outer_classname();
   1515   static const int kJavaOuterClassnameFieldNumber = 8;
   1516   inline const ::std::string& java_outer_classname() const;
   1517   inline void set_java_outer_classname(const ::std::string& value);
   1518   inline void set_java_outer_classname(const char* value);
   1519   inline void set_java_outer_classname(const char* value, size_t size);
   1520   inline ::std::string* mutable_java_outer_classname();
   1521   inline ::std::string* release_java_outer_classname();
   1522   inline void set_allocated_java_outer_classname(::std::string* java_outer_classname);
   1523 
   1524   // optional bool java_multiple_files = 10 [default = false];
   1525   inline bool has_java_multiple_files() const;
   1526   inline void clear_java_multiple_files();
   1527   static const int kJavaMultipleFilesFieldNumber = 10;
   1528   inline bool java_multiple_files() const;
   1529   inline void set_java_multiple_files(bool value);
   1530 
   1531   // optional bool retain_unknown_fields = 12 [default = false];
   1532   inline bool has_retain_unknown_fields() const;
   1533   inline void clear_retain_unknown_fields();
   1534   static const int kRetainUnknownFieldsFieldNumber = 12;
   1535   inline bool retain_unknown_fields() const;
   1536   inline void set_retain_unknown_fields(bool value);
   1537 
   1538   // optional bool java_generate_equals_and_hash = 20 [default = false];
   1539   inline bool has_java_generate_equals_and_hash() const;
   1540   inline void clear_java_generate_equals_and_hash();
   1541   static const int kJavaGenerateEqualsAndHashFieldNumber = 20;
   1542   inline bool java_generate_equals_and_hash() const;
   1543   inline void set_java_generate_equals_and_hash(bool value);
   1544 
   1545   // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
   1546   inline bool has_optimize_for() const;
   1547   inline void clear_optimize_for();
   1548   static const int kOptimizeForFieldNumber = 9;
   1549   inline ::google::protobuf::FileOptions_OptimizeMode optimize_for() const;
   1550   inline void set_optimize_for(::google::protobuf::FileOptions_OptimizeMode value);
   1551 
   1552   // optional string go_package = 11;
   1553   inline bool has_go_package() const;
   1554   inline void clear_go_package();
   1555   static const int kGoPackageFieldNumber = 11;
   1556   inline const ::std::string& go_package() const;
   1557   inline void set_go_package(const ::std::string& value);
   1558   inline void set_go_package(const char* value);
   1559   inline void set_go_package(const char* value, size_t size);
   1560   inline ::std::string* mutable_go_package();
   1561   inline ::std::string* release_go_package();
   1562   inline void set_allocated_go_package(::std::string* go_package);
   1563 
   1564   // optional bool cc_generic_services = 16 [default = false];
   1565   inline bool has_cc_generic_services() const;
   1566   inline void clear_cc_generic_services();
   1567   static const int kCcGenericServicesFieldNumber = 16;
   1568   inline bool cc_generic_services() const;
   1569   inline void set_cc_generic_services(bool value);
   1570 
   1571   // optional bool java_generic_services = 17 [default = false];
   1572   inline bool has_java_generic_services() const;
   1573   inline void clear_java_generic_services();
   1574   static const int kJavaGenericServicesFieldNumber = 17;
   1575   inline bool java_generic_services() const;
   1576   inline void set_java_generic_services(bool value);
   1577 
   1578   // optional bool py_generic_services = 18 [default = false];
   1579   inline bool has_py_generic_services() const;
   1580   inline void clear_py_generic_services();
   1581   static const int kPyGenericServicesFieldNumber = 18;
   1582   inline bool py_generic_services() const;
   1583   inline void set_py_generic_services(bool value);
   1584 
   1585   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   1586   inline int uninterpreted_option_size() const;
   1587   inline void clear_uninterpreted_option();
   1588   static const int kUninterpretedOptionFieldNumber = 999;
   1589   inline const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
   1590   inline ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index);
   1591   inline ::google::protobuf::UninterpretedOption* add_uninterpreted_option();
   1592   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   1593       uninterpreted_option() const;
   1594   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   1595       mutable_uninterpreted_option();
   1596 
   1597   GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(FileOptions)
   1598   // @@protoc_insertion_point(class_scope:google.protobuf.FileOptions)
   1599  private:
   1600   inline void set_has_java_package();
   1601   inline void clear_has_java_package();
   1602   inline void set_has_java_outer_classname();
   1603   inline void clear_has_java_outer_classname();
   1604   inline void set_has_java_multiple_files();
   1605   inline void clear_has_java_multiple_files();
   1606   inline void set_has_retain_unknown_fields();
   1607   inline void clear_has_retain_unknown_fields();
   1608   inline void set_has_java_generate_equals_and_hash();
   1609   inline void clear_has_java_generate_equals_and_hash();
   1610   inline void set_has_optimize_for();
   1611   inline void clear_has_optimize_for();
   1612   inline void set_has_go_package();
   1613   inline void clear_has_go_package();
   1614   inline void set_has_cc_generic_services();
   1615   inline void clear_has_cc_generic_services();
   1616   inline void set_has_java_generic_services();
   1617   inline void clear_has_java_generic_services();
   1618   inline void set_has_py_generic_services();
   1619   inline void clear_has_py_generic_services();
   1620 
   1621   ::google::protobuf::internal::ExtensionSet _extensions_;
   1622 
   1623   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   1624 
   1625   ::std::string* java_package_;
   1626   ::std::string* java_outer_classname_;
   1627   bool java_multiple_files_;
   1628   bool retain_unknown_fields_;
   1629   bool java_generate_equals_and_hash_;
   1630   bool cc_generic_services_;
   1631   int optimize_for_;
   1632   ::std::string* go_package_;
   1633   ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
   1634   bool java_generic_services_;
   1635   bool py_generic_services_;
   1636 
   1637   mutable int _cached_size_;
   1638   ::google::protobuf::uint32 _has_bits_[(11 + 31) / 32];
   1639 
   1640   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1641   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1642   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   1643 
   1644   void InitAsDefaultInstance();
   1645   static FileOptions* default_instance_;
   1646 };
   1647 // -------------------------------------------------------------------
   1648 
   1649 class LIBPROTOBUF_EXPORT MessageOptions : public ::google::protobuf::Message {
   1650  public:
   1651   MessageOptions();
   1652   virtual ~MessageOptions();
   1653 
   1654   MessageOptions(const MessageOptions& from);
   1655 
   1656   inline MessageOptions& operator=(const MessageOptions& from) {
   1657     CopyFrom(from);
   1658     return *this;
   1659   }
   1660 
   1661   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   1662     return _unknown_fields_;
   1663   }
   1664 
   1665   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   1666     return &_unknown_fields_;
   1667   }
   1668 
   1669   static const ::google::protobuf::Descriptor* descriptor();
   1670   static const MessageOptions& default_instance();
   1671 
   1672   void Swap(MessageOptions* other);
   1673 
   1674   // implements Message ----------------------------------------------
   1675 
   1676   MessageOptions* New() const;
   1677   void CopyFrom(const ::google::protobuf::Message& from);
   1678   void MergeFrom(const ::google::protobuf::Message& from);
   1679   void CopyFrom(const MessageOptions& from);
   1680   void MergeFrom(const MessageOptions& from);
   1681   void Clear();
   1682   bool IsInitialized() const;
   1683 
   1684   int ByteSize() const;
   1685   bool MergePartialFromCodedStream(
   1686       ::google::protobuf::io::CodedInputStream* input);
   1687   void SerializeWithCachedSizes(
   1688       ::google::protobuf::io::CodedOutputStream* output) const;
   1689   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   1690   int GetCachedSize() const { return _cached_size_; }
   1691   private:
   1692   void SharedCtor();
   1693   void SharedDtor();
   1694   void SetCachedSize(int size) const;
   1695   public:
   1696 
   1697   ::google::protobuf::Metadata GetMetadata() const;
   1698 
   1699   // nested types ----------------------------------------------------
   1700 
   1701   // accessors -------------------------------------------------------
   1702 
   1703   // optional bool message_set_wire_format = 1 [default = false];
   1704   inline bool has_message_set_wire_format() const;
   1705   inline void clear_message_set_wire_format();
   1706   static const int kMessageSetWireFormatFieldNumber = 1;
   1707   inline bool message_set_wire_format() const;
   1708   inline void set_message_set_wire_format(bool value);
   1709 
   1710   // optional bool no_standard_descriptor_accessor = 2 [default = false];
   1711   inline bool has_no_standard_descriptor_accessor() const;
   1712   inline void clear_no_standard_descriptor_accessor();
   1713   static const int kNoStandardDescriptorAccessorFieldNumber = 2;
   1714   inline bool no_standard_descriptor_accessor() const;
   1715   inline void set_no_standard_descriptor_accessor(bool value);
   1716 
   1717   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   1718   inline int uninterpreted_option_size() const;
   1719   inline void clear_uninterpreted_option();
   1720   static const int kUninterpretedOptionFieldNumber = 999;
   1721   inline const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
   1722   inline ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index);
   1723   inline ::google::protobuf::UninterpretedOption* add_uninterpreted_option();
   1724   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   1725       uninterpreted_option() const;
   1726   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   1727       mutable_uninterpreted_option();
   1728 
   1729   GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(MessageOptions)
   1730   // @@protoc_insertion_point(class_scope:google.protobuf.MessageOptions)
   1731  private:
   1732   inline void set_has_message_set_wire_format();
   1733   inline void clear_has_message_set_wire_format();
   1734   inline void set_has_no_standard_descriptor_accessor();
   1735   inline void clear_has_no_standard_descriptor_accessor();
   1736 
   1737   ::google::protobuf::internal::ExtensionSet _extensions_;
   1738 
   1739   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   1740 
   1741   ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
   1742   bool message_set_wire_format_;
   1743   bool no_standard_descriptor_accessor_;
   1744 
   1745   mutable int _cached_size_;
   1746   ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];
   1747 
   1748   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1749   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1750   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   1751 
   1752   void InitAsDefaultInstance();
   1753   static MessageOptions* default_instance_;
   1754 };
   1755 // -------------------------------------------------------------------
   1756 
   1757 class LIBPROTOBUF_EXPORT FieldOptions : public ::google::protobuf::Message {
   1758  public:
   1759   FieldOptions();
   1760   virtual ~FieldOptions();
   1761 
   1762   FieldOptions(const FieldOptions& from);
   1763 
   1764   inline FieldOptions& operator=(const FieldOptions& from) {
   1765     CopyFrom(from);
   1766     return *this;
   1767   }
   1768 
   1769   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   1770     return _unknown_fields_;
   1771   }
   1772 
   1773   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   1774     return &_unknown_fields_;
   1775   }
   1776 
   1777   static const ::google::protobuf::Descriptor* descriptor();
   1778   static const FieldOptions& default_instance();
   1779 
   1780   void Swap(FieldOptions* other);
   1781 
   1782   // implements Message ----------------------------------------------
   1783 
   1784   FieldOptions* New() const;
   1785   void CopyFrom(const ::google::protobuf::Message& from);
   1786   void MergeFrom(const ::google::protobuf::Message& from);
   1787   void CopyFrom(const FieldOptions& from);
   1788   void MergeFrom(const FieldOptions& from);
   1789   void Clear();
   1790   bool IsInitialized() const;
   1791 
   1792   int ByteSize() const;
   1793   bool MergePartialFromCodedStream(
   1794       ::google::protobuf::io::CodedInputStream* input);
   1795   void SerializeWithCachedSizes(
   1796       ::google::protobuf::io::CodedOutputStream* output) const;
   1797   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   1798   int GetCachedSize() const { return _cached_size_; }
   1799   private:
   1800   void SharedCtor();
   1801   void SharedDtor();
   1802   void SetCachedSize(int size) const;
   1803   public:
   1804 
   1805   ::google::protobuf::Metadata GetMetadata() const;
   1806 
   1807   // nested types ----------------------------------------------------
   1808 
   1809   typedef FieldOptions_CType CType;
   1810   static const CType STRING = FieldOptions_CType_STRING;
   1811   static const CType CORD = FieldOptions_CType_CORD;
   1812   static const CType STRING_PIECE = FieldOptions_CType_STRING_PIECE;
   1813   static inline bool CType_IsValid(int value) {
   1814     return FieldOptions_CType_IsValid(value);
   1815   }
   1816   static const CType CType_MIN =
   1817     FieldOptions_CType_CType_MIN;
   1818   static const CType CType_MAX =
   1819     FieldOptions_CType_CType_MAX;
   1820   static const int CType_ARRAYSIZE =
   1821     FieldOptions_CType_CType_ARRAYSIZE;
   1822   static inline const ::google::protobuf::EnumDescriptor*
   1823   CType_descriptor() {
   1824     return FieldOptions_CType_descriptor();
   1825   }
   1826   static inline const ::std::string& CType_Name(CType value) {
   1827     return FieldOptions_CType_Name(value);
   1828   }
   1829   static inline bool CType_Parse(const ::std::string& name,
   1830       CType* value) {
   1831     return FieldOptions_CType_Parse(name, value);
   1832   }
   1833 
   1834   // accessors -------------------------------------------------------
   1835 
   1836   // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
   1837   inline bool has_ctype() const;
   1838   inline void clear_ctype();
   1839   static const int kCtypeFieldNumber = 1;
   1840   inline ::google::protobuf::FieldOptions_CType ctype() const;
   1841   inline void set_ctype(::google::protobuf::FieldOptions_CType value);
   1842 
   1843   // optional bool packed = 2;
   1844   inline bool has_packed() const;
   1845   inline void clear_packed();
   1846   static const int kPackedFieldNumber = 2;
   1847   inline bool packed() const;
   1848   inline void set_packed(bool value);
   1849 
   1850   // optional bool lazy = 5 [default = false];
   1851   inline bool has_lazy() const;
   1852   inline void clear_lazy();
   1853   static const int kLazyFieldNumber = 5;
   1854   inline bool lazy() const;
   1855   inline void set_lazy(bool value);
   1856 
   1857   // optional bool deprecated = 3 [default = false];
   1858   inline bool has_deprecated() const;
   1859   inline void clear_deprecated();
   1860   static const int kDeprecatedFieldNumber = 3;
   1861   inline bool deprecated() const;
   1862   inline void set_deprecated(bool value);
   1863 
   1864   // optional string experimental_map_key = 9;
   1865   inline bool has_experimental_map_key() const;
   1866   inline void clear_experimental_map_key();
   1867   static const int kExperimentalMapKeyFieldNumber = 9;
   1868   inline const ::std::string& experimental_map_key() const;
   1869   inline void set_experimental_map_key(const ::std::string& value);
   1870   inline void set_experimental_map_key(const char* value);
   1871   inline void set_experimental_map_key(const char* value, size_t size);
   1872   inline ::std::string* mutable_experimental_map_key();
   1873   inline ::std::string* release_experimental_map_key();
   1874   inline void set_allocated_experimental_map_key(::std::string* experimental_map_key);
   1875 
   1876   // optional bool weak = 10 [default = false];
   1877   inline bool has_weak() const;
   1878   inline void clear_weak();
   1879   static const int kWeakFieldNumber = 10;
   1880   inline bool weak() const;
   1881   inline void set_weak(bool value);
   1882 
   1883   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   1884   inline int uninterpreted_option_size() const;
   1885   inline void clear_uninterpreted_option();
   1886   static const int kUninterpretedOptionFieldNumber = 999;
   1887   inline const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
   1888   inline ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index);
   1889   inline ::google::protobuf::UninterpretedOption* add_uninterpreted_option();
   1890   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   1891       uninterpreted_option() const;
   1892   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   1893       mutable_uninterpreted_option();
   1894 
   1895   GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(FieldOptions)
   1896   // @@protoc_insertion_point(class_scope:google.protobuf.FieldOptions)
   1897  private:
   1898   inline void set_has_ctype();
   1899   inline void clear_has_ctype();
   1900   inline void set_has_packed();
   1901   inline void clear_has_packed();
   1902   inline void set_has_lazy();
   1903   inline void clear_has_lazy();
   1904   inline void set_has_deprecated();
   1905   inline void clear_has_deprecated();
   1906   inline void set_has_experimental_map_key();
   1907   inline void clear_has_experimental_map_key();
   1908   inline void set_has_weak();
   1909   inline void clear_has_weak();
   1910 
   1911   ::google::protobuf::internal::ExtensionSet _extensions_;
   1912 
   1913   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   1914 
   1915   int ctype_;
   1916   bool packed_;
   1917   bool lazy_;
   1918   bool deprecated_;
   1919   bool weak_;
   1920   ::std::string* experimental_map_key_;
   1921   ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
   1922 
   1923   mutable int _cached_size_;
   1924   ::google::protobuf::uint32 _has_bits_[(7 + 31) / 32];
   1925 
   1926   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1927   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1928   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   1929 
   1930   void InitAsDefaultInstance();
   1931   static FieldOptions* default_instance_;
   1932 };
   1933 // -------------------------------------------------------------------
   1934 
   1935 class LIBPROTOBUF_EXPORT EnumOptions : public ::google::protobuf::Message {
   1936  public:
   1937   EnumOptions();
   1938   virtual ~EnumOptions();
   1939 
   1940   EnumOptions(const EnumOptions& from);
   1941 
   1942   inline EnumOptions& operator=(const EnumOptions& from) {
   1943     CopyFrom(from);
   1944     return *this;
   1945   }
   1946 
   1947   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   1948     return _unknown_fields_;
   1949   }
   1950 
   1951   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   1952     return &_unknown_fields_;
   1953   }
   1954 
   1955   static const ::google::protobuf::Descriptor* descriptor();
   1956   static const EnumOptions& default_instance();
   1957 
   1958   void Swap(EnumOptions* other);
   1959 
   1960   // implements Message ----------------------------------------------
   1961 
   1962   EnumOptions* New() const;
   1963   void CopyFrom(const ::google::protobuf::Message& from);
   1964   void MergeFrom(const ::google::protobuf::Message& from);
   1965   void CopyFrom(const EnumOptions& from);
   1966   void MergeFrom(const EnumOptions& from);
   1967   void Clear();
   1968   bool IsInitialized() const;
   1969 
   1970   int ByteSize() const;
   1971   bool MergePartialFromCodedStream(
   1972       ::google::protobuf::io::CodedInputStream* input);
   1973   void SerializeWithCachedSizes(
   1974       ::google::protobuf::io::CodedOutputStream* output) const;
   1975   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   1976   int GetCachedSize() const { return _cached_size_; }
   1977   private:
   1978   void SharedCtor();
   1979   void SharedDtor();
   1980   void SetCachedSize(int size) const;
   1981   public:
   1982 
   1983   ::google::protobuf::Metadata GetMetadata() const;
   1984 
   1985   // nested types ----------------------------------------------------
   1986 
   1987   // accessors -------------------------------------------------------
   1988 
   1989   // optional bool allow_alias = 2 [default = true];
   1990   inline bool has_allow_alias() const;
   1991   inline void clear_allow_alias();
   1992   static const int kAllowAliasFieldNumber = 2;
   1993   inline bool allow_alias() const;
   1994   inline void set_allow_alias(bool value);
   1995 
   1996   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   1997   inline int uninterpreted_option_size() const;
   1998   inline void clear_uninterpreted_option();
   1999   static const int kUninterpretedOptionFieldNumber = 999;
   2000   inline const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
   2001   inline ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index);
   2002   inline ::google::protobuf::UninterpretedOption* add_uninterpreted_option();
   2003   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   2004       uninterpreted_option() const;
   2005   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   2006       mutable_uninterpreted_option();
   2007 
   2008   GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(EnumOptions)
   2009   // @@protoc_insertion_point(class_scope:google.protobuf.EnumOptions)
   2010  private:
   2011   inline void set_has_allow_alias();
   2012   inline void clear_has_allow_alias();
   2013 
   2014   ::google::protobuf::internal::ExtensionSet _extensions_;
   2015 
   2016   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   2017 
   2018   ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
   2019   bool allow_alias_;
   2020 
   2021   mutable int _cached_size_;
   2022   ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];
   2023 
   2024   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2025   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2026   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   2027 
   2028   void InitAsDefaultInstance();
   2029   static EnumOptions* default_instance_;
   2030 };
   2031 // -------------------------------------------------------------------
   2032 
   2033 class LIBPROTOBUF_EXPORT EnumValueOptions : public ::google::protobuf::Message {
   2034  public:
   2035   EnumValueOptions();
   2036   virtual ~EnumValueOptions();
   2037 
   2038   EnumValueOptions(const EnumValueOptions& from);
   2039 
   2040   inline EnumValueOptions& operator=(const EnumValueOptions& from) {
   2041     CopyFrom(from);
   2042     return *this;
   2043   }
   2044 
   2045   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   2046     return _unknown_fields_;
   2047   }
   2048 
   2049   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   2050     return &_unknown_fields_;
   2051   }
   2052 
   2053   static const ::google::protobuf::Descriptor* descriptor();
   2054   static const EnumValueOptions& default_instance();
   2055 
   2056   void Swap(EnumValueOptions* other);
   2057 
   2058   // implements Message ----------------------------------------------
   2059 
   2060   EnumValueOptions* New() const;
   2061   void CopyFrom(const ::google::protobuf::Message& from);
   2062   void MergeFrom(const ::google::protobuf::Message& from);
   2063   void CopyFrom(const EnumValueOptions& from);
   2064   void MergeFrom(const EnumValueOptions& from);
   2065   void Clear();
   2066   bool IsInitialized() const;
   2067 
   2068   int ByteSize() const;
   2069   bool MergePartialFromCodedStream(
   2070       ::google::protobuf::io::CodedInputStream* input);
   2071   void SerializeWithCachedSizes(
   2072       ::google::protobuf::io::CodedOutputStream* output) const;
   2073   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   2074   int GetCachedSize() const { return _cached_size_; }
   2075   private:
   2076   void SharedCtor();
   2077   void SharedDtor();
   2078   void SetCachedSize(int size) const;
   2079   public:
   2080 
   2081   ::google::protobuf::Metadata GetMetadata() const;
   2082 
   2083   // nested types ----------------------------------------------------
   2084 
   2085   // accessors -------------------------------------------------------
   2086 
   2087   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   2088   inline int uninterpreted_option_size() const;
   2089   inline void clear_uninterpreted_option();
   2090   static const int kUninterpretedOptionFieldNumber = 999;
   2091   inline const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
   2092   inline ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index);
   2093   inline ::google::protobuf::UninterpretedOption* add_uninterpreted_option();
   2094   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   2095       uninterpreted_option() const;
   2096   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   2097       mutable_uninterpreted_option();
   2098 
   2099   GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(EnumValueOptions)
   2100   // @@protoc_insertion_point(class_scope:google.protobuf.EnumValueOptions)
   2101  private:
   2102 
   2103   ::google::protobuf::internal::ExtensionSet _extensions_;
   2104 
   2105   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   2106 
   2107   ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
   2108 
   2109   mutable int _cached_size_;
   2110   ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
   2111 
   2112   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2113   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2114   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   2115 
   2116   void InitAsDefaultInstance();
   2117   static EnumValueOptions* default_instance_;
   2118 };
   2119 // -------------------------------------------------------------------
   2120 
   2121 class LIBPROTOBUF_EXPORT ServiceOptions : public ::google::protobuf::Message {
   2122  public:
   2123   ServiceOptions();
   2124   virtual ~ServiceOptions();
   2125 
   2126   ServiceOptions(const ServiceOptions& from);
   2127 
   2128   inline ServiceOptions& operator=(const ServiceOptions& from) {
   2129     CopyFrom(from);
   2130     return *this;
   2131   }
   2132 
   2133   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   2134     return _unknown_fields_;
   2135   }
   2136 
   2137   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   2138     return &_unknown_fields_;
   2139   }
   2140 
   2141   static const ::google::protobuf::Descriptor* descriptor();
   2142   static const ServiceOptions& default_instance();
   2143 
   2144   void Swap(ServiceOptions* other);
   2145 
   2146   // implements Message ----------------------------------------------
   2147 
   2148   ServiceOptions* New() const;
   2149   void CopyFrom(const ::google::protobuf::Message& from);
   2150   void MergeFrom(const ::google::protobuf::Message& from);
   2151   void CopyFrom(const ServiceOptions& from);
   2152   void MergeFrom(const ServiceOptions& from);
   2153   void Clear();
   2154   bool IsInitialized() const;
   2155 
   2156   int ByteSize() const;
   2157   bool MergePartialFromCodedStream(
   2158       ::google::protobuf::io::CodedInputStream* input);
   2159   void SerializeWithCachedSizes(
   2160       ::google::protobuf::io::CodedOutputStream* output) const;
   2161   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   2162   int GetCachedSize() const { return _cached_size_; }
   2163   private:
   2164   void SharedCtor();
   2165   void SharedDtor();
   2166   void SetCachedSize(int size) const;
   2167   public:
   2168 
   2169   ::google::protobuf::Metadata GetMetadata() const;
   2170 
   2171   // nested types ----------------------------------------------------
   2172 
   2173   // accessors -------------------------------------------------------
   2174 
   2175   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   2176   inline int uninterpreted_option_size() const;
   2177   inline void clear_uninterpreted_option();
   2178   static const int kUninterpretedOptionFieldNumber = 999;
   2179   inline const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
   2180   inline ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index);
   2181   inline ::google::protobuf::UninterpretedOption* add_uninterpreted_option();
   2182   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   2183       uninterpreted_option() const;
   2184   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   2185       mutable_uninterpreted_option();
   2186 
   2187   GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(ServiceOptions)
   2188   // @@protoc_insertion_point(class_scope:google.protobuf.ServiceOptions)
   2189  private:
   2190 
   2191   ::google::protobuf::internal::ExtensionSet _extensions_;
   2192 
   2193   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   2194 
   2195   ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
   2196 
   2197   mutable int _cached_size_;
   2198   ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
   2199 
   2200   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2201   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2202   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   2203 
   2204   void InitAsDefaultInstance();
   2205   static ServiceOptions* default_instance_;
   2206 };
   2207 // -------------------------------------------------------------------
   2208 
   2209 class LIBPROTOBUF_EXPORT MethodOptions : public ::google::protobuf::Message {
   2210  public:
   2211   MethodOptions();
   2212   virtual ~MethodOptions();
   2213 
   2214   MethodOptions(const MethodOptions& from);
   2215 
   2216   inline MethodOptions& operator=(const MethodOptions& from) {
   2217     CopyFrom(from);
   2218     return *this;
   2219   }
   2220 
   2221   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   2222     return _unknown_fields_;
   2223   }
   2224 
   2225   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   2226     return &_unknown_fields_;
   2227   }
   2228 
   2229   static const ::google::protobuf::Descriptor* descriptor();
   2230   static const MethodOptions& default_instance();
   2231 
   2232   void Swap(MethodOptions* other);
   2233 
   2234   // implements Message ----------------------------------------------
   2235 
   2236   MethodOptions* New() const;
   2237   void CopyFrom(const ::google::protobuf::Message& from);
   2238   void MergeFrom(const ::google::protobuf::Message& from);
   2239   void CopyFrom(const MethodOptions& from);
   2240   void MergeFrom(const MethodOptions& from);
   2241   void Clear();
   2242   bool IsInitialized() const;
   2243 
   2244   int ByteSize() const;
   2245   bool MergePartialFromCodedStream(
   2246       ::google::protobuf::io::CodedInputStream* input);
   2247   void SerializeWithCachedSizes(
   2248       ::google::protobuf::io::CodedOutputStream* output) const;
   2249   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   2250   int GetCachedSize() const { return _cached_size_; }
   2251   private:
   2252   void SharedCtor();
   2253   void SharedDtor();
   2254   void SetCachedSize(int size) const;
   2255   public:
   2256 
   2257   ::google::protobuf::Metadata GetMetadata() const;
   2258 
   2259   // nested types ----------------------------------------------------
   2260 
   2261   // accessors -------------------------------------------------------
   2262 
   2263   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   2264   inline int uninterpreted_option_size() const;
   2265   inline void clear_uninterpreted_option();
   2266   static const int kUninterpretedOptionFieldNumber = 999;
   2267   inline const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
   2268   inline ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index);
   2269   inline ::google::protobuf::UninterpretedOption* add_uninterpreted_option();
   2270   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   2271       uninterpreted_option() const;
   2272   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   2273       mutable_uninterpreted_option();
   2274 
   2275   GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(MethodOptions)
   2276   // @@protoc_insertion_point(class_scope:google.protobuf.MethodOptions)
   2277  private:
   2278 
   2279   ::google::protobuf::internal::ExtensionSet _extensions_;
   2280 
   2281   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   2282 
   2283   ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
   2284 
   2285   mutable int _cached_size_;
   2286   ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
   2287 
   2288   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2289   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2290   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   2291 
   2292   void InitAsDefaultInstance();
   2293   static MethodOptions* default_instance_;
   2294 };
   2295 // -------------------------------------------------------------------
   2296 
   2297 class LIBPROTOBUF_EXPORT UninterpretedOption_NamePart : public ::google::protobuf::Message {
   2298  public:
   2299   UninterpretedOption_NamePart();
   2300   virtual ~UninterpretedOption_NamePart();
   2301 
   2302   UninterpretedOption_NamePart(const UninterpretedOption_NamePart& from);
   2303 
   2304   inline UninterpretedOption_NamePart& operator=(const UninterpretedOption_NamePart& from) {
   2305     CopyFrom(from);
   2306     return *this;
   2307   }
   2308 
   2309   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   2310     return _unknown_fields_;
   2311   }
   2312 
   2313   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   2314     return &_unknown_fields_;
   2315   }
   2316 
   2317   static const ::google::protobuf::Descriptor* descriptor();
   2318   static const UninterpretedOption_NamePart& default_instance();
   2319 
   2320   void Swap(UninterpretedOption_NamePart* other);
   2321 
   2322   // implements Message ----------------------------------------------
   2323 
   2324   UninterpretedOption_NamePart* New() const;
   2325   void CopyFrom(const ::google::protobuf::Message& from);
   2326   void MergeFrom(const ::google::protobuf::Message& from);
   2327   void CopyFrom(const UninterpretedOption_NamePart& from);
   2328   void MergeFrom(const UninterpretedOption_NamePart& from);
   2329   void Clear();
   2330   bool IsInitialized() const;
   2331 
   2332   int ByteSize() const;
   2333   bool MergePartialFromCodedStream(
   2334       ::google::protobuf::io::CodedInputStream* input);
   2335   void SerializeWithCachedSizes(
   2336       ::google::protobuf::io::CodedOutputStream* output) const;
   2337   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   2338   int GetCachedSize() const { return _cached_size_; }
   2339   private:
   2340   void SharedCtor();
   2341   void SharedDtor();
   2342   void SetCachedSize(int size) const;
   2343   public:
   2344 
   2345   ::google::protobuf::Metadata GetMetadata() const;
   2346 
   2347   // nested types ----------------------------------------------------
   2348 
   2349   // accessors -------------------------------------------------------
   2350 
   2351   // required string name_part = 1;
   2352   inline bool has_name_part() const;
   2353   inline void clear_name_part();
   2354   static const int kNamePartFieldNumber = 1;
   2355   inline const ::std::string& name_part() const;
   2356   inline void set_name_part(const ::std::string& value);
   2357   inline void set_name_part(const char* value);
   2358   inline void set_name_part(const char* value, size_t size);
   2359   inline ::std::string* mutable_name_part();
   2360   inline ::std::string* release_name_part();
   2361   inline void set_allocated_name_part(::std::string* name_part);
   2362 
   2363   // required bool is_extension = 2;
   2364   inline bool has_is_extension() const;
   2365   inline void clear_is_extension();
   2366   static const int kIsExtensionFieldNumber = 2;
   2367   inline bool is_extension() const;
   2368   inline void set_is_extension(bool value);
   2369 
   2370   // @@protoc_insertion_point(class_scope:google.protobuf.UninterpretedOption.NamePart)
   2371  private:
   2372   inline void set_has_name_part();
   2373   inline void clear_has_name_part();
   2374   inline void set_has_is_extension();
   2375   inline void clear_has_is_extension();
   2376 
   2377   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   2378 
   2379   ::std::string* name_part_;
   2380   bool is_extension_;
   2381 
   2382   mutable int _cached_size_;
   2383   ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];
   2384 
   2385   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2386   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2387   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   2388 
   2389   void InitAsDefaultInstance();
   2390   static UninterpretedOption_NamePart* default_instance_;
   2391 };
   2392 // -------------------------------------------------------------------
   2393 
   2394 class LIBPROTOBUF_EXPORT UninterpretedOption : public ::google::protobuf::Message {
   2395  public:
   2396   UninterpretedOption();
   2397   virtual ~UninterpretedOption();
   2398 
   2399   UninterpretedOption(const UninterpretedOption& from);
   2400 
   2401   inline UninterpretedOption& operator=(const UninterpretedOption& from) {
   2402     CopyFrom(from);
   2403     return *this;
   2404   }
   2405 
   2406   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   2407     return _unknown_fields_;
   2408   }
   2409 
   2410   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   2411     return &_unknown_fields_;
   2412   }
   2413 
   2414   static const ::google::protobuf::Descriptor* descriptor();
   2415   static const UninterpretedOption& default_instance();
   2416 
   2417   void Swap(UninterpretedOption* other);
   2418 
   2419   // implements Message ----------------------------------------------
   2420 
   2421   UninterpretedOption* New() const;
   2422   void CopyFrom(const ::google::protobuf::Message& from);
   2423   void MergeFrom(const ::google::protobuf::Message& from);
   2424   void CopyFrom(const UninterpretedOption& from);
   2425   void MergeFrom(const UninterpretedOption& from);
   2426   void Clear();
   2427   bool IsInitialized() const;
   2428 
   2429   int ByteSize() const;
   2430   bool MergePartialFromCodedStream(
   2431       ::google::protobuf::io::CodedInputStream* input);
   2432   void SerializeWithCachedSizes(
   2433       ::google::protobuf::io::CodedOutputStream* output) const;
   2434   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   2435   int GetCachedSize() const { return _cached_size_; }
   2436   private:
   2437   void SharedCtor();
   2438   void SharedDtor();
   2439   void SetCachedSize(int size) const;
   2440   public:
   2441 
   2442   ::google::protobuf::Metadata GetMetadata() const;
   2443 
   2444   // nested types ----------------------------------------------------
   2445 
   2446   typedef UninterpretedOption_NamePart NamePart;
   2447 
   2448   // accessors -------------------------------------------------------
   2449 
   2450   // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
   2451   inline int name_size() const;
   2452   inline void clear_name();
   2453   static const int kNameFieldNumber = 2;
   2454   inline const ::google::protobuf::UninterpretedOption_NamePart& name(int index) const;
   2455   inline ::google::protobuf::UninterpretedOption_NamePart* mutable_name(int index);
   2456   inline ::google::protobuf::UninterpretedOption_NamePart* add_name();
   2457   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption_NamePart >&
   2458       name() const;
   2459   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption_NamePart >*
   2460       mutable_name();
   2461 
   2462   // optional string identifier_value = 3;
   2463   inline bool has_identifier_value() const;
   2464   inline void clear_identifier_value();
   2465   static const int kIdentifierValueFieldNumber = 3;
   2466   inline const ::std::string& identifier_value() const;
   2467   inline void set_identifier_value(const ::std::string& value);
   2468   inline void set_identifier_value(const char* value);
   2469   inline void set_identifier_value(const char* value, size_t size);
   2470   inline ::std::string* mutable_identifier_value();
   2471   inline ::std::string* release_identifier_value();
   2472   inline void set_allocated_identifier_value(::std::string* identifier_value);
   2473 
   2474   // optional uint64 positive_int_value = 4;
   2475   inline bool has_positive_int_value() const;
   2476   inline void clear_positive_int_value();
   2477   static const int kPositiveIntValueFieldNumber = 4;
   2478   inline ::google::protobuf::uint64 positive_int_value() const;
   2479   inline void set_positive_int_value(::google::protobuf::uint64 value);
   2480 
   2481   // optional int64 negative_int_value = 5;
   2482   inline bool has_negative_int_value() const;
   2483   inline void clear_negative_int_value();
   2484   static const int kNegativeIntValueFieldNumber = 5;
   2485   inline ::google::protobuf::int64 negative_int_value() const;
   2486   inline void set_negative_int_value(::google::protobuf::int64 value);
   2487 
   2488   // optional double double_value = 6;
   2489   inline bool has_double_value() const;
   2490   inline void clear_double_value();
   2491   static const int kDoubleValueFieldNumber = 6;
   2492   inline double double_value() const;
   2493   inline void set_double_value(double value);
   2494 
   2495   // optional bytes string_value = 7;
   2496   inline bool has_string_value() const;
   2497   inline void clear_string_value();
   2498   static const int kStringValueFieldNumber = 7;
   2499   inline const ::std::string& string_value() const;
   2500   inline void set_string_value(const ::std::string& value);
   2501   inline void set_string_value(const char* value);
   2502   inline void set_string_value(const void* value, size_t size);
   2503   inline ::std::string* mutable_string_value();
   2504   inline ::std::string* release_string_value();
   2505   inline void set_allocated_string_value(::std::string* string_value);
   2506 
   2507   // optional string aggregate_value = 8;
   2508   inline bool has_aggregate_value() const;
   2509   inline void clear_aggregate_value();
   2510   static const int kAggregateValueFieldNumber = 8;
   2511   inline const ::std::string& aggregate_value() const;
   2512   inline void set_aggregate_value(const ::std::string& value);
   2513   inline void set_aggregate_value(const char* value);
   2514   inline void set_aggregate_value(const char* value, size_t size);
   2515   inline ::std::string* mutable_aggregate_value();
   2516   inline ::std::string* release_aggregate_value();
   2517   inline void set_allocated_aggregate_value(::std::string* aggregate_value);
   2518 
   2519   // @@protoc_insertion_point(class_scope:google.protobuf.UninterpretedOption)
   2520  private:
   2521   inline void set_has_identifier_value();
   2522   inline void clear_has_identifier_value();
   2523   inline void set_has_positive_int_value();
   2524   inline void clear_has_positive_int_value();
   2525   inline void set_has_negative_int_value();
   2526   inline void clear_has_negative_int_value();
   2527   inline void set_has_double_value();
   2528   inline void clear_has_double_value();
   2529   inline void set_has_string_value();
   2530   inline void clear_has_string_value();
   2531   inline void set_has_aggregate_value();
   2532   inline void clear_has_aggregate_value();
   2533 
   2534   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   2535 
   2536   ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption_NamePart > name_;
   2537   ::std::string* identifier_value_;
   2538   ::google::protobuf::uint64 positive_int_value_;
   2539   ::google::protobuf::int64 negative_int_value_;
   2540   double double_value_;
   2541   ::std::string* string_value_;
   2542   ::std::string* aggregate_value_;
   2543 
   2544   mutable int _cached_size_;
   2545   ::google::protobuf::uint32 _has_bits_[(7 + 31) / 32];
   2546 
   2547   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2548   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2549   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   2550 
   2551   void InitAsDefaultInstance();
   2552   static UninterpretedOption* default_instance_;
   2553 };
   2554 // -------------------------------------------------------------------
   2555 
   2556 class LIBPROTOBUF_EXPORT SourceCodeInfo_Location : public ::google::protobuf::Message {
   2557  public:
   2558   SourceCodeInfo_Location();
   2559   virtual ~SourceCodeInfo_Location();
   2560 
   2561   SourceCodeInfo_Location(const SourceCodeInfo_Location& from);
   2562 
   2563   inline SourceCodeInfo_Location& operator=(const SourceCodeInfo_Location& from) {
   2564     CopyFrom(from);
   2565     return *this;
   2566   }
   2567 
   2568   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   2569     return _unknown_fields_;
   2570   }
   2571 
   2572   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   2573     return &_unknown_fields_;
   2574   }
   2575 
   2576   static const ::google::protobuf::Descriptor* descriptor();
   2577   static const SourceCodeInfo_Location& default_instance();
   2578 
   2579   void Swap(SourceCodeInfo_Location* other);
   2580 
   2581   // implements Message ----------------------------------------------
   2582 
   2583   SourceCodeInfo_Location* New() const;
   2584   void CopyFrom(const ::google::protobuf::Message& from);
   2585   void MergeFrom(const ::google::protobuf::Message& from);
   2586   void CopyFrom(const SourceCodeInfo_Location& from);
   2587   void MergeFrom(const SourceCodeInfo_Location& from);
   2588   void Clear();
   2589   bool IsInitialized() const;
   2590 
   2591   int ByteSize() const;
   2592   bool MergePartialFromCodedStream(
   2593       ::google::protobuf::io::CodedInputStream* input);
   2594   void SerializeWithCachedSizes(
   2595       ::google::protobuf::io::CodedOutputStream* output) const;
   2596   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   2597   int GetCachedSize() const { return _cached_size_; }
   2598   private:
   2599   void SharedCtor();
   2600   void SharedDtor();
   2601   void SetCachedSize(int size) const;
   2602   public:
   2603 
   2604   ::google::protobuf::Metadata GetMetadata() const;
   2605 
   2606   // nested types ----------------------------------------------------
   2607 
   2608   // accessors -------------------------------------------------------
   2609 
   2610   // repeated int32 path = 1 [packed = true];
   2611   inline int path_size() const;
   2612   inline void clear_path();
   2613   static const int kPathFieldNumber = 1;
   2614   inline ::google::protobuf::int32 path(int index) const;
   2615   inline void set_path(int index, ::google::protobuf::int32 value);
   2616   inline void add_path(::google::protobuf::int32 value);
   2617   inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
   2618       path() const;
   2619   inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
   2620       mutable_path();
   2621 
   2622   // repeated int32 span = 2 [packed = true];
   2623   inline int span_size() const;
   2624   inline void clear_span();
   2625   static const int kSpanFieldNumber = 2;
   2626   inline ::google::protobuf::int32 span(int index) const;
   2627   inline void set_span(int index, ::google::protobuf::int32 value);
   2628   inline void add_span(::google::protobuf::int32 value);
   2629   inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
   2630       span() const;
   2631   inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
   2632       mutable_span();
   2633 
   2634   // optional string leading_comments = 3;
   2635   inline bool has_leading_comments() const;
   2636   inline void clear_leading_comments();
   2637   static const int kLeadingCommentsFieldNumber = 3;
   2638   inline const ::std::string& leading_comments() const;
   2639   inline void set_leading_comments(const ::std::string& value);
   2640   inline void set_leading_comments(const char* value);
   2641   inline void set_leading_comments(const char* value, size_t size);
   2642   inline ::std::string* mutable_leading_comments();
   2643   inline ::std::string* release_leading_comments();
   2644   inline void set_allocated_leading_comments(::std::string* leading_comments);
   2645 
   2646   // optional string trailing_comments = 4;
   2647   inline bool has_trailing_comments() const;
   2648   inline void clear_trailing_comments();
   2649   static const int kTrailingCommentsFieldNumber = 4;
   2650   inline const ::std::string& trailing_comments() const;
   2651   inline void set_trailing_comments(const ::std::string& value);
   2652   inline void set_trailing_comments(const char* value);
   2653   inline void set_trailing_comments(const char* value, size_t size);
   2654   inline ::std::string* mutable_trailing_comments();
   2655   inline ::std::string* release_trailing_comments();
   2656   inline void set_allocated_trailing_comments(::std::string* trailing_comments);
   2657 
   2658   // @@protoc_insertion_point(class_scope:google.protobuf.SourceCodeInfo.Location)
   2659  private:
   2660   inline void set_has_leading_comments();
   2661   inline void clear_has_leading_comments();
   2662   inline void set_has_trailing_comments();
   2663   inline void clear_has_trailing_comments();
   2664 
   2665   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   2666 
   2667   ::google::protobuf::RepeatedField< ::google::protobuf::int32 > path_;
   2668   mutable int _path_cached_byte_size_;
   2669   ::google::protobuf::RepeatedField< ::google::protobuf::int32 > span_;
   2670   mutable int _span_cached_byte_size_;
   2671   ::std::string* leading_comments_;
   2672   ::std::string* trailing_comments_;
   2673 
   2674   mutable int _cached_size_;
   2675   ::google::protobuf::uint32 _has_bits_[(4 + 31) / 32];
   2676 
   2677   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2678   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2679   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   2680 
   2681   void InitAsDefaultInstance();
   2682   static SourceCodeInfo_Location* default_instance_;
   2683 };
   2684 // -------------------------------------------------------------------
   2685 
   2686 class LIBPROTOBUF_EXPORT SourceCodeInfo : public ::google::protobuf::Message {
   2687  public:
   2688   SourceCodeInfo();
   2689   virtual ~SourceCodeInfo();
   2690 
   2691   SourceCodeInfo(const SourceCodeInfo& from);
   2692 
   2693   inline SourceCodeInfo& operator=(const SourceCodeInfo& from) {
   2694     CopyFrom(from);
   2695     return *this;
   2696   }
   2697 
   2698   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
   2699     return _unknown_fields_;
   2700   }
   2701 
   2702   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
   2703     return &_unknown_fields_;
   2704   }
   2705 
   2706   static const ::google::protobuf::Descriptor* descriptor();
   2707   static const SourceCodeInfo& default_instance();
   2708 
   2709   void Swap(SourceCodeInfo* other);
   2710 
   2711   // implements Message ----------------------------------------------
   2712 
   2713   SourceCodeInfo* New() const;
   2714   void CopyFrom(const ::google::protobuf::Message& from);
   2715   void MergeFrom(const ::google::protobuf::Message& from);
   2716   void CopyFrom(const SourceCodeInfo& from);
   2717   void MergeFrom(const SourceCodeInfo& from);
   2718   void Clear();
   2719   bool IsInitialized() const;
   2720 
   2721   int ByteSize() const;
   2722   bool MergePartialFromCodedStream(
   2723       ::google::protobuf::io::CodedInputStream* input);
   2724   void SerializeWithCachedSizes(
   2725       ::google::protobuf::io::CodedOutputStream* output) const;
   2726   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
   2727   int GetCachedSize() const { return _cached_size_; }
   2728   private:
   2729   void SharedCtor();
   2730   void SharedDtor();
   2731   void SetCachedSize(int size) const;
   2732   public:
   2733 
   2734   ::google::protobuf::Metadata GetMetadata() const;
   2735 
   2736   // nested types ----------------------------------------------------
   2737 
   2738   typedef SourceCodeInfo_Location Location;
   2739 
   2740   // accessors -------------------------------------------------------
   2741 
   2742   // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
   2743   inline int location_size() const;
   2744   inline void clear_location();
   2745   static const int kLocationFieldNumber = 1;
   2746   inline const ::google::protobuf::SourceCodeInfo_Location& location(int index) const;
   2747   inline ::google::protobuf::SourceCodeInfo_Location* mutable_location(int index);
   2748   inline ::google::protobuf::SourceCodeInfo_Location* add_location();
   2749   inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::SourceCodeInfo_Location >&
   2750       location() const;
   2751   inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::SourceCodeInfo_Location >*
   2752       mutable_location();
   2753 
   2754   // @@protoc_insertion_point(class_scope:google.protobuf.SourceCodeInfo)
   2755  private:
   2756 
   2757   ::google::protobuf::UnknownFieldSet _unknown_fields_;
   2758 
   2759   ::google::protobuf::RepeatedPtrField< ::google::protobuf::SourceCodeInfo_Location > location_;
   2760 
   2761   mutable int _cached_size_;
   2762   ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
   2763 
   2764   friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2765   friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2766   friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto();
   2767 
   2768   void InitAsDefaultInstance();
   2769   static SourceCodeInfo* default_instance_;
   2770 };
   2771 // ===================================================================
   2772 
   2773 
   2774 // ===================================================================
   2775 
   2776 // FileDescriptorSet
   2777 
   2778 // repeated .google.protobuf.FileDescriptorProto file = 1;
   2779 inline int FileDescriptorSet::file_size() const {
   2780   return file_.size();
   2781 }
   2782 inline void FileDescriptorSet::clear_file() {
   2783   file_.Clear();
   2784 }
   2785 inline const ::google::protobuf::FileDescriptorProto& FileDescriptorSet::file(int index) const {
   2786   return file_.Get(index);
   2787 }
   2788 inline ::google::protobuf::FileDescriptorProto* FileDescriptorSet::mutable_file(int index) {
   2789   return file_.Mutable(index);
   2790 }
   2791 inline ::google::protobuf::FileDescriptorProto* FileDescriptorSet::add_file() {
   2792   return file_.Add();
   2793 }
   2794 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FileDescriptorProto >&
   2795 FileDescriptorSet::file() const {
   2796   return file_;
   2797 }
   2798 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::FileDescriptorProto >*
   2799 FileDescriptorSet::mutable_file() {
   2800   return &file_;
   2801 }
   2802 
   2803 // -------------------------------------------------------------------
   2804 
   2805 // FileDescriptorProto
   2806 
   2807 // optional string name = 1;
   2808 inline bool FileDescriptorProto::has_name() const {
   2809   return (_has_bits_[0] & 0x00000001u) != 0;
   2810 }
   2811 inline void FileDescriptorProto::set_has_name() {
   2812   _has_bits_[0] |= 0x00000001u;
   2813 }
   2814 inline void FileDescriptorProto::clear_has_name() {
   2815   _has_bits_[0] &= ~0x00000001u;
   2816 }
   2817 inline void FileDescriptorProto::clear_name() {
   2818   if (name_ != &::google::protobuf::internal::GetEmptyString()) {
   2819     name_->clear();
   2820   }
   2821   clear_has_name();
   2822 }
   2823 inline const ::std::string& FileDescriptorProto::name() const {
   2824   return *name_;
   2825 }
   2826 inline void FileDescriptorProto::set_name(const ::std::string& value) {
   2827   set_has_name();
   2828   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   2829     name_ = new ::std::string;
   2830   }
   2831   name_->assign(value);
   2832 }
   2833 inline void FileDescriptorProto::set_name(const char* value) {
   2834   set_has_name();
   2835   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   2836     name_ = new ::std::string;
   2837   }
   2838   name_->assign(value);
   2839 }
   2840 inline void FileDescriptorProto::set_name(const char* value, size_t size) {
   2841   set_has_name();
   2842   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   2843     name_ = new ::std::string;
   2844   }
   2845   name_->assign(reinterpret_cast<const char*>(value), size);
   2846 }
   2847 inline ::std::string* FileDescriptorProto::mutable_name() {
   2848   set_has_name();
   2849   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   2850     name_ = new ::std::string;
   2851   }
   2852   return name_;
   2853 }
   2854 inline ::std::string* FileDescriptorProto::release_name() {
   2855   clear_has_name();
   2856   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   2857     return NULL;
   2858   } else {
   2859     ::std::string* temp = name_;
   2860     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   2861     return temp;
   2862   }
   2863 }
   2864 inline void FileDescriptorProto::set_allocated_name(::std::string* name) {
   2865   if (name_ != &::google::protobuf::internal::GetEmptyString()) {
   2866     delete name_;
   2867   }
   2868   if (name) {
   2869     set_has_name();
   2870     name_ = name;
   2871   } else {
   2872     clear_has_name();
   2873     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   2874   }
   2875 }
   2876 
   2877 // optional string package = 2;
   2878 inline bool FileDescriptorProto::has_package() const {
   2879   return (_has_bits_[0] & 0x00000002u) != 0;
   2880 }
   2881 inline void FileDescriptorProto::set_has_package() {
   2882   _has_bits_[0] |= 0x00000002u;
   2883 }
   2884 inline void FileDescriptorProto::clear_has_package() {
   2885   _has_bits_[0] &= ~0x00000002u;
   2886 }
   2887 inline void FileDescriptorProto::clear_package() {
   2888   if (package_ != &::google::protobuf::internal::GetEmptyString()) {
   2889     package_->clear();
   2890   }
   2891   clear_has_package();
   2892 }
   2893 inline const ::std::string& FileDescriptorProto::package() const {
   2894   return *package_;
   2895 }
   2896 inline void FileDescriptorProto::set_package(const ::std::string& value) {
   2897   set_has_package();
   2898   if (package_ == &::google::protobuf::internal::GetEmptyString()) {
   2899     package_ = new ::std::string;
   2900   }
   2901   package_->assign(value);
   2902 }
   2903 inline void FileDescriptorProto::set_package(const char* value) {
   2904   set_has_package();
   2905   if (package_ == &::google::protobuf::internal::GetEmptyString()) {
   2906     package_ = new ::std::string;
   2907   }
   2908   package_->assign(value);
   2909 }
   2910 inline void FileDescriptorProto::set_package(const char* value, size_t size) {
   2911   set_has_package();
   2912   if (package_ == &::google::protobuf::internal::GetEmptyString()) {
   2913     package_ = new ::std::string;
   2914   }
   2915   package_->assign(reinterpret_cast<const char*>(value), size);
   2916 }
   2917 inline ::std::string* FileDescriptorProto::mutable_package() {
   2918   set_has_package();
   2919   if (package_ == &::google::protobuf::internal::GetEmptyString()) {
   2920     package_ = new ::std::string;
   2921   }
   2922   return package_;
   2923 }
   2924 inline ::std::string* FileDescriptorProto::release_package() {
   2925   clear_has_package();
   2926   if (package_ == &::google::protobuf::internal::GetEmptyString()) {
   2927     return NULL;
   2928   } else {
   2929     ::std::string* temp = package_;
   2930     package_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   2931     return temp;
   2932   }
   2933 }
   2934 inline void FileDescriptorProto::set_allocated_package(::std::string* package) {
   2935   if (package_ != &::google::protobuf::internal::GetEmptyString()) {
   2936     delete package_;
   2937   }
   2938   if (package) {
   2939     set_has_package();
   2940     package_ = package;
   2941   } else {
   2942     clear_has_package();
   2943     package_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   2944   }
   2945 }
   2946 
   2947 // repeated string dependency = 3;
   2948 inline int FileDescriptorProto::dependency_size() const {
   2949   return dependency_.size();
   2950 }
   2951 inline void FileDescriptorProto::clear_dependency() {
   2952   dependency_.Clear();
   2953 }
   2954 inline const ::std::string& FileDescriptorProto::dependency(int index) const {
   2955   return dependency_.Get(index);
   2956 }
   2957 inline ::std::string* FileDescriptorProto::mutable_dependency(int index) {
   2958   return dependency_.Mutable(index);
   2959 }
   2960 inline void FileDescriptorProto::set_dependency(int index, const ::std::string& value) {
   2961   dependency_.Mutable(index)->assign(value);
   2962 }
   2963 inline void FileDescriptorProto::set_dependency(int index, const char* value) {
   2964   dependency_.Mutable(index)->assign(value);
   2965 }
   2966 inline void FileDescriptorProto::set_dependency(int index, const char* value, size_t size) {
   2967   dependency_.Mutable(index)->assign(
   2968     reinterpret_cast<const char*>(value), size);
   2969 }
   2970 inline ::std::string* FileDescriptorProto::add_dependency() {
   2971   return dependency_.Add();
   2972 }
   2973 inline void FileDescriptorProto::add_dependency(const ::std::string& value) {
   2974   dependency_.Add()->assign(value);
   2975 }
   2976 inline void FileDescriptorProto::add_dependency(const char* value) {
   2977   dependency_.Add()->assign(value);
   2978 }
   2979 inline void FileDescriptorProto::add_dependency(const char* value, size_t size) {
   2980   dependency_.Add()->assign(reinterpret_cast<const char*>(value), size);
   2981 }
   2982 inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
   2983 FileDescriptorProto::dependency() const {
   2984   return dependency_;
   2985 }
   2986 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
   2987 FileDescriptorProto::mutable_dependency() {
   2988   return &dependency_;
   2989 }
   2990 
   2991 // repeated int32 public_dependency = 10;
   2992 inline int FileDescriptorProto::public_dependency_size() const {
   2993   return public_dependency_.size();
   2994 }
   2995 inline void FileDescriptorProto::clear_public_dependency() {
   2996   public_dependency_.Clear();
   2997 }
   2998 inline ::google::protobuf::int32 FileDescriptorProto::public_dependency(int index) const {
   2999   return public_dependency_.Get(index);
   3000 }
   3001 inline void FileDescriptorProto::set_public_dependency(int index, ::google::protobuf::int32 value) {
   3002   public_dependency_.Set(index, value);
   3003 }
   3004 inline void FileDescriptorProto::add_public_dependency(::google::protobuf::int32 value) {
   3005   public_dependency_.Add(value);
   3006 }
   3007 inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
   3008 FileDescriptorProto::public_dependency() const {
   3009   return public_dependency_;
   3010 }
   3011 inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
   3012 FileDescriptorProto::mutable_public_dependency() {
   3013   return &public_dependency_;
   3014 }
   3015 
   3016 // repeated int32 weak_dependency = 11;
   3017 inline int FileDescriptorProto::weak_dependency_size() const {
   3018   return weak_dependency_.size();
   3019 }
   3020 inline void FileDescriptorProto::clear_weak_dependency() {
   3021   weak_dependency_.Clear();
   3022 }
   3023 inline ::google::protobuf::int32 FileDescriptorProto::weak_dependency(int index) const {
   3024   return weak_dependency_.Get(index);
   3025 }
   3026 inline void FileDescriptorProto::set_weak_dependency(int index, ::google::protobuf::int32 value) {
   3027   weak_dependency_.Set(index, value);
   3028 }
   3029 inline void FileDescriptorProto::add_weak_dependency(::google::protobuf::int32 value) {
   3030   weak_dependency_.Add(value);
   3031 }
   3032 inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
   3033 FileDescriptorProto::weak_dependency() const {
   3034   return weak_dependency_;
   3035 }
   3036 inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
   3037 FileDescriptorProto::mutable_weak_dependency() {
   3038   return &weak_dependency_;
   3039 }
   3040 
   3041 // repeated .google.protobuf.DescriptorProto message_type = 4;
   3042 inline int FileDescriptorProto::message_type_size() const {
   3043   return message_type_.size();
   3044 }
   3045 inline void FileDescriptorProto::clear_message_type() {
   3046   message_type_.Clear();
   3047 }
   3048 inline const ::google::protobuf::DescriptorProto& FileDescriptorProto::message_type(int index) const {
   3049   return message_type_.Get(index);
   3050 }
   3051 inline ::google::protobuf::DescriptorProto* FileDescriptorProto::mutable_message_type(int index) {
   3052   return message_type_.Mutable(index);
   3053 }
   3054 inline ::google::protobuf::DescriptorProto* FileDescriptorProto::add_message_type() {
   3055   return message_type_.Add();
   3056 }
   3057 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >&
   3058 FileDescriptorProto::message_type() const {
   3059   return message_type_;
   3060 }
   3061 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >*
   3062 FileDescriptorProto::mutable_message_type() {
   3063   return &message_type_;
   3064 }
   3065 
   3066 // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
   3067 inline int FileDescriptorProto::enum_type_size() const {
   3068   return enum_type_.size();
   3069 }
   3070 inline void FileDescriptorProto::clear_enum_type() {
   3071   enum_type_.Clear();
   3072 }
   3073 inline const ::google::protobuf::EnumDescriptorProto& FileDescriptorProto::enum_type(int index) const {
   3074   return enum_type_.Get(index);
   3075 }
   3076 inline ::google::protobuf::EnumDescriptorProto* FileDescriptorProto::mutable_enum_type(int index) {
   3077   return enum_type_.Mutable(index);
   3078 }
   3079 inline ::google::protobuf::EnumDescriptorProto* FileDescriptorProto::add_enum_type() {
   3080   return enum_type_.Add();
   3081 }
   3082 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >&
   3083 FileDescriptorProto::enum_type() const {
   3084   return enum_type_;
   3085 }
   3086 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >*
   3087 FileDescriptorProto::mutable_enum_type() {
   3088   return &enum_type_;
   3089 }
   3090 
   3091 // repeated .google.protobuf.ServiceDescriptorProto service = 6;
   3092 inline int FileDescriptorProto::service_size() const {
   3093   return service_.size();
   3094 }
   3095 inline void FileDescriptorProto::clear_service() {
   3096   service_.Clear();
   3097 }
   3098 inline const ::google::protobuf::ServiceDescriptorProto& FileDescriptorProto::service(int index) const {
   3099   return service_.Get(index);
   3100 }
   3101 inline ::google::protobuf::ServiceDescriptorProto* FileDescriptorProto::mutable_service(int index) {
   3102   return service_.Mutable(index);
   3103 }
   3104 inline ::google::protobuf::ServiceDescriptorProto* FileDescriptorProto::add_service() {
   3105   return service_.Add();
   3106 }
   3107 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::ServiceDescriptorProto >&
   3108 FileDescriptorProto::service() const {
   3109   return service_;
   3110 }
   3111 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::ServiceDescriptorProto >*
   3112 FileDescriptorProto::mutable_service() {
   3113   return &service_;
   3114 }
   3115 
   3116 // repeated .google.protobuf.FieldDescriptorProto extension = 7;
   3117 inline int FileDescriptorProto::extension_size() const {
   3118   return extension_.size();
   3119 }
   3120 inline void FileDescriptorProto::clear_extension() {
   3121   extension_.Clear();
   3122 }
   3123 inline const ::google::protobuf::FieldDescriptorProto& FileDescriptorProto::extension(int index) const {
   3124   return extension_.Get(index);
   3125 }
   3126 inline ::google::protobuf::FieldDescriptorProto* FileDescriptorProto::mutable_extension(int index) {
   3127   return extension_.Mutable(index);
   3128 }
   3129 inline ::google::protobuf::FieldDescriptorProto* FileDescriptorProto::add_extension() {
   3130   return extension_.Add();
   3131 }
   3132 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >&
   3133 FileDescriptorProto::extension() const {
   3134   return extension_;
   3135 }
   3136 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >*
   3137 FileDescriptorProto::mutable_extension() {
   3138   return &extension_;
   3139 }
   3140 
   3141 // optional .google.protobuf.FileOptions options = 8;
   3142 inline bool FileDescriptorProto::has_options() const {
   3143   return (_has_bits_[0] & 0x00000200u) != 0;
   3144 }
   3145 inline void FileDescriptorProto::set_has_options() {
   3146   _has_bits_[0] |= 0x00000200u;
   3147 }
   3148 inline void FileDescriptorProto::clear_has_options() {
   3149   _has_bits_[0] &= ~0x00000200u;
   3150 }
   3151 inline void FileDescriptorProto::clear_options() {
   3152   if (options_ != NULL) options_->::google::protobuf::FileOptions::Clear();
   3153   clear_has_options();
   3154 }
   3155 inline const ::google::protobuf::FileOptions& FileDescriptorProto::options() const {
   3156   return options_ != NULL ? *options_ : *default_instance_->options_;
   3157 }
   3158 inline ::google::protobuf::FileOptions* FileDescriptorProto::mutable_options() {
   3159   set_has_options();
   3160   if (options_ == NULL) options_ = new ::google::protobuf::FileOptions;
   3161   return options_;
   3162 }
   3163 inline ::google::protobuf::FileOptions* FileDescriptorProto::release_options() {
   3164   clear_has_options();
   3165   ::google::protobuf::FileOptions* temp = options_;
   3166   options_ = NULL;
   3167   return temp;
   3168 }
   3169 inline void FileDescriptorProto::set_allocated_options(::google::protobuf::FileOptions* options) {
   3170   delete options_;
   3171   options_ = options;
   3172   if (options) {
   3173     set_has_options();
   3174   } else {
   3175     clear_has_options();
   3176   }
   3177 }
   3178 
   3179 // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
   3180 inline bool FileDescriptorProto::has_source_code_info() const {
   3181   return (_has_bits_[0] & 0x00000400u) != 0;
   3182 }
   3183 inline void FileDescriptorProto::set_has_source_code_info() {
   3184   _has_bits_[0] |= 0x00000400u;
   3185 }
   3186 inline void FileDescriptorProto::clear_has_source_code_info() {
   3187   _has_bits_[0] &= ~0x00000400u;
   3188 }
   3189 inline void FileDescriptorProto::clear_source_code_info() {
   3190   if (source_code_info_ != NULL) source_code_info_->::google::protobuf::SourceCodeInfo::Clear();
   3191   clear_has_source_code_info();
   3192 }
   3193 inline const ::google::protobuf::SourceCodeInfo& FileDescriptorProto::source_code_info() const {
   3194   return source_code_info_ != NULL ? *source_code_info_ : *default_instance_->source_code_info_;
   3195 }
   3196 inline ::google::protobuf::SourceCodeInfo* FileDescriptorProto::mutable_source_code_info() {
   3197   set_has_source_code_info();
   3198   if (source_code_info_ == NULL) source_code_info_ = new ::google::protobuf::SourceCodeInfo;
   3199   return source_code_info_;
   3200 }
   3201 inline ::google::protobuf::SourceCodeInfo* FileDescriptorProto::release_source_code_info() {
   3202   clear_has_source_code_info();
   3203   ::google::protobuf::SourceCodeInfo* temp = source_code_info_;
   3204   source_code_info_ = NULL;
   3205   return temp;
   3206 }
   3207 inline void FileDescriptorProto::set_allocated_source_code_info(::google::protobuf::SourceCodeInfo* source_code_info) {
   3208   delete source_code_info_;
   3209   source_code_info_ = source_code_info;
   3210   if (source_code_info) {
   3211     set_has_source_code_info();
   3212   } else {
   3213     clear_has_source_code_info();
   3214   }
   3215 }
   3216 
   3217 // -------------------------------------------------------------------
   3218 
   3219 // DescriptorProto_ExtensionRange
   3220 
   3221 // optional int32 start = 1;
   3222 inline bool DescriptorProto_ExtensionRange::has_start() const {
   3223   return (_has_bits_[0] & 0x00000001u) != 0;
   3224 }
   3225 inline void DescriptorProto_ExtensionRange::set_has_start() {
   3226   _has_bits_[0] |= 0x00000001u;
   3227 }
   3228 inline void DescriptorProto_ExtensionRange::clear_has_start() {
   3229   _has_bits_[0] &= ~0x00000001u;
   3230 }
   3231 inline void DescriptorProto_ExtensionRange::clear_start() {
   3232   start_ = 0;
   3233   clear_has_start();
   3234 }
   3235 inline ::google::protobuf::int32 DescriptorProto_ExtensionRange::start() const {
   3236   return start_;
   3237 }
   3238 inline void DescriptorProto_ExtensionRange::set_start(::google::protobuf::int32 value) {
   3239   set_has_start();
   3240   start_ = value;
   3241 }
   3242 
   3243 // optional int32 end = 2;
   3244 inline bool DescriptorProto_ExtensionRange::has_end() const {
   3245   return (_has_bits_[0] & 0x00000002u) != 0;
   3246 }
   3247 inline void DescriptorProto_ExtensionRange::set_has_end() {
   3248   _has_bits_[0] |= 0x00000002u;
   3249 }
   3250 inline void DescriptorProto_ExtensionRange::clear_has_end() {
   3251   _has_bits_[0] &= ~0x00000002u;
   3252 }
   3253 inline void DescriptorProto_ExtensionRange::clear_end() {
   3254   end_ = 0;
   3255   clear_has_end();
   3256 }
   3257 inline ::google::protobuf::int32 DescriptorProto_ExtensionRange::end() const {
   3258   return end_;
   3259 }
   3260 inline void DescriptorProto_ExtensionRange::set_end(::google::protobuf::int32 value) {
   3261   set_has_end();
   3262   end_ = value;
   3263 }
   3264 
   3265 // -------------------------------------------------------------------
   3266 
   3267 // DescriptorProto
   3268 
   3269 // optional string name = 1;
   3270 inline bool DescriptorProto::has_name() const {
   3271   return (_has_bits_[0] & 0x00000001u) != 0;
   3272 }
   3273 inline void DescriptorProto::set_has_name() {
   3274   _has_bits_[0] |= 0x00000001u;
   3275 }
   3276 inline void DescriptorProto::clear_has_name() {
   3277   _has_bits_[0] &= ~0x00000001u;
   3278 }
   3279 inline void DescriptorProto::clear_name() {
   3280   if (name_ != &::google::protobuf::internal::GetEmptyString()) {
   3281     name_->clear();
   3282   }
   3283   clear_has_name();
   3284 }
   3285 inline const ::std::string& DescriptorProto::name() const {
   3286   return *name_;
   3287 }
   3288 inline void DescriptorProto::set_name(const ::std::string& value) {
   3289   set_has_name();
   3290   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   3291     name_ = new ::std::string;
   3292   }
   3293   name_->assign(value);
   3294 }
   3295 inline void DescriptorProto::set_name(const char* value) {
   3296   set_has_name();
   3297   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   3298     name_ = new ::std::string;
   3299   }
   3300   name_->assign(value);
   3301 }
   3302 inline void DescriptorProto::set_name(const char* value, size_t size) {
   3303   set_has_name();
   3304   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   3305     name_ = new ::std::string;
   3306   }
   3307   name_->assign(reinterpret_cast<const char*>(value), size);
   3308 }
   3309 inline ::std::string* DescriptorProto::mutable_name() {
   3310   set_has_name();
   3311   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   3312     name_ = new ::std::string;
   3313   }
   3314   return name_;
   3315 }
   3316 inline ::std::string* DescriptorProto::release_name() {
   3317   clear_has_name();
   3318   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   3319     return NULL;
   3320   } else {
   3321     ::std::string* temp = name_;
   3322     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   3323     return temp;
   3324   }
   3325 }
   3326 inline void DescriptorProto::set_allocated_name(::std::string* name) {
   3327   if (name_ != &::google::protobuf::internal::GetEmptyString()) {
   3328     delete name_;
   3329   }
   3330   if (name) {
   3331     set_has_name();
   3332     name_ = name;
   3333   } else {
   3334     clear_has_name();
   3335     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   3336   }
   3337 }
   3338 
   3339 // repeated .google.protobuf.FieldDescriptorProto field = 2;
   3340 inline int DescriptorProto::field_size() const {
   3341   return field_.size();
   3342 }
   3343 inline void DescriptorProto::clear_field() {
   3344   field_.Clear();
   3345 }
   3346 inline const ::google::protobuf::FieldDescriptorProto& DescriptorProto::field(int index) const {
   3347   return field_.Get(index);
   3348 }
   3349 inline ::google::protobuf::FieldDescriptorProto* DescriptorProto::mutable_field(int index) {
   3350   return field_.Mutable(index);
   3351 }
   3352 inline ::google::protobuf::FieldDescriptorProto* DescriptorProto::add_field() {
   3353   return field_.Add();
   3354 }
   3355 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >&
   3356 DescriptorProto::field() const {
   3357   return field_;
   3358 }
   3359 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >*
   3360 DescriptorProto::mutable_field() {
   3361   return &field_;
   3362 }
   3363 
   3364 // repeated .google.protobuf.FieldDescriptorProto extension = 6;
   3365 inline int DescriptorProto::extension_size() const {
   3366   return extension_.size();
   3367 }
   3368 inline void DescriptorProto::clear_extension() {
   3369   extension_.Clear();
   3370 }
   3371 inline const ::google::protobuf::FieldDescriptorProto& DescriptorProto::extension(int index) const {
   3372   return extension_.Get(index);
   3373 }
   3374 inline ::google::protobuf::FieldDescriptorProto* DescriptorProto::mutable_extension(int index) {
   3375   return extension_.Mutable(index);
   3376 }
   3377 inline ::google::protobuf::FieldDescriptorProto* DescriptorProto::add_extension() {
   3378   return extension_.Add();
   3379 }
   3380 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >&
   3381 DescriptorProto::extension() const {
   3382   return extension_;
   3383 }
   3384 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >*
   3385 DescriptorProto::mutable_extension() {
   3386   return &extension_;
   3387 }
   3388 
   3389 // repeated .google.protobuf.DescriptorProto nested_type = 3;
   3390 inline int DescriptorProto::nested_type_size() const {
   3391   return nested_type_.size();
   3392 }
   3393 inline void DescriptorProto::clear_nested_type() {
   3394   nested_type_.Clear();
   3395 }
   3396 inline const ::google::protobuf::DescriptorProto& DescriptorProto::nested_type(int index) const {
   3397   return nested_type_.Get(index);
   3398 }
   3399 inline ::google::protobuf::DescriptorProto* DescriptorProto::mutable_nested_type(int index) {
   3400   return nested_type_.Mutable(index);
   3401 }
   3402 inline ::google::protobuf::DescriptorProto* DescriptorProto::add_nested_type() {
   3403   return nested_type_.Add();
   3404 }
   3405 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >&
   3406 DescriptorProto::nested_type() const {
   3407   return nested_type_;
   3408 }
   3409 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >*
   3410 DescriptorProto::mutable_nested_type() {
   3411   return &nested_type_;
   3412 }
   3413 
   3414 // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
   3415 inline int DescriptorProto::enum_type_size() const {
   3416   return enum_type_.size();
   3417 }
   3418 inline void DescriptorProto::clear_enum_type() {
   3419   enum_type_.Clear();
   3420 }
   3421 inline const ::google::protobuf::EnumDescriptorProto& DescriptorProto::enum_type(int index) const {
   3422   return enum_type_.Get(index);
   3423 }
   3424 inline ::google::protobuf::EnumDescriptorProto* DescriptorProto::mutable_enum_type(int index) {
   3425   return enum_type_.Mutable(index);
   3426 }
   3427 inline ::google::protobuf::EnumDescriptorProto* DescriptorProto::add_enum_type() {
   3428   return enum_type_.Add();
   3429 }
   3430 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >&
   3431 DescriptorProto::enum_type() const {
   3432   return enum_type_;
   3433 }
   3434 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >*
   3435 DescriptorProto::mutable_enum_type() {
   3436   return &enum_type_;
   3437 }
   3438 
   3439 // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
   3440 inline int DescriptorProto::extension_range_size() const {
   3441   return extension_range_.size();
   3442 }
   3443 inline void DescriptorProto::clear_extension_range() {
   3444   extension_range_.Clear();
   3445 }
   3446 inline const ::google::protobuf::DescriptorProto_ExtensionRange& DescriptorProto::extension_range(int index) const {
   3447   return extension_range_.Get(index);
   3448 }
   3449 inline ::google::protobuf::DescriptorProto_ExtensionRange* DescriptorProto::mutable_extension_range(int index) {
   3450   return extension_range_.Mutable(index);
   3451 }
   3452 inline ::google::protobuf::DescriptorProto_ExtensionRange* DescriptorProto::add_extension_range() {
   3453   return extension_range_.Add();
   3454 }
   3455 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ExtensionRange >&
   3456 DescriptorProto::extension_range() const {
   3457   return extension_range_;
   3458 }
   3459 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ExtensionRange >*
   3460 DescriptorProto::mutable_extension_range() {
   3461   return &extension_range_;
   3462 }
   3463 
   3464 // optional .google.protobuf.MessageOptions options = 7;
   3465 inline bool DescriptorProto::has_options() const {
   3466   return (_has_bits_[0] & 0x00000040u) != 0;
   3467 }
   3468 inline void DescriptorProto::set_has_options() {
   3469   _has_bits_[0] |= 0x00000040u;
   3470 }
   3471 inline void DescriptorProto::clear_has_options() {
   3472   _has_bits_[0] &= ~0x00000040u;
   3473 }
   3474 inline void DescriptorProto::clear_options() {
   3475   if (options_ != NULL) options_->::google::protobuf::MessageOptions::Clear();
   3476   clear_has_options();
   3477 }
   3478 inline const ::google::protobuf::MessageOptions& DescriptorProto::options() const {
   3479   return options_ != NULL ? *options_ : *default_instance_->options_;
   3480 }
   3481 inline ::google::protobuf::MessageOptions* DescriptorProto::mutable_options() {
   3482   set_has_options();
   3483   if (options_ == NULL) options_ = new ::google::protobuf::MessageOptions;
   3484   return options_;
   3485 }
   3486 inline ::google::protobuf::MessageOptions* DescriptorProto::release_options() {
   3487   clear_has_options();
   3488   ::google::protobuf::MessageOptions* temp = options_;
   3489   options_ = NULL;
   3490   return temp;
   3491 }
   3492 inline void DescriptorProto::set_allocated_options(::google::protobuf::MessageOptions* options) {
   3493   delete options_;
   3494   options_ = options;
   3495   if (options) {
   3496     set_has_options();
   3497   } else {
   3498     clear_has_options();
   3499   }
   3500 }
   3501 
   3502 // -------------------------------------------------------------------
   3503 
   3504 // FieldDescriptorProto
   3505 
   3506 // optional string name = 1;
   3507 inline bool FieldDescriptorProto::has_name() const {
   3508   return (_has_bits_[0] & 0x00000001u) != 0;
   3509 }
   3510 inline void FieldDescriptorProto::set_has_name() {
   3511   _has_bits_[0] |= 0x00000001u;
   3512 }
   3513 inline void FieldDescriptorProto::clear_has_name() {
   3514   _has_bits_[0] &= ~0x00000001u;
   3515 }
   3516 inline void FieldDescriptorProto::clear_name() {
   3517   if (name_ != &::google::protobuf::internal::GetEmptyString()) {
   3518     name_->clear();
   3519   }
   3520   clear_has_name();
   3521 }
   3522 inline const ::std::string& FieldDescriptorProto::name() const {
   3523   return *name_;
   3524 }
   3525 inline void FieldDescriptorProto::set_name(const ::std::string& value) {
   3526   set_has_name();
   3527   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   3528     name_ = new ::std::string;
   3529   }
   3530   name_->assign(value);
   3531 }
   3532 inline void FieldDescriptorProto::set_name(const char* value) {
   3533   set_has_name();
   3534   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   3535     name_ = new ::std::string;
   3536   }
   3537   name_->assign(value);
   3538 }
   3539 inline void FieldDescriptorProto::set_name(const char* value, size_t size) {
   3540   set_has_name();
   3541   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   3542     name_ = new ::std::string;
   3543   }
   3544   name_->assign(reinterpret_cast<const char*>(value), size);
   3545 }
   3546 inline ::std::string* FieldDescriptorProto::mutable_name() {
   3547   set_has_name();
   3548   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   3549     name_ = new ::std::string;
   3550   }
   3551   return name_;
   3552 }
   3553 inline ::std::string* FieldDescriptorProto::release_name() {
   3554   clear_has_name();
   3555   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   3556     return NULL;
   3557   } else {
   3558     ::std::string* temp = name_;
   3559     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   3560     return temp;
   3561   }
   3562 }
   3563 inline void FieldDescriptorProto::set_allocated_name(::std::string* name) {
   3564   if (name_ != &::google::protobuf::internal::GetEmptyString()) {
   3565     delete name_;
   3566   }
   3567   if (name) {
   3568     set_has_name();
   3569     name_ = name;
   3570   } else {
   3571     clear_has_name();
   3572     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   3573   }
   3574 }
   3575 
   3576 // optional int32 number = 3;
   3577 inline bool FieldDescriptorProto::has_number() const {
   3578   return (_has_bits_[0] & 0x00000002u) != 0;
   3579 }
   3580 inline void FieldDescriptorProto::set_has_number() {
   3581   _has_bits_[0] |= 0x00000002u;
   3582 }
   3583 inline void FieldDescriptorProto::clear_has_number() {
   3584   _has_bits_[0] &= ~0x00000002u;
   3585 }
   3586 inline void FieldDescriptorProto::clear_number() {
   3587   number_ = 0;
   3588   clear_has_number();
   3589 }
   3590 inline ::google::protobuf::int32 FieldDescriptorProto::number() const {
   3591   return number_;
   3592 }
   3593 inline void FieldDescriptorProto::set_number(::google::protobuf::int32 value) {
   3594   set_has_number();
   3595   number_ = value;
   3596 }
   3597 
   3598 // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
   3599 inline bool FieldDescriptorProto::has_label() const {
   3600   return (_has_bits_[0] & 0x00000004u) != 0;
   3601 }
   3602 inline void FieldDescriptorProto::set_has_label() {
   3603   _has_bits_[0] |= 0x00000004u;
   3604 }
   3605 inline void FieldDescriptorProto::clear_has_label() {
   3606   _has_bits_[0] &= ~0x00000004u;
   3607 }
   3608 inline void FieldDescriptorProto::clear_label() {
   3609   label_ = 1;
   3610   clear_has_label();
   3611 }
   3612 inline ::google::protobuf::FieldDescriptorProto_Label FieldDescriptorProto::label() const {
   3613   return static_cast< ::google::protobuf::FieldDescriptorProto_Label >(label_);
   3614 }
   3615 inline void FieldDescriptorProto::set_label(::google::protobuf::FieldDescriptorProto_Label value) {
   3616   assert(::google::protobuf::FieldDescriptorProto_Label_IsValid(value));
   3617   set_has_label();
   3618   label_ = value;
   3619 }
   3620 
   3621 // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
   3622 inline bool FieldDescriptorProto::has_type() const {
   3623   return (_has_bits_[0] & 0x00000008u) != 0;
   3624 }
   3625 inline void FieldDescriptorProto::set_has_type() {
   3626   _has_bits_[0] |= 0x00000008u;
   3627 }
   3628 inline void FieldDescriptorProto::clear_has_type() {
   3629   _has_bits_[0] &= ~0x00000008u;
   3630 }
   3631 inline void FieldDescriptorProto::clear_type() {
   3632   type_ = 1;
   3633   clear_has_type();
   3634 }
   3635 inline ::google::protobuf::FieldDescriptorProto_Type FieldDescriptorProto::type() const {
   3636   return static_cast< ::google::protobuf::FieldDescriptorProto_Type >(type_);
   3637 }
   3638 inline void FieldDescriptorProto::set_type(::google::protobuf::FieldDescriptorProto_Type value) {
   3639   assert(::google::protobuf::FieldDescriptorProto_Type_IsValid(value));
   3640   set_has_type();
   3641   type_ = value;
   3642 }
   3643 
   3644 // optional string type_name = 6;
   3645 inline bool FieldDescriptorProto::has_type_name() const {
   3646   return (_has_bits_[0] & 0x00000010u) != 0;
   3647 }
   3648 inline void FieldDescriptorProto::set_has_type_name() {
   3649   _has_bits_[0] |= 0x00000010u;
   3650 }
   3651 inline void FieldDescriptorProto::clear_has_type_name() {
   3652   _has_bits_[0] &= ~0x00000010u;
   3653 }
   3654 inline void FieldDescriptorProto::clear_type_name() {
   3655   if (type_name_ != &::google::protobuf::internal::GetEmptyString()) {
   3656     type_name_->clear();
   3657   }
   3658   clear_has_type_name();
   3659 }
   3660 inline const ::std::string& FieldDescriptorProto::type_name() const {
   3661   return *type_name_;
   3662 }
   3663 inline void FieldDescriptorProto::set_type_name(const ::std::string& value) {
   3664   set_has_type_name();
   3665   if (type_name_ == &::google::protobuf::internal::GetEmptyString()) {
   3666     type_name_ = new ::std::string;
   3667   }
   3668   type_name_->assign(value);
   3669 }
   3670 inline void FieldDescriptorProto::set_type_name(const char* value) {
   3671   set_has_type_name();
   3672   if (type_name_ == &::google::protobuf::internal::GetEmptyString()) {
   3673     type_name_ = new ::std::string;
   3674   }
   3675   type_name_->assign(value);
   3676 }
   3677 inline void FieldDescriptorProto::set_type_name(const char* value, size_t size) {
   3678   set_has_type_name();
   3679   if (type_name_ == &::google::protobuf::internal::GetEmptyString()) {
   3680     type_name_ = new ::std::string;
   3681   }
   3682   type_name_->assign(reinterpret_cast<const char*>(value), size);
   3683 }
   3684 inline ::std::string* FieldDescriptorProto::mutable_type_name() {
   3685   set_has_type_name();
   3686   if (type_name_ == &::google::protobuf::internal::GetEmptyString()) {
   3687     type_name_ = new ::std::string;
   3688   }
   3689   return type_name_;
   3690 }
   3691 inline ::std::string* FieldDescriptorProto::release_type_name() {
   3692   clear_has_type_name();
   3693   if (type_name_ == &::google::protobuf::internal::GetEmptyString()) {
   3694     return NULL;
   3695   } else {
   3696     ::std::string* temp = type_name_;
   3697     type_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   3698     return temp;
   3699   }
   3700 }
   3701 inline void FieldDescriptorProto::set_allocated_type_name(::std::string* type_name) {
   3702   if (type_name_ != &::google::protobuf::internal::GetEmptyString()) {
   3703     delete type_name_;
   3704   }
   3705   if (type_name) {
   3706     set_has_type_name();
   3707     type_name_ = type_name;
   3708   } else {
   3709     clear_has_type_name();
   3710     type_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   3711   }
   3712 }
   3713 
   3714 // optional string extendee = 2;
   3715 inline bool FieldDescriptorProto::has_extendee() const {
   3716   return (_has_bits_[0] & 0x00000020u) != 0;
   3717 }
   3718 inline void FieldDescriptorProto::set_has_extendee() {
   3719   _has_bits_[0] |= 0x00000020u;
   3720 }
   3721 inline void FieldDescriptorProto::clear_has_extendee() {
   3722   _has_bits_[0] &= ~0x00000020u;
   3723 }
   3724 inline void FieldDescriptorProto::clear_extendee() {
   3725   if (extendee_ != &::google::protobuf::internal::GetEmptyString()) {
   3726     extendee_->clear();
   3727   }
   3728   clear_has_extendee();
   3729 }
   3730 inline const ::std::string& FieldDescriptorProto::extendee() const {
   3731   return *extendee_;
   3732 }
   3733 inline void FieldDescriptorProto::set_extendee(const ::std::string& value) {
   3734   set_has_extendee();
   3735   if (extendee_ == &::google::protobuf::internal::GetEmptyString()) {
   3736     extendee_ = new ::std::string;
   3737   }
   3738   extendee_->assign(value);
   3739 }
   3740 inline void FieldDescriptorProto::set_extendee(const char* value) {
   3741   set_has_extendee();
   3742   if (extendee_ == &::google::protobuf::internal::GetEmptyString()) {
   3743     extendee_ = new ::std::string;
   3744   }
   3745   extendee_->assign(value);
   3746 }
   3747 inline void FieldDescriptorProto::set_extendee(const char* value, size_t size) {
   3748   set_has_extendee();
   3749   if (extendee_ == &::google::protobuf::internal::GetEmptyString()) {
   3750     extendee_ = new ::std::string;
   3751   }
   3752   extendee_->assign(reinterpret_cast<const char*>(value), size);
   3753 }
   3754 inline ::std::string* FieldDescriptorProto::mutable_extendee() {
   3755   set_has_extendee();
   3756   if (extendee_ == &::google::protobuf::internal::GetEmptyString()) {
   3757     extendee_ = new ::std::string;
   3758   }
   3759   return extendee_;
   3760 }
   3761 inline ::std::string* FieldDescriptorProto::release_extendee() {
   3762   clear_has_extendee();
   3763   if (extendee_ == &::google::protobuf::internal::GetEmptyString()) {
   3764     return NULL;
   3765   } else {
   3766     ::std::string* temp = extendee_;
   3767     extendee_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   3768     return temp;
   3769   }
   3770 }
   3771 inline void FieldDescriptorProto::set_allocated_extendee(::std::string* extendee) {
   3772   if (extendee_ != &::google::protobuf::internal::GetEmptyString()) {
   3773     delete extendee_;
   3774   }
   3775   if (extendee) {
   3776     set_has_extendee();
   3777     extendee_ = extendee;
   3778   } else {
   3779     clear_has_extendee();
   3780     extendee_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   3781   }
   3782 }
   3783 
   3784 // optional string default_value = 7;
   3785 inline bool FieldDescriptorProto::has_default_value() const {
   3786   return (_has_bits_[0] & 0x00000040u) != 0;
   3787 }
   3788 inline void FieldDescriptorProto::set_has_default_value() {
   3789   _has_bits_[0] |= 0x00000040u;
   3790 }
   3791 inline void FieldDescriptorProto::clear_has_default_value() {
   3792   _has_bits_[0] &= ~0x00000040u;
   3793 }
   3794 inline void FieldDescriptorProto::clear_default_value() {
   3795   if (default_value_ != &::google::protobuf::internal::GetEmptyString()) {
   3796     default_value_->clear();
   3797   }
   3798   clear_has_default_value();
   3799 }
   3800 inline const ::std::string& FieldDescriptorProto::default_value() const {
   3801   return *default_value_;
   3802 }
   3803 inline void FieldDescriptorProto::set_default_value(const ::std::string& value) {
   3804   set_has_default_value();
   3805   if (default_value_ == &::google::protobuf::internal::GetEmptyString()) {
   3806     default_value_ = new ::std::string;
   3807   }
   3808   default_value_->assign(value);
   3809 }
   3810 inline void FieldDescriptorProto::set_default_value(const char* value) {
   3811   set_has_default_value();
   3812   if (default_value_ == &::google::protobuf::internal::GetEmptyString()) {
   3813     default_value_ = new ::std::string;
   3814   }
   3815   default_value_->assign(value);
   3816 }
   3817 inline void FieldDescriptorProto::set_default_value(const char* value, size_t size) {
   3818   set_has_default_value();
   3819   if (default_value_ == &::google::protobuf::internal::GetEmptyString()) {
   3820     default_value_ = new ::std::string;
   3821   }
   3822   default_value_->assign(reinterpret_cast<const char*>(value), size);
   3823 }
   3824 inline ::std::string* FieldDescriptorProto::mutable_default_value() {
   3825   set_has_default_value();
   3826   if (default_value_ == &::google::protobuf::internal::GetEmptyString()) {
   3827     default_value_ = new ::std::string;
   3828   }
   3829   return default_value_;
   3830 }
   3831 inline ::std::string* FieldDescriptorProto::release_default_value() {
   3832   clear_has_default_value();
   3833   if (default_value_ == &::google::protobuf::internal::GetEmptyString()) {
   3834     return NULL;
   3835   } else {
   3836     ::std::string* temp = default_value_;
   3837     default_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   3838     return temp;
   3839   }
   3840 }
   3841 inline void FieldDescriptorProto::set_allocated_default_value(::std::string* default_value) {
   3842   if (default_value_ != &::google::protobuf::internal::GetEmptyString()) {
   3843     delete default_value_;
   3844   }
   3845   if (default_value) {
   3846     set_has_default_value();
   3847     default_value_ = default_value;
   3848   } else {
   3849     clear_has_default_value();
   3850     default_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   3851   }
   3852 }
   3853 
   3854 // optional .google.protobuf.FieldOptions options = 8;
   3855 inline bool FieldDescriptorProto::has_options() const {
   3856   return (_has_bits_[0] & 0x00000080u) != 0;
   3857 }
   3858 inline void FieldDescriptorProto::set_has_options() {
   3859   _has_bits_[0] |= 0x00000080u;
   3860 }
   3861 inline void FieldDescriptorProto::clear_has_options() {
   3862   _has_bits_[0] &= ~0x00000080u;
   3863 }
   3864 inline void FieldDescriptorProto::clear_options() {
   3865   if (options_ != NULL) options_->::google::protobuf::FieldOptions::Clear();
   3866   clear_has_options();
   3867 }
   3868 inline const ::google::protobuf::FieldOptions& FieldDescriptorProto::options() const {
   3869   return options_ != NULL ? *options_ : *default_instance_->options_;
   3870 }
   3871 inline ::google::protobuf::FieldOptions* FieldDescriptorProto::mutable_options() {
   3872   set_has_options();
   3873   if (options_ == NULL) options_ = new ::google::protobuf::FieldOptions;
   3874   return options_;
   3875 }
   3876 inline ::google::protobuf::FieldOptions* FieldDescriptorProto::release_options() {
   3877   clear_has_options();
   3878   ::google::protobuf::FieldOptions* temp = options_;
   3879   options_ = NULL;
   3880   return temp;
   3881 }
   3882 inline void FieldDescriptorProto::set_allocated_options(::google::protobuf::FieldOptions* options) {
   3883   delete options_;
   3884   options_ = options;
   3885   if (options) {
   3886     set_has_options();
   3887   } else {
   3888     clear_has_options();
   3889   }
   3890 }
   3891 
   3892 // -------------------------------------------------------------------
   3893 
   3894 // EnumDescriptorProto
   3895 
   3896 // optional string name = 1;
   3897 inline bool EnumDescriptorProto::has_name() const {
   3898   return (_has_bits_[0] & 0x00000001u) != 0;
   3899 }
   3900 inline void EnumDescriptorProto::set_has_name() {
   3901   _has_bits_[0] |= 0x00000001u;
   3902 }
   3903 inline void EnumDescriptorProto::clear_has_name() {
   3904   _has_bits_[0] &= ~0x00000001u;
   3905 }
   3906 inline void EnumDescriptorProto::clear_name() {
   3907   if (name_ != &::google::protobuf::internal::GetEmptyString()) {
   3908     name_->clear();
   3909   }
   3910   clear_has_name();
   3911 }
   3912 inline const ::std::string& EnumDescriptorProto::name() const {
   3913   return *name_;
   3914 }
   3915 inline void EnumDescriptorProto::set_name(const ::std::string& value) {
   3916   set_has_name();
   3917   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   3918     name_ = new ::std::string;
   3919   }
   3920   name_->assign(value);
   3921 }
   3922 inline void EnumDescriptorProto::set_name(const char* value) {
   3923   set_has_name();
   3924   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   3925     name_ = new ::std::string;
   3926   }
   3927   name_->assign(value);
   3928 }
   3929 inline void EnumDescriptorProto::set_name(const char* value, size_t size) {
   3930   set_has_name();
   3931   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   3932     name_ = new ::std::string;
   3933   }
   3934   name_->assign(reinterpret_cast<const char*>(value), size);
   3935 }
   3936 inline ::std::string* EnumDescriptorProto::mutable_name() {
   3937   set_has_name();
   3938   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   3939     name_ = new ::std::string;
   3940   }
   3941   return name_;
   3942 }
   3943 inline ::std::string* EnumDescriptorProto::release_name() {
   3944   clear_has_name();
   3945   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   3946     return NULL;
   3947   } else {
   3948     ::std::string* temp = name_;
   3949     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   3950     return temp;
   3951   }
   3952 }
   3953 inline void EnumDescriptorProto::set_allocated_name(::std::string* name) {
   3954   if (name_ != &::google::protobuf::internal::GetEmptyString()) {
   3955     delete name_;
   3956   }
   3957   if (name) {
   3958     set_has_name();
   3959     name_ = name;
   3960   } else {
   3961     clear_has_name();
   3962     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   3963   }
   3964 }
   3965 
   3966 // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
   3967 inline int EnumDescriptorProto::value_size() const {
   3968   return value_.size();
   3969 }
   3970 inline void EnumDescriptorProto::clear_value() {
   3971   value_.Clear();
   3972 }
   3973 inline const ::google::protobuf::EnumValueDescriptorProto& EnumDescriptorProto::value(int index) const {
   3974   return value_.Get(index);
   3975 }
   3976 inline ::google::protobuf::EnumValueDescriptorProto* EnumDescriptorProto::mutable_value(int index) {
   3977   return value_.Mutable(index);
   3978 }
   3979 inline ::google::protobuf::EnumValueDescriptorProto* EnumDescriptorProto::add_value() {
   3980   return value_.Add();
   3981 }
   3982 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumValueDescriptorProto >&
   3983 EnumDescriptorProto::value() const {
   3984   return value_;
   3985 }
   3986 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumValueDescriptorProto >*
   3987 EnumDescriptorProto::mutable_value() {
   3988   return &value_;
   3989 }
   3990 
   3991 // optional .google.protobuf.EnumOptions options = 3;
   3992 inline bool EnumDescriptorProto::has_options() const {
   3993   return (_has_bits_[0] & 0x00000004u) != 0;
   3994 }
   3995 inline void EnumDescriptorProto::set_has_options() {
   3996   _has_bits_[0] |= 0x00000004u;
   3997 }
   3998 inline void EnumDescriptorProto::clear_has_options() {
   3999   _has_bits_[0] &= ~0x00000004u;
   4000 }
   4001 inline void EnumDescriptorProto::clear_options() {
   4002   if (options_ != NULL) options_->::google::protobuf::EnumOptions::Clear();
   4003   clear_has_options();
   4004 }
   4005 inline const ::google::protobuf::EnumOptions& EnumDescriptorProto::options() const {
   4006   return options_ != NULL ? *options_ : *default_instance_->options_;
   4007 }
   4008 inline ::google::protobuf::EnumOptions* EnumDescriptorProto::mutable_options() {
   4009   set_has_options();
   4010   if (options_ == NULL) options_ = new ::google::protobuf::EnumOptions;
   4011   return options_;
   4012 }
   4013 inline ::google::protobuf::EnumOptions* EnumDescriptorProto::release_options() {
   4014   clear_has_options();
   4015   ::google::protobuf::EnumOptions* temp = options_;
   4016   options_ = NULL;
   4017   return temp;
   4018 }
   4019 inline void EnumDescriptorProto::set_allocated_options(::google::protobuf::EnumOptions* options) {
   4020   delete options_;
   4021   options_ = options;
   4022   if (options) {
   4023     set_has_options();
   4024   } else {
   4025     clear_has_options();
   4026   }
   4027 }
   4028 
   4029 // -------------------------------------------------------------------
   4030 
   4031 // EnumValueDescriptorProto
   4032 
   4033 // optional string name = 1;
   4034 inline bool EnumValueDescriptorProto::has_name() const {
   4035   return (_has_bits_[0] & 0x00000001u) != 0;
   4036 }
   4037 inline void EnumValueDescriptorProto::set_has_name() {
   4038   _has_bits_[0] |= 0x00000001u;
   4039 }
   4040 inline void EnumValueDescriptorProto::clear_has_name() {
   4041   _has_bits_[0] &= ~0x00000001u;
   4042 }
   4043 inline void EnumValueDescriptorProto::clear_name() {
   4044   if (name_ != &::google::protobuf::internal::GetEmptyString()) {
   4045     name_->clear();
   4046   }
   4047   clear_has_name();
   4048 }
   4049 inline const ::std::string& EnumValueDescriptorProto::name() const {
   4050   return *name_;
   4051 }
   4052 inline void EnumValueDescriptorProto::set_name(const ::std::string& value) {
   4053   set_has_name();
   4054   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   4055     name_ = new ::std::string;
   4056   }
   4057   name_->assign(value);
   4058 }
   4059 inline void EnumValueDescriptorProto::set_name(const char* value) {
   4060   set_has_name();
   4061   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   4062     name_ = new ::std::string;
   4063   }
   4064   name_->assign(value);
   4065 }
   4066 inline void EnumValueDescriptorProto::set_name(const char* value, size_t size) {
   4067   set_has_name();
   4068   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   4069     name_ = new ::std::string;
   4070   }
   4071   name_->assign(reinterpret_cast<const char*>(value), size);
   4072 }
   4073 inline ::std::string* EnumValueDescriptorProto::mutable_name() {
   4074   set_has_name();
   4075   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   4076     name_ = new ::std::string;
   4077   }
   4078   return name_;
   4079 }
   4080 inline ::std::string* EnumValueDescriptorProto::release_name() {
   4081   clear_has_name();
   4082   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   4083     return NULL;
   4084   } else {
   4085     ::std::string* temp = name_;
   4086     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   4087     return temp;
   4088   }
   4089 }
   4090 inline void EnumValueDescriptorProto::set_allocated_name(::std::string* name) {
   4091   if (name_ != &::google::protobuf::internal::GetEmptyString()) {
   4092     delete name_;
   4093   }
   4094   if (name) {
   4095     set_has_name();
   4096     name_ = name;
   4097   } else {
   4098     clear_has_name();
   4099     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   4100   }
   4101 }
   4102 
   4103 // optional int32 number = 2;
   4104 inline bool EnumValueDescriptorProto::has_number() const {
   4105   return (_has_bits_[0] & 0x00000002u) != 0;
   4106 }
   4107 inline void EnumValueDescriptorProto::set_has_number() {
   4108   _has_bits_[0] |= 0x00000002u;
   4109 }
   4110 inline void EnumValueDescriptorProto::clear_has_number() {
   4111   _has_bits_[0] &= ~0x00000002u;
   4112 }
   4113 inline void EnumValueDescriptorProto::clear_number() {
   4114   number_ = 0;
   4115   clear_has_number();
   4116 }
   4117 inline ::google::protobuf::int32 EnumValueDescriptorProto::number() const {
   4118   return number_;
   4119 }
   4120 inline void EnumValueDescriptorProto::set_number(::google::protobuf::int32 value) {
   4121   set_has_number();
   4122   number_ = value;
   4123 }
   4124 
   4125 // optional .google.protobuf.EnumValueOptions options = 3;
   4126 inline bool EnumValueDescriptorProto::has_options() const {
   4127   return (_has_bits_[0] & 0x00000004u) != 0;
   4128 }
   4129 inline void EnumValueDescriptorProto::set_has_options() {
   4130   _has_bits_[0] |= 0x00000004u;
   4131 }
   4132 inline void EnumValueDescriptorProto::clear_has_options() {
   4133   _has_bits_[0] &= ~0x00000004u;
   4134 }
   4135 inline void EnumValueDescriptorProto::clear_options() {
   4136   if (options_ != NULL) options_->::google::protobuf::EnumValueOptions::Clear();
   4137   clear_has_options();
   4138 }
   4139 inline const ::google::protobuf::EnumValueOptions& EnumValueDescriptorProto::options() const {
   4140   return options_ != NULL ? *options_ : *default_instance_->options_;
   4141 }
   4142 inline ::google::protobuf::EnumValueOptions* EnumValueDescriptorProto::mutable_options() {
   4143   set_has_options();
   4144   if (options_ == NULL) options_ = new ::google::protobuf::EnumValueOptions;
   4145   return options_;
   4146 }
   4147 inline ::google::protobuf::EnumValueOptions* EnumValueDescriptorProto::release_options() {
   4148   clear_has_options();
   4149   ::google::protobuf::EnumValueOptions* temp = options_;
   4150   options_ = NULL;
   4151   return temp;
   4152 }
   4153 inline void EnumValueDescriptorProto::set_allocated_options(::google::protobuf::EnumValueOptions* options) {
   4154   delete options_;
   4155   options_ = options;
   4156   if (options) {
   4157     set_has_options();
   4158   } else {
   4159     clear_has_options();
   4160   }
   4161 }
   4162 
   4163 // -------------------------------------------------------------------
   4164 
   4165 // ServiceDescriptorProto
   4166 
   4167 // optional string name = 1;
   4168 inline bool ServiceDescriptorProto::has_name() const {
   4169   return (_has_bits_[0] & 0x00000001u) != 0;
   4170 }
   4171 inline void ServiceDescriptorProto::set_has_name() {
   4172   _has_bits_[0] |= 0x00000001u;
   4173 }
   4174 inline void ServiceDescriptorProto::clear_has_name() {
   4175   _has_bits_[0] &= ~0x00000001u;
   4176 }
   4177 inline void ServiceDescriptorProto::clear_name() {
   4178   if (name_ != &::google::protobuf::internal::GetEmptyString()) {
   4179     name_->clear();
   4180   }
   4181   clear_has_name();
   4182 }
   4183 inline const ::std::string& ServiceDescriptorProto::name() const {
   4184   return *name_;
   4185 }
   4186 inline void ServiceDescriptorProto::set_name(const ::std::string& value) {
   4187   set_has_name();
   4188   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   4189     name_ = new ::std::string;
   4190   }
   4191   name_->assign(value);
   4192 }
   4193 inline void ServiceDescriptorProto::set_name(const char* value) {
   4194   set_has_name();
   4195   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   4196     name_ = new ::std::string;
   4197   }
   4198   name_->assign(value);
   4199 }
   4200 inline void ServiceDescriptorProto::set_name(const char* value, size_t size) {
   4201   set_has_name();
   4202   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   4203     name_ = new ::std::string;
   4204   }
   4205   name_->assign(reinterpret_cast<const char*>(value), size);
   4206 }
   4207 inline ::std::string* ServiceDescriptorProto::mutable_name() {
   4208   set_has_name();
   4209   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   4210     name_ = new ::std::string;
   4211   }
   4212   return name_;
   4213 }
   4214 inline ::std::string* ServiceDescriptorProto::release_name() {
   4215   clear_has_name();
   4216   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   4217     return NULL;
   4218   } else {
   4219     ::std::string* temp = name_;
   4220     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   4221     return temp;
   4222   }
   4223 }
   4224 inline void ServiceDescriptorProto::set_allocated_name(::std::string* name) {
   4225   if (name_ != &::google::protobuf::internal::GetEmptyString()) {
   4226     delete name_;
   4227   }
   4228   if (name) {
   4229     set_has_name();
   4230     name_ = name;
   4231   } else {
   4232     clear_has_name();
   4233     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   4234   }
   4235 }
   4236 
   4237 // repeated .google.protobuf.MethodDescriptorProto method = 2;
   4238 inline int ServiceDescriptorProto::method_size() const {
   4239   return method_.size();
   4240 }
   4241 inline void ServiceDescriptorProto::clear_method() {
   4242   method_.Clear();
   4243 }
   4244 inline const ::google::protobuf::MethodDescriptorProto& ServiceDescriptorProto::method(int index) const {
   4245   return method_.Get(index);
   4246 }
   4247 inline ::google::protobuf::MethodDescriptorProto* ServiceDescriptorProto::mutable_method(int index) {
   4248   return method_.Mutable(index);
   4249 }
   4250 inline ::google::protobuf::MethodDescriptorProto* ServiceDescriptorProto::add_method() {
   4251   return method_.Add();
   4252 }
   4253 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::MethodDescriptorProto >&
   4254 ServiceDescriptorProto::method() const {
   4255   return method_;
   4256 }
   4257 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::MethodDescriptorProto >*
   4258 ServiceDescriptorProto::mutable_method() {
   4259   return &method_;
   4260 }
   4261 
   4262 // optional .google.protobuf.ServiceOptions options = 3;
   4263 inline bool ServiceDescriptorProto::has_options() const {
   4264   return (_has_bits_[0] & 0x00000004u) != 0;
   4265 }
   4266 inline void ServiceDescriptorProto::set_has_options() {
   4267   _has_bits_[0] |= 0x00000004u;
   4268 }
   4269 inline void ServiceDescriptorProto::clear_has_options() {
   4270   _has_bits_[0] &= ~0x00000004u;
   4271 }
   4272 inline void ServiceDescriptorProto::clear_options() {
   4273   if (options_ != NULL) options_->::google::protobuf::ServiceOptions::Clear();
   4274   clear_has_options();
   4275 }
   4276 inline const ::google::protobuf::ServiceOptions& ServiceDescriptorProto::options() const {
   4277   return options_ != NULL ? *options_ : *default_instance_->options_;
   4278 }
   4279 inline ::google::protobuf::ServiceOptions* ServiceDescriptorProto::mutable_options() {
   4280   set_has_options();
   4281   if (options_ == NULL) options_ = new ::google::protobuf::ServiceOptions;
   4282   return options_;
   4283 }
   4284 inline ::google::protobuf::ServiceOptions* ServiceDescriptorProto::release_options() {
   4285   clear_has_options();
   4286   ::google::protobuf::ServiceOptions* temp = options_;
   4287   options_ = NULL;
   4288   return temp;
   4289 }
   4290 inline void ServiceDescriptorProto::set_allocated_options(::google::protobuf::ServiceOptions* options) {
   4291   delete options_;
   4292   options_ = options;
   4293   if (options) {
   4294     set_has_options();
   4295   } else {
   4296     clear_has_options();
   4297   }
   4298 }
   4299 
   4300 // -------------------------------------------------------------------
   4301 
   4302 // MethodDescriptorProto
   4303 
   4304 // optional string name = 1;
   4305 inline bool MethodDescriptorProto::has_name() const {
   4306   return (_has_bits_[0] & 0x00000001u) != 0;
   4307 }
   4308 inline void MethodDescriptorProto::set_has_name() {
   4309   _has_bits_[0] |= 0x00000001u;
   4310 }
   4311 inline void MethodDescriptorProto::clear_has_name() {
   4312   _has_bits_[0] &= ~0x00000001u;
   4313 }
   4314 inline void MethodDescriptorProto::clear_name() {
   4315   if (name_ != &::google::protobuf::internal::GetEmptyString()) {
   4316     name_->clear();
   4317   }
   4318   clear_has_name();
   4319 }
   4320 inline const ::std::string& MethodDescriptorProto::name() const {
   4321   return *name_;
   4322 }
   4323 inline void MethodDescriptorProto::set_name(const ::std::string& value) {
   4324   set_has_name();
   4325   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   4326     name_ = new ::std::string;
   4327   }
   4328   name_->assign(value);
   4329 }
   4330 inline void MethodDescriptorProto::set_name(const char* value) {
   4331   set_has_name();
   4332   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   4333     name_ = new ::std::string;
   4334   }
   4335   name_->assign(value);
   4336 }
   4337 inline void MethodDescriptorProto::set_name(const char* value, size_t size) {
   4338   set_has_name();
   4339   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   4340     name_ = new ::std::string;
   4341   }
   4342   name_->assign(reinterpret_cast<const char*>(value), size);
   4343 }
   4344 inline ::std::string* MethodDescriptorProto::mutable_name() {
   4345   set_has_name();
   4346   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   4347     name_ = new ::std::string;
   4348   }
   4349   return name_;
   4350 }
   4351 inline ::std::string* MethodDescriptorProto::release_name() {
   4352   clear_has_name();
   4353   if (name_ == &::google::protobuf::internal::GetEmptyString()) {
   4354     return NULL;
   4355   } else {
   4356     ::std::string* temp = name_;
   4357     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   4358     return temp;
   4359   }
   4360 }
   4361 inline void MethodDescriptorProto::set_allocated_name(::std::string* name) {
   4362   if (name_ != &::google::protobuf::internal::GetEmptyString()) {
   4363     delete name_;
   4364   }
   4365   if (name) {
   4366     set_has_name();
   4367     name_ = name;
   4368   } else {
   4369     clear_has_name();
   4370     name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   4371   }
   4372 }
   4373 
   4374 // optional string input_type = 2;
   4375 inline bool MethodDescriptorProto::has_input_type() const {
   4376   return (_has_bits_[0] & 0x00000002u) != 0;
   4377 }
   4378 inline void MethodDescriptorProto::set_has_input_type() {
   4379   _has_bits_[0] |= 0x00000002u;
   4380 }
   4381 inline void MethodDescriptorProto::clear_has_input_type() {
   4382   _has_bits_[0] &= ~0x00000002u;
   4383 }
   4384 inline void MethodDescriptorProto::clear_input_type() {
   4385   if (input_type_ != &::google::protobuf::internal::GetEmptyString()) {
   4386     input_type_->clear();
   4387   }
   4388   clear_has_input_type();
   4389 }
   4390 inline const ::std::string& MethodDescriptorProto::input_type() const {
   4391   return *input_type_;
   4392 }
   4393 inline void MethodDescriptorProto::set_input_type(const ::std::string& value) {
   4394   set_has_input_type();
   4395   if (input_type_ == &::google::protobuf::internal::GetEmptyString()) {
   4396     input_type_ = new ::std::string;
   4397   }
   4398   input_type_->assign(value);
   4399 }
   4400 inline void MethodDescriptorProto::set_input_type(const char* value) {
   4401   set_has_input_type();
   4402   if (input_type_ == &::google::protobuf::internal::GetEmptyString()) {
   4403     input_type_ = new ::std::string;
   4404   }
   4405   input_type_->assign(value);
   4406 }
   4407 inline void MethodDescriptorProto::set_input_type(const char* value, size_t size) {
   4408   set_has_input_type();
   4409   if (input_type_ == &::google::protobuf::internal::GetEmptyString()) {
   4410     input_type_ = new ::std::string;
   4411   }
   4412   input_type_->assign(reinterpret_cast<const char*>(value), size);
   4413 }
   4414 inline ::std::string* MethodDescriptorProto::mutable_input_type() {
   4415   set_has_input_type();
   4416   if (input_type_ == &::google::protobuf::internal::GetEmptyString()) {
   4417     input_type_ = new ::std::string;
   4418   }
   4419   return input_type_;
   4420 }
   4421 inline ::std::string* MethodDescriptorProto::release_input_type() {
   4422   clear_has_input_type();
   4423   if (input_type_ == &::google::protobuf::internal::GetEmptyString()) {
   4424     return NULL;
   4425   } else {
   4426     ::std::string* temp = input_type_;
   4427     input_type_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   4428     return temp;
   4429   }
   4430 }
   4431 inline void MethodDescriptorProto::set_allocated_input_type(::std::string* input_type) {
   4432   if (input_type_ != &::google::protobuf::internal::GetEmptyString()) {
   4433     delete input_type_;
   4434   }
   4435   if (input_type) {
   4436     set_has_input_type();
   4437     input_type_ = input_type;
   4438   } else {
   4439     clear_has_input_type();
   4440     input_type_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   4441   }
   4442 }
   4443 
   4444 // optional string output_type = 3;
   4445 inline bool MethodDescriptorProto::has_output_type() const {
   4446   return (_has_bits_[0] & 0x00000004u) != 0;
   4447 }
   4448 inline void MethodDescriptorProto::set_has_output_type() {
   4449   _has_bits_[0] |= 0x00000004u;
   4450 }
   4451 inline void MethodDescriptorProto::clear_has_output_type() {
   4452   _has_bits_[0] &= ~0x00000004u;
   4453 }
   4454 inline void MethodDescriptorProto::clear_output_type() {
   4455   if (output_type_ != &::google::protobuf::internal::GetEmptyString()) {
   4456     output_type_->clear();
   4457   }
   4458   clear_has_output_type();
   4459 }
   4460 inline const ::std::string& MethodDescriptorProto::output_type() const {
   4461   return *output_type_;
   4462 }
   4463 inline void MethodDescriptorProto::set_output_type(const ::std::string& value) {
   4464   set_has_output_type();
   4465   if (output_type_ == &::google::protobuf::internal::GetEmptyString()) {
   4466     output_type_ = new ::std::string;
   4467   }
   4468   output_type_->assign(value);
   4469 }
   4470 inline void MethodDescriptorProto::set_output_type(const char* value) {
   4471   set_has_output_type();
   4472   if (output_type_ == &::google::protobuf::internal::GetEmptyString()) {
   4473     output_type_ = new ::std::string;
   4474   }
   4475   output_type_->assign(value);
   4476 }
   4477 inline void MethodDescriptorProto::set_output_type(const char* value, size_t size) {
   4478   set_has_output_type();
   4479   if (output_type_ == &::google::protobuf::internal::GetEmptyString()) {
   4480     output_type_ = new ::std::string;
   4481   }
   4482   output_type_->assign(reinterpret_cast<const char*>(value), size);
   4483 }
   4484 inline ::std::string* MethodDescriptorProto::mutable_output_type() {
   4485   set_has_output_type();
   4486   if (output_type_ == &::google::protobuf::internal::GetEmptyString()) {
   4487     output_type_ = new ::std::string;
   4488   }
   4489   return output_type_;
   4490 }
   4491 inline ::std::string* MethodDescriptorProto::release_output_type() {
   4492   clear_has_output_type();
   4493   if (output_type_ == &::google::protobuf::internal::GetEmptyString()) {
   4494     return NULL;
   4495   } else {
   4496     ::std::string* temp = output_type_;
   4497     output_type_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   4498     return temp;
   4499   }
   4500 }
   4501 inline void MethodDescriptorProto::set_allocated_output_type(::std::string* output_type) {
   4502   if (output_type_ != &::google::protobuf::internal::GetEmptyString()) {
   4503     delete output_type_;
   4504   }
   4505   if (output_type) {
   4506     set_has_output_type();
   4507     output_type_ = output_type;
   4508   } else {
   4509     clear_has_output_type();
   4510     output_type_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   4511   }
   4512 }
   4513 
   4514 // optional .google.protobuf.MethodOptions options = 4;
   4515 inline bool MethodDescriptorProto::has_options() const {
   4516   return (_has_bits_[0] & 0x00000008u) != 0;
   4517 }
   4518 inline void MethodDescriptorProto::set_has_options() {
   4519   _has_bits_[0] |= 0x00000008u;
   4520 }
   4521 inline void MethodDescriptorProto::clear_has_options() {
   4522   _has_bits_[0] &= ~0x00000008u;
   4523 }
   4524 inline void MethodDescriptorProto::clear_options() {
   4525   if (options_ != NULL) options_->::google::protobuf::MethodOptions::Clear();
   4526   clear_has_options();
   4527 }
   4528 inline const ::google::protobuf::MethodOptions& MethodDescriptorProto::options() const {
   4529   return options_ != NULL ? *options_ : *default_instance_->options_;
   4530 }
   4531 inline ::google::protobuf::MethodOptions* MethodDescriptorProto::mutable_options() {
   4532   set_has_options();
   4533   if (options_ == NULL) options_ = new ::google::protobuf::MethodOptions;
   4534   return options_;
   4535 }
   4536 inline ::google::protobuf::MethodOptions* MethodDescriptorProto::release_options() {
   4537   clear_has_options();
   4538   ::google::protobuf::MethodOptions* temp = options_;
   4539   options_ = NULL;
   4540   return temp;
   4541 }
   4542 inline void MethodDescriptorProto::set_allocated_options(::google::protobuf::MethodOptions* options) {
   4543   delete options_;
   4544   options_ = options;
   4545   if (options) {
   4546     set_has_options();
   4547   } else {
   4548     clear_has_options();
   4549   }
   4550 }
   4551 
   4552 // -------------------------------------------------------------------
   4553 
   4554 // FileOptions
   4555 
   4556 // optional string java_package = 1;
   4557 inline bool FileOptions::has_java_package() const {
   4558   return (_has_bits_[0] & 0x00000001u) != 0;
   4559 }
   4560 inline void FileOptions::set_has_java_package() {
   4561   _has_bits_[0] |= 0x00000001u;
   4562 }
   4563 inline void FileOptions::clear_has_java_package() {
   4564   _has_bits_[0] &= ~0x00000001u;
   4565 }
   4566 inline void FileOptions::clear_java_package() {
   4567   if (java_package_ != &::google::protobuf::internal::GetEmptyString()) {
   4568     java_package_->clear();
   4569   }
   4570   clear_has_java_package();
   4571 }
   4572 inline const ::std::string& FileOptions::java_package() const {
   4573   return *java_package_;
   4574 }
   4575 inline void FileOptions::set_java_package(const ::std::string& value) {
   4576   set_has_java_package();
   4577   if (java_package_ == &::google::protobuf::internal::GetEmptyString()) {
   4578     java_package_ = new ::std::string;
   4579   }
   4580   java_package_->assign(value);
   4581 }
   4582 inline void FileOptions::set_java_package(const char* value) {
   4583   set_has_java_package();
   4584   if (java_package_ == &::google::protobuf::internal::GetEmptyString()) {
   4585     java_package_ = new ::std::string;
   4586   }
   4587   java_package_->assign(value);
   4588 }
   4589 inline void FileOptions::set_java_package(const char* value, size_t size) {
   4590   set_has_java_package();
   4591   if (java_package_ == &::google::protobuf::internal::GetEmptyString()) {
   4592     java_package_ = new ::std::string;
   4593   }
   4594   java_package_->assign(reinterpret_cast<const char*>(value), size);
   4595 }
   4596 inline ::std::string* FileOptions::mutable_java_package() {
   4597   set_has_java_package();
   4598   if (java_package_ == &::google::protobuf::internal::GetEmptyString()) {
   4599     java_package_ = new ::std::string;
   4600   }
   4601   return java_package_;
   4602 }
   4603 inline ::std::string* FileOptions::release_java_package() {
   4604   clear_has_java_package();
   4605   if (java_package_ == &::google::protobuf::internal::GetEmptyString()) {
   4606     return NULL;
   4607   } else {
   4608     ::std::string* temp = java_package_;
   4609     java_package_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   4610     return temp;
   4611   }
   4612 }
   4613 inline void FileOptions::set_allocated_java_package(::std::string* java_package) {
   4614   if (java_package_ != &::google::protobuf::internal::GetEmptyString()) {
   4615     delete java_package_;
   4616   }
   4617   if (java_package) {
   4618     set_has_java_package();
   4619     java_package_ = java_package;
   4620   } else {
   4621     clear_has_java_package();
   4622     java_package_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   4623   }
   4624 }
   4625 
   4626 // optional string java_outer_classname = 8;
   4627 inline bool FileOptions::has_java_outer_classname() const {
   4628   return (_has_bits_[0] & 0x00000002u) != 0;
   4629 }
   4630 inline void FileOptions::set_has_java_outer_classname() {
   4631   _has_bits_[0] |= 0x00000002u;
   4632 }
   4633 inline void FileOptions::clear_has_java_outer_classname() {
   4634   _has_bits_[0] &= ~0x00000002u;
   4635 }
   4636 inline void FileOptions::clear_java_outer_classname() {
   4637   if (java_outer_classname_ != &::google::protobuf::internal::GetEmptyString()) {
   4638     java_outer_classname_->clear();
   4639   }
   4640   clear_has_java_outer_classname();
   4641 }
   4642 inline const ::std::string& FileOptions::java_outer_classname() const {
   4643   return *java_outer_classname_;
   4644 }
   4645 inline void FileOptions::set_java_outer_classname(const ::std::string& value) {
   4646   set_has_java_outer_classname();
   4647   if (java_outer_classname_ == &::google::protobuf::internal::GetEmptyString()) {
   4648     java_outer_classname_ = new ::std::string;
   4649   }
   4650   java_outer_classname_->assign(value);
   4651 }
   4652 inline void FileOptions::set_java_outer_classname(const char* value) {
   4653   set_has_java_outer_classname();
   4654   if (java_outer_classname_ == &::google::protobuf::internal::GetEmptyString()) {
   4655     java_outer_classname_ = new ::std::string;
   4656   }
   4657   java_outer_classname_->assign(value);
   4658 }
   4659 inline void FileOptions::set_java_outer_classname(const char* value, size_t size) {
   4660   set_has_java_outer_classname();
   4661   if (java_outer_classname_ == &::google::protobuf::internal::GetEmptyString()) {
   4662     java_outer_classname_ = new ::std::string;
   4663   }
   4664   java_outer_classname_->assign(reinterpret_cast<const char*>(value), size);
   4665 }
   4666 inline ::std::string* FileOptions::mutable_java_outer_classname() {
   4667   set_has_java_outer_classname();
   4668   if (java_outer_classname_ == &::google::protobuf::internal::GetEmptyString()) {
   4669     java_outer_classname_ = new ::std::string;
   4670   }
   4671   return java_outer_classname_;
   4672 }
   4673 inline ::std::string* FileOptions::release_java_outer_classname() {
   4674   clear_has_java_outer_classname();
   4675   if (java_outer_classname_ == &::google::protobuf::internal::GetEmptyString()) {
   4676     return NULL;
   4677   } else {
   4678     ::std::string* temp = java_outer_classname_;
   4679     java_outer_classname_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   4680     return temp;
   4681   }
   4682 }
   4683 inline void FileOptions::set_allocated_java_outer_classname(::std::string* java_outer_classname) {
   4684   if (java_outer_classname_ != &::google::protobuf::internal::GetEmptyString()) {
   4685     delete java_outer_classname_;
   4686   }
   4687   if (java_outer_classname) {
   4688     set_has_java_outer_classname();
   4689     java_outer_classname_ = java_outer_classname;
   4690   } else {
   4691     clear_has_java_outer_classname();
   4692     java_outer_classname_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   4693   }
   4694 }
   4695 
   4696 // optional bool java_multiple_files = 10 [default = false];
   4697 inline bool FileOptions::has_java_multiple_files() const {
   4698   return (_has_bits_[0] & 0x00000004u) != 0;
   4699 }
   4700 inline void FileOptions::set_has_java_multiple_files() {
   4701   _has_bits_[0] |= 0x00000004u;
   4702 }
   4703 inline void FileOptions::clear_has_java_multiple_files() {
   4704   _has_bits_[0] &= ~0x00000004u;
   4705 }
   4706 inline void FileOptions::clear_java_multiple_files() {
   4707   java_multiple_files_ = false;
   4708   clear_has_java_multiple_files();
   4709 }
   4710 inline bool FileOptions::java_multiple_files() const {
   4711   return java_multiple_files_;
   4712 }
   4713 inline void FileOptions::set_java_multiple_files(bool value) {
   4714   set_has_java_multiple_files();
   4715   java_multiple_files_ = value;
   4716 }
   4717 
   4718 // optional bool retain_unknown_fields = 12 [default = false];
   4719 inline bool FileOptions::has_retain_unknown_fields() const {
   4720   return (_has_bits_[0] & 0x00000008u) != 0;
   4721 }
   4722 inline void FileOptions::set_has_retain_unknown_fields() {
   4723   _has_bits_[0] |= 0x00000008u;
   4724 }
   4725 inline void FileOptions::clear_has_retain_unknown_fields() {
   4726   _has_bits_[0] &= ~0x00000008u;
   4727 }
   4728 inline void FileOptions::clear_retain_unknown_fields() {
   4729   retain_unknown_fields_ = false;
   4730   clear_has_retain_unknown_fields();
   4731 }
   4732 inline bool FileOptions::retain_unknown_fields() const {
   4733   return retain_unknown_fields_;
   4734 }
   4735 inline void FileOptions::set_retain_unknown_fields(bool value) {
   4736   set_has_retain_unknown_fields();
   4737   retain_unknown_fields_ = value;
   4738 }
   4739 
   4740 // optional bool java_generate_equals_and_hash = 20 [default = false];
   4741 inline bool FileOptions::has_java_generate_equals_and_hash() const {
   4742   return (_has_bits_[0] & 0x00000010u) != 0;
   4743 }
   4744 inline void FileOptions::set_has_java_generate_equals_and_hash() {
   4745   _has_bits_[0] |= 0x00000010u;
   4746 }
   4747 inline void FileOptions::clear_has_java_generate_equals_and_hash() {
   4748   _has_bits_[0] &= ~0x00000010u;
   4749 }
   4750 inline void FileOptions::clear_java_generate_equals_and_hash() {
   4751   java_generate_equals_and_hash_ = false;
   4752   clear_has_java_generate_equals_and_hash();
   4753 }
   4754 inline bool FileOptions::java_generate_equals_and_hash() const {
   4755   return java_generate_equals_and_hash_;
   4756 }
   4757 inline void FileOptions::set_java_generate_equals_and_hash(bool value) {
   4758   set_has_java_generate_equals_and_hash();
   4759   java_generate_equals_and_hash_ = value;
   4760 }
   4761 
   4762 // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
   4763 inline bool FileOptions::has_optimize_for() const {
   4764   return (_has_bits_[0] & 0x00000020u) != 0;
   4765 }
   4766 inline void FileOptions::set_has_optimize_for() {
   4767   _has_bits_[0] |= 0x00000020u;
   4768 }
   4769 inline void FileOptions::clear_has_optimize_for() {
   4770   _has_bits_[0] &= ~0x00000020u;
   4771 }
   4772 inline void FileOptions::clear_optimize_for() {
   4773   optimize_for_ = 1;
   4774   clear_has_optimize_for();
   4775 }
   4776 inline ::google::protobuf::FileOptions_OptimizeMode FileOptions::optimize_for() const {
   4777   return static_cast< ::google::protobuf::FileOptions_OptimizeMode >(optimize_for_);
   4778 }
   4779 inline void FileOptions::set_optimize_for(::google::protobuf::FileOptions_OptimizeMode value) {
   4780   assert(::google::protobuf::FileOptions_OptimizeMode_IsValid(value));
   4781   set_has_optimize_for();
   4782   optimize_for_ = value;
   4783 }
   4784 
   4785 // optional string go_package = 11;
   4786 inline bool FileOptions::has_go_package() const {
   4787   return (_has_bits_[0] & 0x00000040u) != 0;
   4788 }
   4789 inline void FileOptions::set_has_go_package() {
   4790   _has_bits_[0] |= 0x00000040u;
   4791 }
   4792 inline void FileOptions::clear_has_go_package() {
   4793   _has_bits_[0] &= ~0x00000040u;
   4794 }
   4795 inline void FileOptions::clear_go_package() {
   4796   if (go_package_ != &::google::protobuf::internal::GetEmptyString()) {
   4797     go_package_->clear();
   4798   }
   4799   clear_has_go_package();
   4800 }
   4801 inline const ::std::string& FileOptions::go_package() const {
   4802   return *go_package_;
   4803 }
   4804 inline void FileOptions::set_go_package(const ::std::string& value) {
   4805   set_has_go_package();
   4806   if (go_package_ == &::google::protobuf::internal::GetEmptyString()) {
   4807     go_package_ = new ::std::string;
   4808   }
   4809   go_package_->assign(value);
   4810 }
   4811 inline void FileOptions::set_go_package(const char* value) {
   4812   set_has_go_package();
   4813   if (go_package_ == &::google::protobuf::internal::GetEmptyString()) {
   4814     go_package_ = new ::std::string;
   4815   }
   4816   go_package_->assign(value);
   4817 }
   4818 inline void FileOptions::set_go_package(const char* value, size_t size) {
   4819   set_has_go_package();
   4820   if (go_package_ == &::google::protobuf::internal::GetEmptyString()) {
   4821     go_package_ = new ::std::string;
   4822   }
   4823   go_package_->assign(reinterpret_cast<const char*>(value), size);
   4824 }
   4825 inline ::std::string* FileOptions::mutable_go_package() {
   4826   set_has_go_package();
   4827   if (go_package_ == &::google::protobuf::internal::GetEmptyString()) {
   4828     go_package_ = new ::std::string;
   4829   }
   4830   return go_package_;
   4831 }
   4832 inline ::std::string* FileOptions::release_go_package() {
   4833   clear_has_go_package();
   4834   if (go_package_ == &::google::protobuf::internal::GetEmptyString()) {
   4835     return NULL;
   4836   } else {
   4837     ::std::string* temp = go_package_;
   4838     go_package_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   4839     return temp;
   4840   }
   4841 }
   4842 inline void FileOptions::set_allocated_go_package(::std::string* go_package) {
   4843   if (go_package_ != &::google::protobuf::internal::GetEmptyString()) {
   4844     delete go_package_;
   4845   }
   4846   if (go_package) {
   4847     set_has_go_package();
   4848     go_package_ = go_package;
   4849   } else {
   4850     clear_has_go_package();
   4851     go_package_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   4852   }
   4853 }
   4854 
   4855 // optional bool cc_generic_services = 16 [default = false];
   4856 inline bool FileOptions::has_cc_generic_services() const {
   4857   return (_has_bits_[0] & 0x00000080u) != 0;
   4858 }
   4859 inline void FileOptions::set_has_cc_generic_services() {
   4860   _has_bits_[0] |= 0x00000080u;
   4861 }
   4862 inline void FileOptions::clear_has_cc_generic_services() {
   4863   _has_bits_[0] &= ~0x00000080u;
   4864 }
   4865 inline void FileOptions::clear_cc_generic_services() {
   4866   cc_generic_services_ = false;
   4867   clear_has_cc_generic_services();
   4868 }
   4869 inline bool FileOptions::cc_generic_services() const {
   4870   return cc_generic_services_;
   4871 }
   4872 inline void FileOptions::set_cc_generic_services(bool value) {
   4873   set_has_cc_generic_services();
   4874   cc_generic_services_ = value;
   4875 }
   4876 
   4877 // optional bool java_generic_services = 17 [default = false];
   4878 inline bool FileOptions::has_java_generic_services() const {
   4879   return (_has_bits_[0] & 0x00000100u) != 0;
   4880 }
   4881 inline void FileOptions::set_has_java_generic_services() {
   4882   _has_bits_[0] |= 0x00000100u;
   4883 }
   4884 inline void FileOptions::clear_has_java_generic_services() {
   4885   _has_bits_[0] &= ~0x00000100u;
   4886 }
   4887 inline void FileOptions::clear_java_generic_services() {
   4888   java_generic_services_ = false;
   4889   clear_has_java_generic_services();
   4890 }
   4891 inline bool FileOptions::java_generic_services() const {
   4892   return java_generic_services_;
   4893 }
   4894 inline void FileOptions::set_java_generic_services(bool value) {
   4895   set_has_java_generic_services();
   4896   java_generic_services_ = value;
   4897 }
   4898 
   4899 // optional bool py_generic_services = 18 [default = false];
   4900 inline bool FileOptions::has_py_generic_services() const {
   4901   return (_has_bits_[0] & 0x00000200u) != 0;
   4902 }
   4903 inline void FileOptions::set_has_py_generic_services() {
   4904   _has_bits_[0] |= 0x00000200u;
   4905 }
   4906 inline void FileOptions::clear_has_py_generic_services() {
   4907   _has_bits_[0] &= ~0x00000200u;
   4908 }
   4909 inline void FileOptions::clear_py_generic_services() {
   4910   py_generic_services_ = false;
   4911   clear_has_py_generic_services();
   4912 }
   4913 inline bool FileOptions::py_generic_services() const {
   4914   return py_generic_services_;
   4915 }
   4916 inline void FileOptions::set_py_generic_services(bool value) {
   4917   set_has_py_generic_services();
   4918   py_generic_services_ = value;
   4919 }
   4920 
   4921 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   4922 inline int FileOptions::uninterpreted_option_size() const {
   4923   return uninterpreted_option_.size();
   4924 }
   4925 inline void FileOptions::clear_uninterpreted_option() {
   4926   uninterpreted_option_.Clear();
   4927 }
   4928 inline const ::google::protobuf::UninterpretedOption& FileOptions::uninterpreted_option(int index) const {
   4929   return uninterpreted_option_.Get(index);
   4930 }
   4931 inline ::google::protobuf::UninterpretedOption* FileOptions::mutable_uninterpreted_option(int index) {
   4932   return uninterpreted_option_.Mutable(index);
   4933 }
   4934 inline ::google::protobuf::UninterpretedOption* FileOptions::add_uninterpreted_option() {
   4935   return uninterpreted_option_.Add();
   4936 }
   4937 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   4938 FileOptions::uninterpreted_option() const {
   4939   return uninterpreted_option_;
   4940 }
   4941 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   4942 FileOptions::mutable_uninterpreted_option() {
   4943   return &uninterpreted_option_;
   4944 }
   4945 
   4946 // -------------------------------------------------------------------
   4947 
   4948 // MessageOptions
   4949 
   4950 // optional bool message_set_wire_format = 1 [default = false];
   4951 inline bool MessageOptions::has_message_set_wire_format() const {
   4952   return (_has_bits_[0] & 0x00000001u) != 0;
   4953 }
   4954 inline void MessageOptions::set_has_message_set_wire_format() {
   4955   _has_bits_[0] |= 0x00000001u;
   4956 }
   4957 inline void MessageOptions::clear_has_message_set_wire_format() {
   4958   _has_bits_[0] &= ~0x00000001u;
   4959 }
   4960 inline void MessageOptions::clear_message_set_wire_format() {
   4961   message_set_wire_format_ = false;
   4962   clear_has_message_set_wire_format();
   4963 }
   4964 inline bool MessageOptions::message_set_wire_format() const {
   4965   return message_set_wire_format_;
   4966 }
   4967 inline void MessageOptions::set_message_set_wire_format(bool value) {
   4968   set_has_message_set_wire_format();
   4969   message_set_wire_format_ = value;
   4970 }
   4971 
   4972 // optional bool no_standard_descriptor_accessor = 2 [default = false];
   4973 inline bool MessageOptions::has_no_standard_descriptor_accessor() const {
   4974   return (_has_bits_[0] & 0x00000002u) != 0;
   4975 }
   4976 inline void MessageOptions::set_has_no_standard_descriptor_accessor() {
   4977   _has_bits_[0] |= 0x00000002u;
   4978 }
   4979 inline void MessageOptions::clear_has_no_standard_descriptor_accessor() {
   4980   _has_bits_[0] &= ~0x00000002u;
   4981 }
   4982 inline void MessageOptions::clear_no_standard_descriptor_accessor() {
   4983   no_standard_descriptor_accessor_ = false;
   4984   clear_has_no_standard_descriptor_accessor();
   4985 }
   4986 inline bool MessageOptions::no_standard_descriptor_accessor() const {
   4987   return no_standard_descriptor_accessor_;
   4988 }
   4989 inline void MessageOptions::set_no_standard_descriptor_accessor(bool value) {
   4990   set_has_no_standard_descriptor_accessor();
   4991   no_standard_descriptor_accessor_ = value;
   4992 }
   4993 
   4994 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   4995 inline int MessageOptions::uninterpreted_option_size() const {
   4996   return uninterpreted_option_.size();
   4997 }
   4998 inline void MessageOptions::clear_uninterpreted_option() {
   4999   uninterpreted_option_.Clear();
   5000 }
   5001 inline const ::google::protobuf::UninterpretedOption& MessageOptions::uninterpreted_option(int index) const {
   5002   return uninterpreted_option_.Get(index);
   5003 }
   5004 inline ::google::protobuf::UninterpretedOption* MessageOptions::mutable_uninterpreted_option(int index) {
   5005   return uninterpreted_option_.Mutable(index);
   5006 }
   5007 inline ::google::protobuf::UninterpretedOption* MessageOptions::add_uninterpreted_option() {
   5008   return uninterpreted_option_.Add();
   5009 }
   5010 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   5011 MessageOptions::uninterpreted_option() const {
   5012   return uninterpreted_option_;
   5013 }
   5014 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   5015 MessageOptions::mutable_uninterpreted_option() {
   5016   return &uninterpreted_option_;
   5017 }
   5018 
   5019 // -------------------------------------------------------------------
   5020 
   5021 // FieldOptions
   5022 
   5023 // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
   5024 inline bool FieldOptions::has_ctype() const {
   5025   return (_has_bits_[0] & 0x00000001u) != 0;
   5026 }
   5027 inline void FieldOptions::set_has_ctype() {
   5028   _has_bits_[0] |= 0x00000001u;
   5029 }
   5030 inline void FieldOptions::clear_has_ctype() {
   5031   _has_bits_[0] &= ~0x00000001u;
   5032 }
   5033 inline void FieldOptions::clear_ctype() {
   5034   ctype_ = 0;
   5035   clear_has_ctype();
   5036 }
   5037 inline ::google::protobuf::FieldOptions_CType FieldOptions::ctype() const {
   5038   return static_cast< ::google::protobuf::FieldOptions_CType >(ctype_);
   5039 }
   5040 inline void FieldOptions::set_ctype(::google::protobuf::FieldOptions_CType value) {
   5041   assert(::google::protobuf::FieldOptions_CType_IsValid(value));
   5042   set_has_ctype();
   5043   ctype_ = value;
   5044 }
   5045 
   5046 // optional bool packed = 2;
   5047 inline bool FieldOptions::has_packed() const {
   5048   return (_has_bits_[0] & 0x00000002u) != 0;
   5049 }
   5050 inline void FieldOptions::set_has_packed() {
   5051   _has_bits_[0] |= 0x00000002u;
   5052 }
   5053 inline void FieldOptions::clear_has_packed() {
   5054   _has_bits_[0] &= ~0x00000002u;
   5055 }
   5056 inline void FieldOptions::clear_packed() {
   5057   packed_ = false;
   5058   clear_has_packed();
   5059 }
   5060 inline bool FieldOptions::packed() const {
   5061   return packed_;
   5062 }
   5063 inline void FieldOptions::set_packed(bool value) {
   5064   set_has_packed();
   5065   packed_ = value;
   5066 }
   5067 
   5068 // optional bool lazy = 5 [default = false];
   5069 inline bool FieldOptions::has_lazy() const {
   5070   return (_has_bits_[0] & 0x00000004u) != 0;
   5071 }
   5072 inline void FieldOptions::set_has_lazy() {
   5073   _has_bits_[0] |= 0x00000004u;
   5074 }
   5075 inline void FieldOptions::clear_has_lazy() {
   5076   _has_bits_[0] &= ~0x00000004u;
   5077 }
   5078 inline void FieldOptions::clear_lazy() {
   5079   lazy_ = false;
   5080   clear_has_lazy();
   5081 }
   5082 inline bool FieldOptions::lazy() const {
   5083   return lazy_;
   5084 }
   5085 inline void FieldOptions::set_lazy(bool value) {
   5086   set_has_lazy();
   5087   lazy_ = value;
   5088 }
   5089 
   5090 // optional bool deprecated = 3 [default = false];
   5091 inline bool FieldOptions::has_deprecated() const {
   5092   return (_has_bits_[0] & 0x00000008u) != 0;
   5093 }
   5094 inline void FieldOptions::set_has_deprecated() {
   5095   _has_bits_[0] |= 0x00000008u;
   5096 }
   5097 inline void FieldOptions::clear_has_deprecated() {
   5098   _has_bits_[0] &= ~0x00000008u;
   5099 }
   5100 inline void FieldOptions::clear_deprecated() {
   5101   deprecated_ = false;
   5102   clear_has_deprecated();
   5103 }
   5104 inline bool FieldOptions::deprecated() const {
   5105   return deprecated_;
   5106 }
   5107 inline void FieldOptions::set_deprecated(bool value) {
   5108   set_has_deprecated();
   5109   deprecated_ = value;
   5110 }
   5111 
   5112 // optional string experimental_map_key = 9;
   5113 inline bool FieldOptions::has_experimental_map_key() const {
   5114   return (_has_bits_[0] & 0x00000010u) != 0;
   5115 }
   5116 inline void FieldOptions::set_has_experimental_map_key() {
   5117   _has_bits_[0] |= 0x00000010u;
   5118 }
   5119 inline void FieldOptions::clear_has_experimental_map_key() {
   5120   _has_bits_[0] &= ~0x00000010u;
   5121 }
   5122 inline void FieldOptions::clear_experimental_map_key() {
   5123   if (experimental_map_key_ != &::google::protobuf::internal::GetEmptyString()) {
   5124     experimental_map_key_->clear();
   5125   }
   5126   clear_has_experimental_map_key();
   5127 }
   5128 inline const ::std::string& FieldOptions::experimental_map_key() const {
   5129   return *experimental_map_key_;
   5130 }
   5131 inline void FieldOptions::set_experimental_map_key(const ::std::string& value) {
   5132   set_has_experimental_map_key();
   5133   if (experimental_map_key_ == &::google::protobuf::internal::GetEmptyString()) {
   5134     experimental_map_key_ = new ::std::string;
   5135   }
   5136   experimental_map_key_->assign(value);
   5137 }
   5138 inline void FieldOptions::set_experimental_map_key(const char* value) {
   5139   set_has_experimental_map_key();
   5140   if (experimental_map_key_ == &::google::protobuf::internal::GetEmptyString()) {
   5141     experimental_map_key_ = new ::std::string;
   5142   }
   5143   experimental_map_key_->assign(value);
   5144 }
   5145 inline void FieldOptions::set_experimental_map_key(const char* value, size_t size) {
   5146   set_has_experimental_map_key();
   5147   if (experimental_map_key_ == &::google::protobuf::internal::GetEmptyString()) {
   5148     experimental_map_key_ = new ::std::string;
   5149   }
   5150   experimental_map_key_->assign(reinterpret_cast<const char*>(value), size);
   5151 }
   5152 inline ::std::string* FieldOptions::mutable_experimental_map_key() {
   5153   set_has_experimental_map_key();
   5154   if (experimental_map_key_ == &::google::protobuf::internal::GetEmptyString()) {
   5155     experimental_map_key_ = new ::std::string;
   5156   }
   5157   return experimental_map_key_;
   5158 }
   5159 inline ::std::string* FieldOptions::release_experimental_map_key() {
   5160   clear_has_experimental_map_key();
   5161   if (experimental_map_key_ == &::google::protobuf::internal::GetEmptyString()) {
   5162     return NULL;
   5163   } else {
   5164     ::std::string* temp = experimental_map_key_;
   5165     experimental_map_key_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   5166     return temp;
   5167   }
   5168 }
   5169 inline void FieldOptions::set_allocated_experimental_map_key(::std::string* experimental_map_key) {
   5170   if (experimental_map_key_ != &::google::protobuf::internal::GetEmptyString()) {
   5171     delete experimental_map_key_;
   5172   }
   5173   if (experimental_map_key) {
   5174     set_has_experimental_map_key();
   5175     experimental_map_key_ = experimental_map_key;
   5176   } else {
   5177     clear_has_experimental_map_key();
   5178     experimental_map_key_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   5179   }
   5180 }
   5181 
   5182 // optional bool weak = 10 [default = false];
   5183 inline bool FieldOptions::has_weak() const {
   5184   return (_has_bits_[0] & 0x00000020u) != 0;
   5185 }
   5186 inline void FieldOptions::set_has_weak() {
   5187   _has_bits_[0] |= 0x00000020u;
   5188 }
   5189 inline void FieldOptions::clear_has_weak() {
   5190   _has_bits_[0] &= ~0x00000020u;
   5191 }
   5192 inline void FieldOptions::clear_weak() {
   5193   weak_ = false;
   5194   clear_has_weak();
   5195 }
   5196 inline bool FieldOptions::weak() const {
   5197   return weak_;
   5198 }
   5199 inline void FieldOptions::set_weak(bool value) {
   5200   set_has_weak();
   5201   weak_ = value;
   5202 }
   5203 
   5204 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5205 inline int FieldOptions::uninterpreted_option_size() const {
   5206   return uninterpreted_option_.size();
   5207 }
   5208 inline void FieldOptions::clear_uninterpreted_option() {
   5209   uninterpreted_option_.Clear();
   5210 }
   5211 inline const ::google::protobuf::UninterpretedOption& FieldOptions::uninterpreted_option(int index) const {
   5212   return uninterpreted_option_.Get(index);
   5213 }
   5214 inline ::google::protobuf::UninterpretedOption* FieldOptions::mutable_uninterpreted_option(int index) {
   5215   return uninterpreted_option_.Mutable(index);
   5216 }
   5217 inline ::google::protobuf::UninterpretedOption* FieldOptions::add_uninterpreted_option() {
   5218   return uninterpreted_option_.Add();
   5219 }
   5220 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   5221 FieldOptions::uninterpreted_option() const {
   5222   return uninterpreted_option_;
   5223 }
   5224 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   5225 FieldOptions::mutable_uninterpreted_option() {
   5226   return &uninterpreted_option_;
   5227 }
   5228 
   5229 // -------------------------------------------------------------------
   5230 
   5231 // EnumOptions
   5232 
   5233 // optional bool allow_alias = 2 [default = true];
   5234 inline bool EnumOptions::has_allow_alias() const {
   5235   return (_has_bits_[0] & 0x00000001u) != 0;
   5236 }
   5237 inline void EnumOptions::set_has_allow_alias() {
   5238   _has_bits_[0] |= 0x00000001u;
   5239 }
   5240 inline void EnumOptions::clear_has_allow_alias() {
   5241   _has_bits_[0] &= ~0x00000001u;
   5242 }
   5243 inline void EnumOptions::clear_allow_alias() {
   5244   allow_alias_ = true;
   5245   clear_has_allow_alias();
   5246 }
   5247 inline bool EnumOptions::allow_alias() const {
   5248   return allow_alias_;
   5249 }
   5250 inline void EnumOptions::set_allow_alias(bool value) {
   5251   set_has_allow_alias();
   5252   allow_alias_ = value;
   5253 }
   5254 
   5255 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5256 inline int EnumOptions::uninterpreted_option_size() const {
   5257   return uninterpreted_option_.size();
   5258 }
   5259 inline void EnumOptions::clear_uninterpreted_option() {
   5260   uninterpreted_option_.Clear();
   5261 }
   5262 inline const ::google::protobuf::UninterpretedOption& EnumOptions::uninterpreted_option(int index) const {
   5263   return uninterpreted_option_.Get(index);
   5264 }
   5265 inline ::google::protobuf::UninterpretedOption* EnumOptions::mutable_uninterpreted_option(int index) {
   5266   return uninterpreted_option_.Mutable(index);
   5267 }
   5268 inline ::google::protobuf::UninterpretedOption* EnumOptions::add_uninterpreted_option() {
   5269   return uninterpreted_option_.Add();
   5270 }
   5271 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   5272 EnumOptions::uninterpreted_option() const {
   5273   return uninterpreted_option_;
   5274 }
   5275 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   5276 EnumOptions::mutable_uninterpreted_option() {
   5277   return &uninterpreted_option_;
   5278 }
   5279 
   5280 // -------------------------------------------------------------------
   5281 
   5282 // EnumValueOptions
   5283 
   5284 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5285 inline int EnumValueOptions::uninterpreted_option_size() const {
   5286   return uninterpreted_option_.size();
   5287 }
   5288 inline void EnumValueOptions::clear_uninterpreted_option() {
   5289   uninterpreted_option_.Clear();
   5290 }
   5291 inline const ::google::protobuf::UninterpretedOption& EnumValueOptions::uninterpreted_option(int index) const {
   5292   return uninterpreted_option_.Get(index);
   5293 }
   5294 inline ::google::protobuf::UninterpretedOption* EnumValueOptions::mutable_uninterpreted_option(int index) {
   5295   return uninterpreted_option_.Mutable(index);
   5296 }
   5297 inline ::google::protobuf::UninterpretedOption* EnumValueOptions::add_uninterpreted_option() {
   5298   return uninterpreted_option_.Add();
   5299 }
   5300 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   5301 EnumValueOptions::uninterpreted_option() const {
   5302   return uninterpreted_option_;
   5303 }
   5304 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   5305 EnumValueOptions::mutable_uninterpreted_option() {
   5306   return &uninterpreted_option_;
   5307 }
   5308 
   5309 // -------------------------------------------------------------------
   5310 
   5311 // ServiceOptions
   5312 
   5313 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5314 inline int ServiceOptions::uninterpreted_option_size() const {
   5315   return uninterpreted_option_.size();
   5316 }
   5317 inline void ServiceOptions::clear_uninterpreted_option() {
   5318   uninterpreted_option_.Clear();
   5319 }
   5320 inline const ::google::protobuf::UninterpretedOption& ServiceOptions::uninterpreted_option(int index) const {
   5321   return uninterpreted_option_.Get(index);
   5322 }
   5323 inline ::google::protobuf::UninterpretedOption* ServiceOptions::mutable_uninterpreted_option(int index) {
   5324   return uninterpreted_option_.Mutable(index);
   5325 }
   5326 inline ::google::protobuf::UninterpretedOption* ServiceOptions::add_uninterpreted_option() {
   5327   return uninterpreted_option_.Add();
   5328 }
   5329 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   5330 ServiceOptions::uninterpreted_option() const {
   5331   return uninterpreted_option_;
   5332 }
   5333 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   5334 ServiceOptions::mutable_uninterpreted_option() {
   5335   return &uninterpreted_option_;
   5336 }
   5337 
   5338 // -------------------------------------------------------------------
   5339 
   5340 // MethodOptions
   5341 
   5342 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5343 inline int MethodOptions::uninterpreted_option_size() const {
   5344   return uninterpreted_option_.size();
   5345 }
   5346 inline void MethodOptions::clear_uninterpreted_option() {
   5347   uninterpreted_option_.Clear();
   5348 }
   5349 inline const ::google::protobuf::UninterpretedOption& MethodOptions::uninterpreted_option(int index) const {
   5350   return uninterpreted_option_.Get(index);
   5351 }
   5352 inline ::google::protobuf::UninterpretedOption* MethodOptions::mutable_uninterpreted_option(int index) {
   5353   return uninterpreted_option_.Mutable(index);
   5354 }
   5355 inline ::google::protobuf::UninterpretedOption* MethodOptions::add_uninterpreted_option() {
   5356   return uninterpreted_option_.Add();
   5357 }
   5358 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   5359 MethodOptions::uninterpreted_option() const {
   5360   return uninterpreted_option_;
   5361 }
   5362 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   5363 MethodOptions::mutable_uninterpreted_option() {
   5364   return &uninterpreted_option_;
   5365 }
   5366 
   5367 // -------------------------------------------------------------------
   5368 
   5369 // UninterpretedOption_NamePart
   5370 
   5371 // required string name_part = 1;
   5372 inline bool UninterpretedOption_NamePart::has_name_part() const {
   5373   return (_has_bits_[0] & 0x00000001u) != 0;
   5374 }
   5375 inline void UninterpretedOption_NamePart::set_has_name_part() {
   5376   _has_bits_[0] |= 0x00000001u;
   5377 }
   5378 inline void UninterpretedOption_NamePart::clear_has_name_part() {
   5379   _has_bits_[0] &= ~0x00000001u;
   5380 }
   5381 inline void UninterpretedOption_NamePart::clear_name_part() {
   5382   if (name_part_ != &::google::protobuf::internal::GetEmptyString()) {
   5383     name_part_->clear();
   5384   }
   5385   clear_has_name_part();
   5386 }
   5387 inline const ::std::string& UninterpretedOption_NamePart::name_part() const {
   5388   return *name_part_;
   5389 }
   5390 inline void UninterpretedOption_NamePart::set_name_part(const ::std::string& value) {
   5391   set_has_name_part();
   5392   if (name_part_ == &::google::protobuf::internal::GetEmptyString()) {
   5393     name_part_ = new ::std::string;
   5394   }
   5395   name_part_->assign(value);
   5396 }
   5397 inline void UninterpretedOption_NamePart::set_name_part(const char* value) {
   5398   set_has_name_part();
   5399   if (name_part_ == &::google::protobuf::internal::GetEmptyString()) {
   5400     name_part_ = new ::std::string;
   5401   }
   5402   name_part_->assign(value);
   5403 }
   5404 inline void UninterpretedOption_NamePart::set_name_part(const char* value, size_t size) {
   5405   set_has_name_part();
   5406   if (name_part_ == &::google::protobuf::internal::GetEmptyString()) {
   5407     name_part_ = new ::std::string;
   5408   }
   5409   name_part_->assign(reinterpret_cast<const char*>(value), size);
   5410 }
   5411 inline ::std::string* UninterpretedOption_NamePart::mutable_name_part() {
   5412   set_has_name_part();
   5413   if (name_part_ == &::google::protobuf::internal::GetEmptyString()) {
   5414     name_part_ = new ::std::string;
   5415   }
   5416   return name_part_;
   5417 }
   5418 inline ::std::string* UninterpretedOption_NamePart::release_name_part() {
   5419   clear_has_name_part();
   5420   if (name_part_ == &::google::protobuf::internal::GetEmptyString()) {
   5421     return NULL;
   5422   } else {
   5423     ::std::string* temp = name_part_;
   5424     name_part_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   5425     return temp;
   5426   }
   5427 }
   5428 inline void UninterpretedOption_NamePart::set_allocated_name_part(::std::string* name_part) {
   5429   if (name_part_ != &::google::protobuf::internal::GetEmptyString()) {
   5430     delete name_part_;
   5431   }
   5432   if (name_part) {
   5433     set_has_name_part();
   5434     name_part_ = name_part;
   5435   } else {
   5436     clear_has_name_part();
   5437     name_part_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   5438   }
   5439 }
   5440 
   5441 // required bool is_extension = 2;
   5442 inline bool UninterpretedOption_NamePart::has_is_extension() const {
   5443   return (_has_bits_[0] & 0x00000002u) != 0;
   5444 }
   5445 inline void UninterpretedOption_NamePart::set_has_is_extension() {
   5446   _has_bits_[0] |= 0x00000002u;
   5447 }
   5448 inline void UninterpretedOption_NamePart::clear_has_is_extension() {
   5449   _has_bits_[0] &= ~0x00000002u;
   5450 }
   5451 inline void UninterpretedOption_NamePart::clear_is_extension() {
   5452   is_extension_ = false;
   5453   clear_has_is_extension();
   5454 }
   5455 inline bool UninterpretedOption_NamePart::is_extension() const {
   5456   return is_extension_;
   5457 }
   5458 inline void UninterpretedOption_NamePart::set_is_extension(bool value) {
   5459   set_has_is_extension();
   5460   is_extension_ = value;
   5461 }
   5462 
   5463 // -------------------------------------------------------------------
   5464 
   5465 // UninterpretedOption
   5466 
   5467 // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
   5468 inline int UninterpretedOption::name_size() const {
   5469   return name_.size();
   5470 }
   5471 inline void UninterpretedOption::clear_name() {
   5472   name_.Clear();
   5473 }
   5474 inline const ::google::protobuf::UninterpretedOption_NamePart& UninterpretedOption::name(int index) const {
   5475   return name_.Get(index);
   5476 }
   5477 inline ::google::protobuf::UninterpretedOption_NamePart* UninterpretedOption::mutable_name(int index) {
   5478   return name_.Mutable(index);
   5479 }
   5480 inline ::google::protobuf::UninterpretedOption_NamePart* UninterpretedOption::add_name() {
   5481   return name_.Add();
   5482 }
   5483 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption_NamePart >&
   5484 UninterpretedOption::name() const {
   5485   return name_;
   5486 }
   5487 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption_NamePart >*
   5488 UninterpretedOption::mutable_name() {
   5489   return &name_;
   5490 }
   5491 
   5492 // optional string identifier_value = 3;
   5493 inline bool UninterpretedOption::has_identifier_value() const {
   5494   return (_has_bits_[0] & 0x00000002u) != 0;
   5495 }
   5496 inline void UninterpretedOption::set_has_identifier_value() {
   5497   _has_bits_[0] |= 0x00000002u;
   5498 }
   5499 inline void UninterpretedOption::clear_has_identifier_value() {
   5500   _has_bits_[0] &= ~0x00000002u;
   5501 }
   5502 inline void UninterpretedOption::clear_identifier_value() {
   5503   if (identifier_value_ != &::google::protobuf::internal::GetEmptyString()) {
   5504     identifier_value_->clear();
   5505   }
   5506   clear_has_identifier_value();
   5507 }
   5508 inline const ::std::string& UninterpretedOption::identifier_value() const {
   5509   return *identifier_value_;
   5510 }
   5511 inline void UninterpretedOption::set_identifier_value(const ::std::string& value) {
   5512   set_has_identifier_value();
   5513   if (identifier_value_ == &::google::protobuf::internal::GetEmptyString()) {
   5514     identifier_value_ = new ::std::string;
   5515   }
   5516   identifier_value_->assign(value);
   5517 }
   5518 inline void UninterpretedOption::set_identifier_value(const char* value) {
   5519   set_has_identifier_value();
   5520   if (identifier_value_ == &::google::protobuf::internal::GetEmptyString()) {
   5521     identifier_value_ = new ::std::string;
   5522   }
   5523   identifier_value_->assign(value);
   5524 }
   5525 inline void UninterpretedOption::set_identifier_value(const char* value, size_t size) {
   5526   set_has_identifier_value();
   5527   if (identifier_value_ == &::google::protobuf::internal::GetEmptyString()) {
   5528     identifier_value_ = new ::std::string;
   5529   }
   5530   identifier_value_->assign(reinterpret_cast<const char*>(value), size);
   5531 }
   5532 inline ::std::string* UninterpretedOption::mutable_identifier_value() {
   5533   set_has_identifier_value();
   5534   if (identifier_value_ == &::google::protobuf::internal::GetEmptyString()) {
   5535     identifier_value_ = new ::std::string;
   5536   }
   5537   return identifier_value_;
   5538 }
   5539 inline ::std::string* UninterpretedOption::release_identifier_value() {
   5540   clear_has_identifier_value();
   5541   if (identifier_value_ == &::google::protobuf::internal::GetEmptyString()) {
   5542     return NULL;
   5543   } else {
   5544     ::std::string* temp = identifier_value_;
   5545     identifier_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   5546     return temp;
   5547   }
   5548 }
   5549 inline void UninterpretedOption::set_allocated_identifier_value(::std::string* identifier_value) {
   5550   if (identifier_value_ != &::google::protobuf::internal::GetEmptyString()) {
   5551     delete identifier_value_;
   5552   }
   5553   if (identifier_value) {
   5554     set_has_identifier_value();
   5555     identifier_value_ = identifier_value;
   5556   } else {
   5557     clear_has_identifier_value();
   5558     identifier_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   5559   }
   5560 }
   5561 
   5562 // optional uint64 positive_int_value = 4;
   5563 inline bool UninterpretedOption::has_positive_int_value() const {
   5564   return (_has_bits_[0] & 0x00000004u) != 0;
   5565 }
   5566 inline void UninterpretedOption::set_has_positive_int_value() {
   5567   _has_bits_[0] |= 0x00000004u;
   5568 }
   5569 inline void UninterpretedOption::clear_has_positive_int_value() {
   5570   _has_bits_[0] &= ~0x00000004u;
   5571 }
   5572 inline void UninterpretedOption::clear_positive_int_value() {
   5573   positive_int_value_ = GOOGLE_ULONGLONG(0);
   5574   clear_has_positive_int_value();
   5575 }
   5576 inline ::google::protobuf::uint64 UninterpretedOption::positive_int_value() const {
   5577   return positive_int_value_;
   5578 }
   5579 inline void UninterpretedOption::set_positive_int_value(::google::protobuf::uint64 value) {
   5580   set_has_positive_int_value();
   5581   positive_int_value_ = value;
   5582 }
   5583 
   5584 // optional int64 negative_int_value = 5;
   5585 inline bool UninterpretedOption::has_negative_int_value() const {
   5586   return (_has_bits_[0] & 0x00000008u) != 0;
   5587 }
   5588 inline void UninterpretedOption::set_has_negative_int_value() {
   5589   _has_bits_[0] |= 0x00000008u;
   5590 }
   5591 inline void UninterpretedOption::clear_has_negative_int_value() {
   5592   _has_bits_[0] &= ~0x00000008u;
   5593 }
   5594 inline void UninterpretedOption::clear_negative_int_value() {
   5595   negative_int_value_ = GOOGLE_LONGLONG(0);
   5596   clear_has_negative_int_value();
   5597 }
   5598 inline ::google::protobuf::int64 UninterpretedOption::negative_int_value() const {
   5599   return negative_int_value_;
   5600 }
   5601 inline void UninterpretedOption::set_negative_int_value(::google::protobuf::int64 value) {
   5602   set_has_negative_int_value();
   5603   negative_int_value_ = value;
   5604 }
   5605 
   5606 // optional double double_value = 6;
   5607 inline bool UninterpretedOption::has_double_value() const {
   5608   return (_has_bits_[0] & 0x00000010u) != 0;
   5609 }
   5610 inline void UninterpretedOption::set_has_double_value() {
   5611   _has_bits_[0] |= 0x00000010u;
   5612 }
   5613 inline void UninterpretedOption::clear_has_double_value() {
   5614   _has_bits_[0] &= ~0x00000010u;
   5615 }
   5616 inline void UninterpretedOption::clear_double_value() {
   5617   double_value_ = 0;
   5618   clear_has_double_value();
   5619 }
   5620 inline double UninterpretedOption::double_value() const {
   5621   return double_value_;
   5622 }
   5623 inline void UninterpretedOption::set_double_value(double value) {
   5624   set_has_double_value();
   5625   double_value_ = value;
   5626 }
   5627 
   5628 // optional bytes string_value = 7;
   5629 inline bool UninterpretedOption::has_string_value() const {
   5630   return (_has_bits_[0] & 0x00000020u) != 0;
   5631 }
   5632 inline void UninterpretedOption::set_has_string_value() {
   5633   _has_bits_[0] |= 0x00000020u;
   5634 }
   5635 inline void UninterpretedOption::clear_has_string_value() {
   5636   _has_bits_[0] &= ~0x00000020u;
   5637 }
   5638 inline void UninterpretedOption::clear_string_value() {
   5639   if (string_value_ != &::google::protobuf::internal::GetEmptyString()) {
   5640     string_value_->clear();
   5641   }
   5642   clear_has_string_value();
   5643 }
   5644 inline const ::std::string& UninterpretedOption::string_value() const {
   5645   return *string_value_;
   5646 }
   5647 inline void UninterpretedOption::set_string_value(const ::std::string& value) {
   5648   set_has_string_value();
   5649   if (string_value_ == &::google::protobuf::internal::GetEmptyString()) {
   5650     string_value_ = new ::std::string;
   5651   }
   5652   string_value_->assign(value);
   5653 }
   5654 inline void UninterpretedOption::set_string_value(const char* value) {
   5655   set_has_string_value();
   5656   if (string_value_ == &::google::protobuf::internal::GetEmptyString()) {
   5657     string_value_ = new ::std::string;
   5658   }
   5659   string_value_->assign(value);
   5660 }
   5661 inline void UninterpretedOption::set_string_value(const void* value, size_t size) {
   5662   set_has_string_value();
   5663   if (string_value_ == &::google::protobuf::internal::GetEmptyString()) {
   5664     string_value_ = new ::std::string;
   5665   }
   5666   string_value_->assign(reinterpret_cast<const char*>(value), size);
   5667 }
   5668 inline ::std::string* UninterpretedOption::mutable_string_value() {
   5669   set_has_string_value();
   5670   if (string_value_ == &::google::protobuf::internal::GetEmptyString()) {
   5671     string_value_ = new ::std::string;
   5672   }
   5673   return string_value_;
   5674 }
   5675 inline ::std::string* UninterpretedOption::release_string_value() {
   5676   clear_has_string_value();
   5677   if (string_value_ == &::google::protobuf::internal::GetEmptyString()) {
   5678     return NULL;
   5679   } else {
   5680     ::std::string* temp = string_value_;
   5681     string_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   5682     return temp;
   5683   }
   5684 }
   5685 inline void UninterpretedOption::set_allocated_string_value(::std::string* string_value) {
   5686   if (string_value_ != &::google::protobuf::internal::GetEmptyString()) {
   5687     delete string_value_;
   5688   }
   5689   if (string_value) {
   5690     set_has_string_value();
   5691     string_value_ = string_value;
   5692   } else {
   5693     clear_has_string_value();
   5694     string_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   5695   }
   5696 }
   5697 
   5698 // optional string aggregate_value = 8;
   5699 inline bool UninterpretedOption::has_aggregate_value() const {
   5700   return (_has_bits_[0] & 0x00000040u) != 0;
   5701 }
   5702 inline void UninterpretedOption::set_has_aggregate_value() {
   5703   _has_bits_[0] |= 0x00000040u;
   5704 }
   5705 inline void UninterpretedOption::clear_has_aggregate_value() {
   5706   _has_bits_[0] &= ~0x00000040u;
   5707 }
   5708 inline void UninterpretedOption::clear_aggregate_value() {
   5709   if (aggregate_value_ != &::google::protobuf::internal::GetEmptyString()) {
   5710     aggregate_value_->clear();
   5711   }
   5712   clear_has_aggregate_value();
   5713 }
   5714 inline const ::std::string& UninterpretedOption::aggregate_value() const {
   5715   return *aggregate_value_;
   5716 }
   5717 inline void UninterpretedOption::set_aggregate_value(const ::std::string& value) {
   5718   set_has_aggregate_value();
   5719   if (aggregate_value_ == &::google::protobuf::internal::GetEmptyString()) {
   5720     aggregate_value_ = new ::std::string;
   5721   }
   5722   aggregate_value_->assign(value);
   5723 }
   5724 inline void UninterpretedOption::set_aggregate_value(const char* value) {
   5725   set_has_aggregate_value();
   5726   if (aggregate_value_ == &::google::protobuf::internal::GetEmptyString()) {
   5727     aggregate_value_ = new ::std::string;
   5728   }
   5729   aggregate_value_->assign(value);
   5730 }
   5731 inline void UninterpretedOption::set_aggregate_value(const char* value, size_t size) {
   5732   set_has_aggregate_value();
   5733   if (aggregate_value_ == &::google::protobuf::internal::GetEmptyString()) {
   5734     aggregate_value_ = new ::std::string;
   5735   }
   5736   aggregate_value_->assign(reinterpret_cast<const char*>(value), size);
   5737 }
   5738 inline ::std::string* UninterpretedOption::mutable_aggregate_value() {
   5739   set_has_aggregate_value();
   5740   if (aggregate_value_ == &::google::protobuf::internal::GetEmptyString()) {
   5741     aggregate_value_ = new ::std::string;
   5742   }
   5743   return aggregate_value_;
   5744 }
   5745 inline ::std::string* UninterpretedOption::release_aggregate_value() {
   5746   clear_has_aggregate_value();
   5747   if (aggregate_value_ == &::google::protobuf::internal::GetEmptyString()) {
   5748     return NULL;
   5749   } else {
   5750     ::std::string* temp = aggregate_value_;
   5751     aggregate_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   5752     return temp;
   5753   }
   5754 }
   5755 inline void UninterpretedOption::set_allocated_aggregate_value(::std::string* aggregate_value) {
   5756   if (aggregate_value_ != &::google::protobuf::internal::GetEmptyString()) {
   5757     delete aggregate_value_;
   5758   }
   5759   if (aggregate_value) {
   5760     set_has_aggregate_value();
   5761     aggregate_value_ = aggregate_value;
   5762   } else {
   5763     clear_has_aggregate_value();
   5764     aggregate_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   5765   }
   5766 }
   5767 
   5768 // -------------------------------------------------------------------
   5769 
   5770 // SourceCodeInfo_Location
   5771 
   5772 // repeated int32 path = 1 [packed = true];
   5773 inline int SourceCodeInfo_Location::path_size() const {
   5774   return path_.size();
   5775 }
   5776 inline void SourceCodeInfo_Location::clear_path() {
   5777   path_.Clear();
   5778 }
   5779 inline ::google::protobuf::int32 SourceCodeInfo_Location::path(int index) const {
   5780   return path_.Get(index);
   5781 }
   5782 inline void SourceCodeInfo_Location::set_path(int index, ::google::protobuf::int32 value) {
   5783   path_.Set(index, value);
   5784 }
   5785 inline void SourceCodeInfo_Location::add_path(::google::protobuf::int32 value) {
   5786   path_.Add(value);
   5787 }
   5788 inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
   5789 SourceCodeInfo_Location::path() const {
   5790   return path_;
   5791 }
   5792 inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
   5793 SourceCodeInfo_Location::mutable_path() {
   5794   return &path_;
   5795 }
   5796 
   5797 // repeated int32 span = 2 [packed = true];
   5798 inline int SourceCodeInfo_Location::span_size() const {
   5799   return span_.size();
   5800 }
   5801 inline void SourceCodeInfo_Location::clear_span() {
   5802   span_.Clear();
   5803 }
   5804 inline ::google::protobuf::int32 SourceCodeInfo_Location::span(int index) const {
   5805   return span_.Get(index);
   5806 }
   5807 inline void SourceCodeInfo_Location::set_span(int index, ::google::protobuf::int32 value) {
   5808   span_.Set(index, value);
   5809 }
   5810 inline void SourceCodeInfo_Location::add_span(::google::protobuf::int32 value) {
   5811   span_.Add(value);
   5812 }
   5813 inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
   5814 SourceCodeInfo_Location::span() const {
   5815   return span_;
   5816 }
   5817 inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
   5818 SourceCodeInfo_Location::mutable_span() {
   5819   return &span_;
   5820 }
   5821 
   5822 // optional string leading_comments = 3;
   5823 inline bool SourceCodeInfo_Location::has_leading_comments() const {
   5824   return (_has_bits_[0] & 0x00000004u) != 0;
   5825 }
   5826 inline void SourceCodeInfo_Location::set_has_leading_comments() {
   5827   _has_bits_[0] |= 0x00000004u;
   5828 }
   5829 inline void SourceCodeInfo_Location::clear_has_leading_comments() {
   5830   _has_bits_[0] &= ~0x00000004u;
   5831 }
   5832 inline void SourceCodeInfo_Location::clear_leading_comments() {
   5833   if (leading_comments_ != &::google::protobuf::internal::GetEmptyString()) {
   5834     leading_comments_->clear();
   5835   }
   5836   clear_has_leading_comments();
   5837 }
   5838 inline const ::std::string& SourceCodeInfo_Location::leading_comments() const {
   5839   return *leading_comments_;
   5840 }
   5841 inline void SourceCodeInfo_Location::set_leading_comments(const ::std::string& value) {
   5842   set_has_leading_comments();
   5843   if (leading_comments_ == &::google::protobuf::internal::GetEmptyString()) {
   5844     leading_comments_ = new ::std::string;
   5845   }
   5846   leading_comments_->assign(value);
   5847 }
   5848 inline void SourceCodeInfo_Location::set_leading_comments(const char* value) {
   5849   set_has_leading_comments();
   5850   if (leading_comments_ == &::google::protobuf::internal::GetEmptyString()) {
   5851     leading_comments_ = new ::std::string;
   5852   }
   5853   leading_comments_->assign(value);
   5854 }
   5855 inline void SourceCodeInfo_Location::set_leading_comments(const char* value, size_t size) {
   5856   set_has_leading_comments();
   5857   if (leading_comments_ == &::google::protobuf::internal::GetEmptyString()) {
   5858     leading_comments_ = new ::std::string;
   5859   }
   5860   leading_comments_->assign(reinterpret_cast<const char*>(value), size);
   5861 }
   5862 inline ::std::string* SourceCodeInfo_Location::mutable_leading_comments() {
   5863   set_has_leading_comments();
   5864   if (leading_comments_ == &::google::protobuf::internal::GetEmptyString()) {
   5865     leading_comments_ = new ::std::string;
   5866   }
   5867   return leading_comments_;
   5868 }
   5869 inline ::std::string* SourceCodeInfo_Location::release_leading_comments() {
   5870   clear_has_leading_comments();
   5871   if (leading_comments_ == &::google::protobuf::internal::GetEmptyString()) {
   5872     return NULL;
   5873   } else {
   5874     ::std::string* temp = leading_comments_;
   5875     leading_comments_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   5876     return temp;
   5877   }
   5878 }
   5879 inline void SourceCodeInfo_Location::set_allocated_leading_comments(::std::string* leading_comments) {
   5880   if (leading_comments_ != &::google::protobuf::internal::GetEmptyString()) {
   5881     delete leading_comments_;
   5882   }
   5883   if (leading_comments) {
   5884     set_has_leading_comments();
   5885     leading_comments_ = leading_comments;
   5886   } else {
   5887     clear_has_leading_comments();
   5888     leading_comments_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   5889   }
   5890 }
   5891 
   5892 // optional string trailing_comments = 4;
   5893 inline bool SourceCodeInfo_Location::has_trailing_comments() const {
   5894   return (_has_bits_[0] & 0x00000008u) != 0;
   5895 }
   5896 inline void SourceCodeInfo_Location::set_has_trailing_comments() {
   5897   _has_bits_[0] |= 0x00000008u;
   5898 }
   5899 inline void SourceCodeInfo_Location::clear_has_trailing_comments() {
   5900   _has_bits_[0] &= ~0x00000008u;
   5901 }
   5902 inline void SourceCodeInfo_Location::clear_trailing_comments() {
   5903   if (trailing_comments_ != &::google::protobuf::internal::GetEmptyString()) {
   5904     trailing_comments_->clear();
   5905   }
   5906   clear_has_trailing_comments();
   5907 }
   5908 inline const ::std::string& SourceCodeInfo_Location::trailing_comments() const {
   5909   return *trailing_comments_;
   5910 }
   5911 inline void SourceCodeInfo_Location::set_trailing_comments(const ::std::string& value) {
   5912   set_has_trailing_comments();
   5913   if (trailing_comments_ == &::google::protobuf::internal::GetEmptyString()) {
   5914     trailing_comments_ = new ::std::string;
   5915   }
   5916   trailing_comments_->assign(value);
   5917 }
   5918 inline void SourceCodeInfo_Location::set_trailing_comments(const char* value) {
   5919   set_has_trailing_comments();
   5920   if (trailing_comments_ == &::google::protobuf::internal::GetEmptyString()) {
   5921     trailing_comments_ = new ::std::string;
   5922   }
   5923   trailing_comments_->assign(value);
   5924 }
   5925 inline void SourceCodeInfo_Location::set_trailing_comments(const char* value, size_t size) {
   5926   set_has_trailing_comments();
   5927   if (trailing_comments_ == &::google::protobuf::internal::GetEmptyString()) {
   5928     trailing_comments_ = new ::std::string;
   5929   }
   5930   trailing_comments_->assign(reinterpret_cast<const char*>(value), size);
   5931 }
   5932 inline ::std::string* SourceCodeInfo_Location::mutable_trailing_comments() {
   5933   set_has_trailing_comments();
   5934   if (trailing_comments_ == &::google::protobuf::internal::GetEmptyString()) {
   5935     trailing_comments_ = new ::std::string;
   5936   }
   5937   return trailing_comments_;
   5938 }
   5939 inline ::std::string* SourceCodeInfo_Location::release_trailing_comments() {
   5940   clear_has_trailing_comments();
   5941   if (trailing_comments_ == &::google::protobuf::internal::GetEmptyString()) {
   5942     return NULL;
   5943   } else {
   5944     ::std::string* temp = trailing_comments_;
   5945     trailing_comments_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   5946     return temp;
   5947   }
   5948 }
   5949 inline void SourceCodeInfo_Location::set_allocated_trailing_comments(::std::string* trailing_comments) {
   5950   if (trailing_comments_ != &::google::protobuf::internal::GetEmptyString()) {
   5951     delete trailing_comments_;
   5952   }
   5953   if (trailing_comments) {
   5954     set_has_trailing_comments();
   5955     trailing_comments_ = trailing_comments;
   5956   } else {
   5957     clear_has_trailing_comments();
   5958     trailing_comments_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyString());
   5959   }
   5960 }
   5961 
   5962 // -------------------------------------------------------------------
   5963 
   5964 // SourceCodeInfo
   5965 
   5966 // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
   5967 inline int SourceCodeInfo::location_size() const {
   5968   return location_.size();
   5969 }
   5970 inline void SourceCodeInfo::clear_location() {
   5971   location_.Clear();
   5972 }
   5973 inline const ::google::protobuf::SourceCodeInfo_Location& SourceCodeInfo::location(int index) const {
   5974   return location_.Get(index);
   5975 }
   5976 inline ::google::protobuf::SourceCodeInfo_Location* SourceCodeInfo::mutable_location(int index) {
   5977   return location_.Mutable(index);
   5978 }
   5979 inline ::google::protobuf::SourceCodeInfo_Location* SourceCodeInfo::add_location() {
   5980   return location_.Add();
   5981 }
   5982 inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::SourceCodeInfo_Location >&
   5983 SourceCodeInfo::location() const {
   5984   return location_;
   5985 }
   5986 inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::SourceCodeInfo_Location >*
   5987 SourceCodeInfo::mutable_location() {
   5988   return &location_;
   5989 }
   5990 
   5991 
   5992 // @@protoc_insertion_point(namespace_scope)
   5993 
   5994 }  // namespace protobuf
   5995 }  // namespace google
   5996 
   5997 #ifndef SWIG
   5998 namespace google {
   5999 namespace protobuf {
   6000 
   6001 template <>
   6002 inline const EnumDescriptor* GetEnumDescriptor< ::google::protobuf::FieldDescriptorProto_Type>() {
   6003   return ::google::protobuf::FieldDescriptorProto_Type_descriptor();
   6004 }
   6005 template <>
   6006 inline const EnumDescriptor* GetEnumDescriptor< ::google::protobuf::FieldDescriptorProto_Label>() {
   6007   return ::google::protobuf::FieldDescriptorProto_Label_descriptor();
   6008 }
   6009 template <>
   6010 inline const EnumDescriptor* GetEnumDescriptor< ::google::protobuf::FileOptions_OptimizeMode>() {
   6011   return ::google::protobuf::FileOptions_OptimizeMode_descriptor();
   6012 }
   6013 template <>
   6014 inline const EnumDescriptor* GetEnumDescriptor< ::google::protobuf::FieldOptions_CType>() {
   6015   return ::google::protobuf::FieldOptions_CType_descriptor();
   6016 }
   6017 
   6018 }  // namespace google
   6019 }  // namespace protobuf
   6020 #endif  // SWIG
   6021 
   6022 // @@protoc_insertion_point(global_scope)
   6023 
   6024 #endif  // PROTOBUF_google_2fprotobuf_2fdescriptor_2eproto__INCLUDED
   6025