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