1// Generated by the protocol buffer compiler.  DO NOT EDIT!
2// source: google/protobuf/struct.proto
3
4#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
5#include <google/protobuf/struct.pb.h>
6
7#include <algorithm>
8
9#include <google/protobuf/stubs/common.h>
10#include <google/protobuf/stubs/port.h>
11#include <google/protobuf/stubs/once.h>
12#include <google/protobuf/io/coded_stream.h>
13#include <google/protobuf/wire_format_lite_inl.h>
14#include <google/protobuf/descriptor.h>
15#include <google/protobuf/generated_message_reflection.h>
16#include <google/protobuf/reflection_ops.h>
17#include <google/protobuf/wire_format.h>
18// @@protoc_insertion_point(includes)
19
20namespace google {
21namespace protobuf {
22
23namespace {
24
25const ::google::protobuf::Descriptor* Struct_descriptor_ = NULL;
26const ::google::protobuf::internal::GeneratedMessageReflection*
27  Struct_reflection_ = NULL;
28const ::google::protobuf::Descriptor* Struct_FieldsEntry_descriptor_ = NULL;
29const ::google::protobuf::Descriptor* Value_descriptor_ = NULL;
30const ::google::protobuf::internal::GeneratedMessageReflection*
31  Value_reflection_ = NULL;
32struct ValueOneofInstance {
33  int null_value_;
34  double number_value_;
35  ::google::protobuf::internal::ArenaStringPtr string_value_;
36  bool bool_value_;
37  const ::google::protobuf::Struct* struct_value_;
38  const ::google::protobuf::ListValue* list_value_;
39}* Value_default_oneof_instance_ = NULL;
40const ::google::protobuf::Descriptor* ListValue_descriptor_ = NULL;
41const ::google::protobuf::internal::GeneratedMessageReflection*
42  ListValue_reflection_ = NULL;
43const ::google::protobuf::EnumDescriptor* NullValue_descriptor_ = NULL;
44
45}  // namespace
46
47
48void protobuf_AssignDesc_google_2fprotobuf_2fstruct_2eproto() {
49  protobuf_AddDesc_google_2fprotobuf_2fstruct_2eproto();
50  const ::google::protobuf::FileDescriptor* file =
51    ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
52      "google/protobuf/struct.proto");
53  GOOGLE_CHECK(file != NULL);
54  Struct_descriptor_ = file->message_type(0);
55  static const int Struct_offsets_[1] = {
56    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Struct, fields_),
57  };
58  Struct_reflection_ =
59    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
60      Struct_descriptor_,
61      Struct::default_instance_,
62      Struct_offsets_,
63      -1,
64      -1,
65      -1,
66      sizeof(Struct),
67      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Struct, _internal_metadata_),
68      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Struct, _is_default_instance_));
69  Struct_FieldsEntry_descriptor_ = Struct_descriptor_->nested_type(0);
70  Value_descriptor_ = file->message_type(1);
71  static const int Value_offsets_[7] = {
72    PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET(Value_default_oneof_instance_, null_value_),
73    PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET(Value_default_oneof_instance_, number_value_),
74    PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET(Value_default_oneof_instance_, string_value_),
75    PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET(Value_default_oneof_instance_, bool_value_),
76    PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET(Value_default_oneof_instance_, struct_value_),
77    PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET(Value_default_oneof_instance_, list_value_),
78    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Value, kind_),
79  };
80  Value_reflection_ =
81    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
82      Value_descriptor_,
83      Value::default_instance_,
84      Value_offsets_,
85      -1,
86      -1,
87      -1,
88      Value_default_oneof_instance_,
89      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Value, _oneof_case_[0]),
90      sizeof(Value),
91      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Value, _internal_metadata_),
92      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Value, _is_default_instance_));
93  ListValue_descriptor_ = file->message_type(2);
94  static const int ListValue_offsets_[1] = {
95    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListValue, values_),
96  };
97  ListValue_reflection_ =
98    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
99      ListValue_descriptor_,
100      ListValue::default_instance_,
101      ListValue_offsets_,
102      -1,
103      -1,
104      -1,
105      sizeof(ListValue),
106      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListValue, _internal_metadata_),
107      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ListValue, _is_default_instance_));
108  NullValue_descriptor_ = file->enum_type(0);
109}
110
111namespace {
112
113GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
114inline void protobuf_AssignDescriptorsOnce() {
115  ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
116                 &protobuf_AssignDesc_google_2fprotobuf_2fstruct_2eproto);
117}
118
119void protobuf_RegisterTypes(const ::std::string&) {
120  protobuf_AssignDescriptorsOnce();
121  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
122      Struct_descriptor_, &Struct::default_instance());
123  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
124        Struct_FieldsEntry_descriptor_,
125        ::google::protobuf::internal::MapEntry<
126            ::std::string,
127            ::google::protobuf::Value,
128            ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
129            ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE,
130            0>::CreateDefaultInstance(
131                Struct_FieldsEntry_descriptor_));
132  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
133      Value_descriptor_, &Value::default_instance());
134  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
135      ListValue_descriptor_, &ListValue::default_instance());
136}
137
138}  // namespace
139
140void protobuf_ShutdownFile_google_2fprotobuf_2fstruct_2eproto() {
141  delete Struct::default_instance_;
142  delete Struct_reflection_;
143  delete Value::default_instance_;
144  delete Value_default_oneof_instance_;
145  delete Value_reflection_;
146  delete ListValue::default_instance_;
147  delete ListValue_reflection_;
148}
149
150void protobuf_AddDesc_google_2fprotobuf_2fstruct_2eproto() {
151  static bool already_here = false;
152  if (already_here) return;
153  already_here = true;
154  GOOGLE_PROTOBUF_VERIFY_VERSION;
155
156  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
157    "\n\034google/protobuf/struct.proto\022\017google.p"
158    "rotobuf\"\204\001\n\006Struct\0223\n\006fields\030\001 \003(\0132#.goo"
159    "gle.protobuf.Struct.FieldsEntry\032E\n\013Field"
160    "sEntry\022\013\n\003key\030\001 \001(\t\022%\n\005value\030\002 \001(\0132\026.goo"
161    "gle.protobuf.Value:\0028\001\"\352\001\n\005Value\0220\n\nnull"
162    "_value\030\001 \001(\0162\032.google.protobuf.NullValue"
163    "H\000\022\026\n\014number_value\030\002 \001(\001H\000\022\026\n\014string_val"
164    "ue\030\003 \001(\tH\000\022\024\n\nbool_value\030\004 \001(\010H\000\022/\n\014stru"
165    "ct_value\030\005 \001(\0132\027.google.protobuf.StructH"
166    "\000\0220\n\nlist_value\030\006 \001(\0132\032.google.protobuf."
167    "ListValueH\000B\006\n\004kind\"3\n\tListValue\022&\n\006valu"
168    "es\030\001 \003(\0132\026.google.protobuf.Value*\033\n\tNull"
169    "Value\022\016\n\nNULL_VALUE\020\000B\201\001\n\023com.google.pro"
170    "tobufB\013StructProtoP\001Z1github.com/golang/"
171    "protobuf/ptypes/struct;structpb\240\001\001\242\002\003GPB"
172    "\252\002\036Google.Protobuf.WellKnownTypesb\006proto"
173    "3", 641);
174  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
175    "google/protobuf/struct.proto", &protobuf_RegisterTypes);
176  Struct::default_instance_ = new Struct();
177  Value::default_instance_ = new Value();
178  Value_default_oneof_instance_ = new ValueOneofInstance();
179  ListValue::default_instance_ = new ListValue();
180  Struct::default_instance_->InitAsDefaultInstance();
181  Value::default_instance_->InitAsDefaultInstance();
182  ListValue::default_instance_->InitAsDefaultInstance();
183  ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_google_2fprotobuf_2fstruct_2eproto);
184}
185
186// Force AddDescriptors() to be called at static initialization time.
187struct StaticDescriptorInitializer_google_2fprotobuf_2fstruct_2eproto {
188  StaticDescriptorInitializer_google_2fprotobuf_2fstruct_2eproto() {
189    protobuf_AddDesc_google_2fprotobuf_2fstruct_2eproto();
190  }
191} static_descriptor_initializer_google_2fprotobuf_2fstruct_2eproto_;
192const ::google::protobuf::EnumDescriptor* NullValue_descriptor() {
193  protobuf_AssignDescriptorsOnce();
194  return NullValue_descriptor_;
195}
196bool NullValue_IsValid(int value) {
197  switch(value) {
198    case 0:
199      return true;
200    default:
201      return false;
202  }
203}
204
205
206namespace {
207
208static void MergeFromFail(int line) GOOGLE_ATTRIBUTE_COLD;
209static void MergeFromFail(int line) {
210  GOOGLE_CHECK(false) << __FILE__ << ":" << line;
211}
212
213}  // namespace
214
215
216// ===================================================================
217
218#if !defined(_MSC_VER) || _MSC_VER >= 1900
219const int Struct::kFieldsFieldNumber;
220#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
221
222Struct::Struct()
223  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
224  SharedCtor();
225  // @@protoc_insertion_point(constructor:google.protobuf.Struct)
226}
227
228void Struct::InitAsDefaultInstance() {
229  _is_default_instance_ = true;
230}
231
232Struct::Struct(const Struct& from)
233  : ::google::protobuf::Message(),
234    _internal_metadata_(NULL) {
235  SharedCtor();
236  MergeFrom(from);
237  // @@protoc_insertion_point(copy_constructor:google.protobuf.Struct)
238}
239
240void Struct::SharedCtor() {
241    _is_default_instance_ = false;
242  _cached_size_ = 0;
243  fields_.SetAssignDescriptorCallback(
244      protobuf_AssignDescriptorsOnce);
245  fields_.SetEntryDescriptor(
246      &::google::protobuf::Struct_FieldsEntry_descriptor_);
247}
248
249Struct::~Struct() {
250  // @@protoc_insertion_point(destructor:google.protobuf.Struct)
251  SharedDtor();
252}
253
254void Struct::SharedDtor() {
255  if (this != default_instance_) {
256  }
257}
258
259void Struct::SetCachedSize(int size) const {
260  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
261  _cached_size_ = size;
262  GOOGLE_SAFE_CONCURRENT_WRITES_END();
263}
264const ::google::protobuf::Descriptor* Struct::descriptor() {
265  protobuf_AssignDescriptorsOnce();
266  return Struct_descriptor_;
267}
268
269const Struct& Struct::default_instance() {
270  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fstruct_2eproto();
271  return *default_instance_;
272}
273
274Struct* Struct::default_instance_ = NULL;
275
276Struct* Struct::New(::google::protobuf::Arena* arena) const {
277  Struct* n = new Struct;
278  if (arena != NULL) {
279    arena->Own(n);
280  }
281  return n;
282}
283
284void Struct::Clear() {
285// @@protoc_insertion_point(message_clear_start:google.protobuf.Struct)
286  fields_.Clear();
287}
288
289bool Struct::MergePartialFromCodedStream(
290    ::google::protobuf::io::CodedInputStream* input) {
291#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
292  ::google::protobuf::uint32 tag;
293  // @@protoc_insertion_point(parse_start:google.protobuf.Struct)
294  for (;;) {
295    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
296    tag = p.first;
297    if (!p.second) goto handle_unusual;
298    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
299      // map<string, .google.protobuf.Value> fields = 1;
300      case 1: {
301        if (tag == 10) {
302          DO_(input->IncrementRecursionDepth());
303         parse_loop_fields:
304          ::google::protobuf::scoped_ptr<Struct_FieldsEntry> entry(fields_.NewEntry());
305          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
306              input, entry.get()));
307          (*mutable_fields())[entry->key()].Swap(entry->mutable_value());
308          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
309            entry->key().data(), entry->key().length(),
310            ::google::protobuf::internal::WireFormatLite::PARSE,
311            "google.protobuf.Struct.FieldsEntry.key"));
312        } else {
313          goto handle_unusual;
314        }
315        if (input->ExpectTag(10)) goto parse_loop_fields;
316        input->UnsafeDecrementRecursionDepth();
317        if (input->ExpectAtEnd()) goto success;
318        break;
319      }
320
321      default: {
322      handle_unusual:
323        if (tag == 0 ||
324            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
325            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
326          goto success;
327        }
328        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
329        break;
330      }
331    }
332  }
333success:
334  // @@protoc_insertion_point(parse_success:google.protobuf.Struct)
335  return true;
336failure:
337  // @@protoc_insertion_point(parse_failure:google.protobuf.Struct)
338  return false;
339#undef DO_
340}
341
342void Struct::SerializeWithCachedSizes(
343    ::google::protobuf::io::CodedOutputStream* output) const {
344  // @@protoc_insertion_point(serialize_start:google.protobuf.Struct)
345  // map<string, .google.protobuf.Value> fields = 1;
346  {
347    ::google::protobuf::scoped_ptr<Struct_FieldsEntry> entry;
348    for (::google::protobuf::Map< ::std::string, ::google::protobuf::Value >::const_iterator
349        it = this->fields().begin();
350        it != this->fields().end(); ++it) {
351      entry.reset(fields_.NewEntryWrapper(it->first, it->second));
352      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
353          1, *entry, output);
354      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
355        it->first.data(), it->first.length(),
356        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
357        "google.protobuf.Struct.FieldsEntry.key");
358    }
359  }
360
361  // @@protoc_insertion_point(serialize_end:google.protobuf.Struct)
362}
363
364::google::protobuf::uint8* Struct::SerializeWithCachedSizesToArray(
365    ::google::protobuf::uint8* target) const {
366  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.Struct)
367  // map<string, .google.protobuf.Value> fields = 1;
368  {
369    ::google::protobuf::scoped_ptr<Struct_FieldsEntry> entry;
370    for (::google::protobuf::Map< ::std::string, ::google::protobuf::Value >::const_iterator
371        it = this->fields().begin();
372        it != this->fields().end(); ++it) {
373      entry.reset(fields_.NewEntryWrapper(it->first, it->second));
374      target = ::google::protobuf::internal::WireFormatLite::
375          WriteMessageNoVirtualToArray(
376              1, *entry, target);
377      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
378        it->first.data(), it->first.length(),
379        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
380        "google.protobuf.Struct.FieldsEntry.key");
381    }
382  }
383
384  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.Struct)
385  return target;
386}
387
388int Struct::ByteSize() const {
389// @@protoc_insertion_point(message_byte_size_start:google.protobuf.Struct)
390  int total_size = 0;
391
392  // map<string, .google.protobuf.Value> fields = 1;
393  total_size += 1 * this->fields_size();
394  {
395    ::google::protobuf::scoped_ptr<Struct_FieldsEntry> entry;
396    for (::google::protobuf::Map< ::std::string, ::google::protobuf::Value >::const_iterator
397        it = this->fields().begin();
398        it != this->fields().end(); ++it) {
399      entry.reset(fields_.NewEntryWrapper(it->first, it->second));
400      total_size += ::google::protobuf::internal::WireFormatLite::
401          MessageSizeNoVirtual(*entry);
402    }
403  }
404
405  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
406  _cached_size_ = total_size;
407  GOOGLE_SAFE_CONCURRENT_WRITES_END();
408  return total_size;
409}
410
411void Struct::MergeFrom(const ::google::protobuf::Message& from) {
412// @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.Struct)
413  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
414  const Struct* source =
415      ::google::protobuf::internal::DynamicCastToGenerated<const Struct>(
416          &from);
417  if (source == NULL) {
418  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.Struct)
419    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
420  } else {
421  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.Struct)
422    MergeFrom(*source);
423  }
424}
425
426void Struct::MergeFrom(const Struct& from) {
427// @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.Struct)
428  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
429  fields_.MergeFrom(from.fields_);
430}
431
432void Struct::CopyFrom(const ::google::protobuf::Message& from) {
433// @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.Struct)
434  if (&from == this) return;
435  Clear();
436  MergeFrom(from);
437}
438
439void Struct::CopyFrom(const Struct& from) {
440// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.Struct)
441  if (&from == this) return;
442  Clear();
443  MergeFrom(from);
444}
445
446bool Struct::IsInitialized() const {
447
448  return true;
449}
450
451void Struct::Swap(Struct* other) {
452  if (other == this) return;
453  InternalSwap(other);
454}
455void Struct::InternalSwap(Struct* other) {
456  fields_.Swap(&other->fields_);
457  _internal_metadata_.Swap(&other->_internal_metadata_);
458  std::swap(_cached_size_, other->_cached_size_);
459}
460
461::google::protobuf::Metadata Struct::GetMetadata() const {
462  protobuf_AssignDescriptorsOnce();
463  ::google::protobuf::Metadata metadata;
464  metadata.descriptor = Struct_descriptor_;
465  metadata.reflection = Struct_reflection_;
466  return metadata;
467}
468
469#if PROTOBUF_INLINE_NOT_IN_HEADERS
470// Struct
471
472// map<string, .google.protobuf.Value> fields = 1;
473int Struct::fields_size() const {
474  return fields_.size();
475}
476void Struct::clear_fields() {
477  fields_.Clear();
478}
479 const ::google::protobuf::Map< ::std::string, ::google::protobuf::Value >&
480Struct::fields() const {
481  // @@protoc_insertion_point(field_map:google.protobuf.Struct.fields)
482  return fields_.GetMap();
483}
484 ::google::protobuf::Map< ::std::string, ::google::protobuf::Value >*
485Struct::mutable_fields() {
486  // @@protoc_insertion_point(field_mutable_map:google.protobuf.Struct.fields)
487  return fields_.MutableMap();
488}
489
490#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
491
492// ===================================================================
493
494#if !defined(_MSC_VER) || _MSC_VER >= 1900
495const int Value::kNullValueFieldNumber;
496const int Value::kNumberValueFieldNumber;
497const int Value::kStringValueFieldNumber;
498const int Value::kBoolValueFieldNumber;
499const int Value::kStructValueFieldNumber;
500const int Value::kListValueFieldNumber;
501#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
502
503Value::Value()
504  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
505  SharedCtor();
506  // @@protoc_insertion_point(constructor:google.protobuf.Value)
507}
508
509void Value::InitAsDefaultInstance() {
510  _is_default_instance_ = true;
511  Value_default_oneof_instance_->null_value_ = 0;
512  Value_default_oneof_instance_->number_value_ = 0;
513  Value_default_oneof_instance_->string_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
514  Value_default_oneof_instance_->bool_value_ = false;
515  Value_default_oneof_instance_->struct_value_ = const_cast< ::google::protobuf::Struct*>(&::google::protobuf::Struct::default_instance());
516  Value_default_oneof_instance_->list_value_ = const_cast< ::google::protobuf::ListValue*>(&::google::protobuf::ListValue::default_instance());
517}
518
519Value::Value(const Value& from)
520  : ::google::protobuf::Message(),
521    _internal_metadata_(NULL) {
522  SharedCtor();
523  MergeFrom(from);
524  // @@protoc_insertion_point(copy_constructor:google.protobuf.Value)
525}
526
527void Value::SharedCtor() {
528    _is_default_instance_ = false;
529  ::google::protobuf::internal::GetEmptyString();
530  _cached_size_ = 0;
531  clear_has_kind();
532}
533
534Value::~Value() {
535  // @@protoc_insertion_point(destructor:google.protobuf.Value)
536  SharedDtor();
537}
538
539void Value::SharedDtor() {
540  if (has_kind()) {
541    clear_kind();
542  }
543  if (this != default_instance_) {
544  }
545}
546
547void Value::SetCachedSize(int size) const {
548  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
549  _cached_size_ = size;
550  GOOGLE_SAFE_CONCURRENT_WRITES_END();
551}
552const ::google::protobuf::Descriptor* Value::descriptor() {
553  protobuf_AssignDescriptorsOnce();
554  return Value_descriptor_;
555}
556
557const Value& Value::default_instance() {
558  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fstruct_2eproto();
559  return *default_instance_;
560}
561
562Value* Value::default_instance_ = NULL;
563
564Value* Value::New(::google::protobuf::Arena* arena) const {
565  Value* n = new Value;
566  if (arena != NULL) {
567    arena->Own(n);
568  }
569  return n;
570}
571
572void Value::clear_kind() {
573// @@protoc_insertion_point(one_of_clear_start:google.protobuf.Value)
574  switch(kind_case()) {
575    case kNullValue: {
576      // No need to clear
577      break;
578    }
579    case kNumberValue: {
580      // No need to clear
581      break;
582    }
583    case kStringValue: {
584      kind_.string_value_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
585      break;
586    }
587    case kBoolValue: {
588      // No need to clear
589      break;
590    }
591    case kStructValue: {
592      delete kind_.struct_value_;
593      break;
594    }
595    case kListValue: {
596      delete kind_.list_value_;
597      break;
598    }
599    case KIND_NOT_SET: {
600      break;
601    }
602  }
603  _oneof_case_[0] = KIND_NOT_SET;
604}
605
606
607void Value::Clear() {
608// @@protoc_insertion_point(message_clear_start:google.protobuf.Value)
609  clear_kind();
610}
611
612bool Value::MergePartialFromCodedStream(
613    ::google::protobuf::io::CodedInputStream* input) {
614#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
615  ::google::protobuf::uint32 tag;
616  // @@protoc_insertion_point(parse_start:google.protobuf.Value)
617  for (;;) {
618    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
619    tag = p.first;
620    if (!p.second) goto handle_unusual;
621    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
622      // optional .google.protobuf.NullValue null_value = 1;
623      case 1: {
624        if (tag == 8) {
625          int value;
626          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
627                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
628                 input, &value)));
629          set_null_value(static_cast< ::google::protobuf::NullValue >(value));
630        } else {
631          goto handle_unusual;
632        }
633        if (input->ExpectTag(17)) goto parse_number_value;
634        break;
635      }
636
637      // optional double number_value = 2;
638      case 2: {
639        if (tag == 17) {
640         parse_number_value:
641          clear_kind();
642          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
643                   double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
644                 input, &kind_.number_value_)));
645          set_has_number_value();
646        } else {
647          goto handle_unusual;
648        }
649        if (input->ExpectTag(26)) goto parse_string_value;
650        break;
651      }
652
653      // optional string string_value = 3;
654      case 3: {
655        if (tag == 26) {
656         parse_string_value:
657          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
658                input, this->mutable_string_value()));
659          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
660            this->string_value().data(), this->string_value().length(),
661            ::google::protobuf::internal::WireFormatLite::PARSE,
662            "google.protobuf.Value.string_value"));
663        } else {
664          goto handle_unusual;
665        }
666        if (input->ExpectTag(32)) goto parse_bool_value;
667        break;
668      }
669
670      // optional bool bool_value = 4;
671      case 4: {
672        if (tag == 32) {
673         parse_bool_value:
674          clear_kind();
675          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
676                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
677                 input, &kind_.bool_value_)));
678          set_has_bool_value();
679        } else {
680          goto handle_unusual;
681        }
682        if (input->ExpectTag(42)) goto parse_struct_value;
683        break;
684      }
685
686      // optional .google.protobuf.Struct struct_value = 5;
687      case 5: {
688        if (tag == 42) {
689         parse_struct_value:
690          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
691               input, mutable_struct_value()));
692        } else {
693          goto handle_unusual;
694        }
695        if (input->ExpectTag(50)) goto parse_list_value;
696        break;
697      }
698
699      // optional .google.protobuf.ListValue list_value = 6;
700      case 6: {
701        if (tag == 50) {
702         parse_list_value:
703          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
704               input, mutable_list_value()));
705        } else {
706          goto handle_unusual;
707        }
708        if (input->ExpectAtEnd()) goto success;
709        break;
710      }
711
712      default: {
713      handle_unusual:
714        if (tag == 0 ||
715            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
716            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
717          goto success;
718        }
719        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
720        break;
721      }
722    }
723  }
724success:
725  // @@protoc_insertion_point(parse_success:google.protobuf.Value)
726  return true;
727failure:
728  // @@protoc_insertion_point(parse_failure:google.protobuf.Value)
729  return false;
730#undef DO_
731}
732
733void Value::SerializeWithCachedSizes(
734    ::google::protobuf::io::CodedOutputStream* output) const {
735  // @@protoc_insertion_point(serialize_start:google.protobuf.Value)
736  // optional .google.protobuf.NullValue null_value = 1;
737  if (has_null_value()) {
738    ::google::protobuf::internal::WireFormatLite::WriteEnum(
739      1, this->null_value(), output);
740  }
741
742  // optional double number_value = 2;
743  if (has_number_value()) {
744    ::google::protobuf::internal::WireFormatLite::WriteDouble(2, this->number_value(), output);
745  }
746
747  // optional string string_value = 3;
748  if (has_string_value()) {
749    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
750      this->string_value().data(), this->string_value().length(),
751      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
752      "google.protobuf.Value.string_value");
753    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
754      3, this->string_value(), output);
755  }
756
757  // optional bool bool_value = 4;
758  if (has_bool_value()) {
759    ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->bool_value(), output);
760  }
761
762  // optional .google.protobuf.Struct struct_value = 5;
763  if (has_struct_value()) {
764    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
765      5, *kind_.struct_value_, output);
766  }
767
768  // optional .google.protobuf.ListValue list_value = 6;
769  if (has_list_value()) {
770    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
771      6, *kind_.list_value_, output);
772  }
773
774  // @@protoc_insertion_point(serialize_end:google.protobuf.Value)
775}
776
777::google::protobuf::uint8* Value::SerializeWithCachedSizesToArray(
778    ::google::protobuf::uint8* target) const {
779  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.Value)
780  // optional .google.protobuf.NullValue null_value = 1;
781  if (has_null_value()) {
782    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
783      1, this->null_value(), target);
784  }
785
786  // optional double number_value = 2;
787  if (has_number_value()) {
788    target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(2, this->number_value(), target);
789  }
790
791  // optional string string_value = 3;
792  if (has_string_value()) {
793    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
794      this->string_value().data(), this->string_value().length(),
795      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
796      "google.protobuf.Value.string_value");
797    target =
798      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
799        3, this->string_value(), target);
800  }
801
802  // optional bool bool_value = 4;
803  if (has_bool_value()) {
804    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(4, this->bool_value(), target);
805  }
806
807  // optional .google.protobuf.Struct struct_value = 5;
808  if (has_struct_value()) {
809    target = ::google::protobuf::internal::WireFormatLite::
810      WriteMessageNoVirtualToArray(
811        5, *kind_.struct_value_, target);
812  }
813
814  // optional .google.protobuf.ListValue list_value = 6;
815  if (has_list_value()) {
816    target = ::google::protobuf::internal::WireFormatLite::
817      WriteMessageNoVirtualToArray(
818        6, *kind_.list_value_, target);
819  }
820
821  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.Value)
822  return target;
823}
824
825int Value::ByteSize() const {
826// @@protoc_insertion_point(message_byte_size_start:google.protobuf.Value)
827  int total_size = 0;
828
829  switch (kind_case()) {
830    // optional .google.protobuf.NullValue null_value = 1;
831    case kNullValue: {
832      total_size += 1 +
833        ::google::protobuf::internal::WireFormatLite::EnumSize(this->null_value());
834      break;
835    }
836    // optional double number_value = 2;
837    case kNumberValue: {
838      total_size += 1 + 8;
839      break;
840    }
841    // optional string string_value = 3;
842    case kStringValue: {
843      total_size += 1 +
844        ::google::protobuf::internal::WireFormatLite::StringSize(
845          this->string_value());
846      break;
847    }
848    // optional bool bool_value = 4;
849    case kBoolValue: {
850      total_size += 1 + 1;
851      break;
852    }
853    // optional .google.protobuf.Struct struct_value = 5;
854    case kStructValue: {
855      total_size += 1 +
856        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
857          *kind_.struct_value_);
858      break;
859    }
860    // optional .google.protobuf.ListValue list_value = 6;
861    case kListValue: {
862      total_size += 1 +
863        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
864          *kind_.list_value_);
865      break;
866    }
867    case KIND_NOT_SET: {
868      break;
869    }
870  }
871  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
872  _cached_size_ = total_size;
873  GOOGLE_SAFE_CONCURRENT_WRITES_END();
874  return total_size;
875}
876
877void Value::MergeFrom(const ::google::protobuf::Message& from) {
878// @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.Value)
879  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
880  const Value* source =
881      ::google::protobuf::internal::DynamicCastToGenerated<const Value>(
882          &from);
883  if (source == NULL) {
884  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.Value)
885    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
886  } else {
887  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.Value)
888    MergeFrom(*source);
889  }
890}
891
892void Value::MergeFrom(const Value& from) {
893// @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.Value)
894  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
895  switch (from.kind_case()) {
896    case kNullValue: {
897      set_null_value(from.null_value());
898      break;
899    }
900    case kNumberValue: {
901      set_number_value(from.number_value());
902      break;
903    }
904    case kStringValue: {
905      set_string_value(from.string_value());
906      break;
907    }
908    case kBoolValue: {
909      set_bool_value(from.bool_value());
910      break;
911    }
912    case kStructValue: {
913      mutable_struct_value()->::google::protobuf::Struct::MergeFrom(from.struct_value());
914      break;
915    }
916    case kListValue: {
917      mutable_list_value()->::google::protobuf::ListValue::MergeFrom(from.list_value());
918      break;
919    }
920    case KIND_NOT_SET: {
921      break;
922    }
923  }
924}
925
926void Value::CopyFrom(const ::google::protobuf::Message& from) {
927// @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.Value)
928  if (&from == this) return;
929  Clear();
930  MergeFrom(from);
931}
932
933void Value::CopyFrom(const Value& from) {
934// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.Value)
935  if (&from == this) return;
936  Clear();
937  MergeFrom(from);
938}
939
940bool Value::IsInitialized() const {
941
942  return true;
943}
944
945void Value::Swap(Value* other) {
946  if (other == this) return;
947  InternalSwap(other);
948}
949void Value::InternalSwap(Value* other) {
950  std::swap(kind_, other->kind_);
951  std::swap(_oneof_case_[0], other->_oneof_case_[0]);
952  _internal_metadata_.Swap(&other->_internal_metadata_);
953  std::swap(_cached_size_, other->_cached_size_);
954}
955
956::google::protobuf::Metadata Value::GetMetadata() const {
957  protobuf_AssignDescriptorsOnce();
958  ::google::protobuf::Metadata metadata;
959  metadata.descriptor = Value_descriptor_;
960  metadata.reflection = Value_reflection_;
961  return metadata;
962}
963
964#if PROTOBUF_INLINE_NOT_IN_HEADERS
965// Value
966
967// optional .google.protobuf.NullValue null_value = 1;
968bool Value::has_null_value() const {
969  return kind_case() == kNullValue;
970}
971void Value::set_has_null_value() {
972  _oneof_case_[0] = kNullValue;
973}
974void Value::clear_null_value() {
975  if (has_null_value()) {
976    kind_.null_value_ = 0;
977    clear_has_kind();
978  }
979}
980 ::google::protobuf::NullValue Value::null_value() const {
981  // @@protoc_insertion_point(field_get:google.protobuf.Value.null_value)
982  if (has_null_value()) {
983    return static_cast< ::google::protobuf::NullValue >(kind_.null_value_);
984  }
985  return static_cast< ::google::protobuf::NullValue >(0);
986}
987 void Value::set_null_value(::google::protobuf::NullValue value) {
988  if (!has_null_value()) {
989    clear_kind();
990    set_has_null_value();
991  }
992  kind_.null_value_ = value;
993  // @@protoc_insertion_point(field_set:google.protobuf.Value.null_value)
994}
995
996// optional double number_value = 2;
997bool Value::has_number_value() const {
998  return kind_case() == kNumberValue;
999}
1000void Value::set_has_number_value() {
1001  _oneof_case_[0] = kNumberValue;
1002}
1003void Value::clear_number_value() {
1004  if (has_number_value()) {
1005    kind_.number_value_ = 0;
1006    clear_has_kind();
1007  }
1008}
1009 double Value::number_value() const {
1010  // @@protoc_insertion_point(field_get:google.protobuf.Value.number_value)
1011  if (has_number_value()) {
1012    return kind_.number_value_;
1013  }
1014  return 0;
1015}
1016 void Value::set_number_value(double value) {
1017  if (!has_number_value()) {
1018    clear_kind();
1019    set_has_number_value();
1020  }
1021  kind_.number_value_ = value;
1022  // @@protoc_insertion_point(field_set:google.protobuf.Value.number_value)
1023}
1024
1025// optional string string_value = 3;
1026bool Value::has_string_value() const {
1027  return kind_case() == kStringValue;
1028}
1029void Value::set_has_string_value() {
1030  _oneof_case_[0] = kStringValue;
1031}
1032void Value::clear_string_value() {
1033  if (has_string_value()) {
1034    kind_.string_value_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
1035    clear_has_kind();
1036  }
1037}
1038 const ::std::string& Value::string_value() const {
1039  // @@protoc_insertion_point(field_get:google.protobuf.Value.string_value)
1040  if (has_string_value()) {
1041    return kind_.string_value_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
1042  }
1043  return *&::google::protobuf::internal::GetEmptyStringAlreadyInited();
1044}
1045 void Value::set_string_value(const ::std::string& value) {
1046  // @@protoc_insertion_point(field_set:google.protobuf.Value.string_value)
1047  if (!has_string_value()) {
1048    clear_kind();
1049    set_has_string_value();
1050    kind_.string_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
1051  }
1052  kind_.string_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
1053  // @@protoc_insertion_point(field_set:google.protobuf.Value.string_value)
1054}
1055 void Value::set_string_value(const char* value) {
1056  if (!has_string_value()) {
1057    clear_kind();
1058    set_has_string_value();
1059    kind_.string_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
1060  }
1061  kind_.string_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
1062      ::std::string(value));
1063  // @@protoc_insertion_point(field_set_char:google.protobuf.Value.string_value)
1064}
1065 void Value::set_string_value(const char* value, size_t size) {
1066  if (!has_string_value()) {
1067    clear_kind();
1068    set_has_string_value();
1069    kind_.string_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
1070  }
1071  kind_.string_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(
1072      reinterpret_cast<const char*>(value), size));
1073  // @@protoc_insertion_point(field_set_pointer:google.protobuf.Value.string_value)
1074}
1075 ::std::string* Value::mutable_string_value() {
1076  if (!has_string_value()) {
1077    clear_kind();
1078    set_has_string_value();
1079    kind_.string_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
1080  }
1081  // @@protoc_insertion_point(field_mutable:google.protobuf.Value.string_value)
1082  return kind_.string_value_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
1083}
1084 ::std::string* Value::release_string_value() {
1085  // @@protoc_insertion_point(field_release:google.protobuf.Value.string_value)
1086  if (has_string_value()) {
1087    clear_has_kind();
1088    return kind_.string_value_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
1089  } else {
1090    return NULL;
1091  }
1092}
1093 void Value::set_allocated_string_value(::std::string* string_value) {
1094  if (!has_string_value()) {
1095    kind_.string_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
1096  }
1097  clear_kind();
1098  if (string_value != NULL) {
1099    set_has_string_value();
1100    kind_.string_value_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
1101        string_value);
1102  }
1103  // @@protoc_insertion_point(field_set_allocated:google.protobuf.Value.string_value)
1104}
1105
1106// optional bool bool_value = 4;
1107bool Value::has_bool_value() const {
1108  return kind_case() == kBoolValue;
1109}
1110void Value::set_has_bool_value() {
1111  _oneof_case_[0] = kBoolValue;
1112}
1113void Value::clear_bool_value() {
1114  if (has_bool_value()) {
1115    kind_.bool_value_ = false;
1116    clear_has_kind();
1117  }
1118}
1119 bool Value::bool_value() const {
1120  // @@protoc_insertion_point(field_get:google.protobuf.Value.bool_value)
1121  if (has_bool_value()) {
1122    return kind_.bool_value_;
1123  }
1124  return false;
1125}
1126 void Value::set_bool_value(bool value) {
1127  if (!has_bool_value()) {
1128    clear_kind();
1129    set_has_bool_value();
1130  }
1131  kind_.bool_value_ = value;
1132  // @@protoc_insertion_point(field_set:google.protobuf.Value.bool_value)
1133}
1134
1135// optional .google.protobuf.Struct struct_value = 5;
1136bool Value::has_struct_value() const {
1137  return kind_case() == kStructValue;
1138}
1139void Value::set_has_struct_value() {
1140  _oneof_case_[0] = kStructValue;
1141}
1142void Value::clear_struct_value() {
1143  if (has_struct_value()) {
1144    delete kind_.struct_value_;
1145    clear_has_kind();
1146  }
1147}
1148 const ::google::protobuf::Struct& Value::struct_value() const {
1149  // @@protoc_insertion_point(field_get:google.protobuf.Value.struct_value)
1150  return has_struct_value()
1151      ? *kind_.struct_value_
1152      : ::google::protobuf::Struct::default_instance();
1153}
1154::google::protobuf::Struct* Value::mutable_struct_value() {
1155  if (!has_struct_value()) {
1156    clear_kind();
1157    set_has_struct_value();
1158    kind_.struct_value_ = new ::google::protobuf::Struct;
1159  }
1160  // @@protoc_insertion_point(field_mutable:google.protobuf.Value.struct_value)
1161  return kind_.struct_value_;
1162}
1163::google::protobuf::Struct* Value::release_struct_value() {
1164  // @@protoc_insertion_point(field_release:google.protobuf.Value.struct_value)
1165  if (has_struct_value()) {
1166    clear_has_kind();
1167    ::google::protobuf::Struct* temp = kind_.struct_value_;
1168    kind_.struct_value_ = NULL;
1169    return temp;
1170  } else {
1171    return NULL;
1172  }
1173}
1174void Value::set_allocated_struct_value(::google::protobuf::Struct* struct_value) {
1175  clear_kind();
1176  if (struct_value) {
1177    set_has_struct_value();
1178    kind_.struct_value_ = struct_value;
1179  }
1180  // @@protoc_insertion_point(field_set_allocated:google.protobuf.Value.struct_value)
1181}
1182
1183// optional .google.protobuf.ListValue list_value = 6;
1184bool Value::has_list_value() const {
1185  return kind_case() == kListValue;
1186}
1187void Value::set_has_list_value() {
1188  _oneof_case_[0] = kListValue;
1189}
1190void Value::clear_list_value() {
1191  if (has_list_value()) {
1192    delete kind_.list_value_;
1193    clear_has_kind();
1194  }
1195}
1196 const ::google::protobuf::ListValue& Value::list_value() const {
1197  // @@protoc_insertion_point(field_get:google.protobuf.Value.list_value)
1198  return has_list_value()
1199      ? *kind_.list_value_
1200      : ::google::protobuf::ListValue::default_instance();
1201}
1202::google::protobuf::ListValue* Value::mutable_list_value() {
1203  if (!has_list_value()) {
1204    clear_kind();
1205    set_has_list_value();
1206    kind_.list_value_ = new ::google::protobuf::ListValue;
1207  }
1208  // @@protoc_insertion_point(field_mutable:google.protobuf.Value.list_value)
1209  return kind_.list_value_;
1210}
1211::google::protobuf::ListValue* Value::release_list_value() {
1212  // @@protoc_insertion_point(field_release:google.protobuf.Value.list_value)
1213  if (has_list_value()) {
1214    clear_has_kind();
1215    ::google::protobuf::ListValue* temp = kind_.list_value_;
1216    kind_.list_value_ = NULL;
1217    return temp;
1218  } else {
1219    return NULL;
1220  }
1221}
1222void Value::set_allocated_list_value(::google::protobuf::ListValue* list_value) {
1223  clear_kind();
1224  if (list_value) {
1225    set_has_list_value();
1226    kind_.list_value_ = list_value;
1227  }
1228  // @@protoc_insertion_point(field_set_allocated:google.protobuf.Value.list_value)
1229}
1230
1231bool Value::has_kind() const {
1232  return kind_case() != KIND_NOT_SET;
1233}
1234void Value::clear_has_kind() {
1235  _oneof_case_[0] = KIND_NOT_SET;
1236}
1237Value::KindCase Value::kind_case() const {
1238  return Value::KindCase(_oneof_case_[0]);
1239}
1240#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
1241
1242// ===================================================================
1243
1244#if !defined(_MSC_VER) || _MSC_VER >= 1900
1245const int ListValue::kValuesFieldNumber;
1246#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
1247
1248ListValue::ListValue()
1249  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
1250  SharedCtor();
1251  // @@protoc_insertion_point(constructor:google.protobuf.ListValue)
1252}
1253
1254void ListValue::InitAsDefaultInstance() {
1255  _is_default_instance_ = true;
1256}
1257
1258ListValue::ListValue(const ListValue& from)
1259  : ::google::protobuf::Message(),
1260    _internal_metadata_(NULL) {
1261  SharedCtor();
1262  MergeFrom(from);
1263  // @@protoc_insertion_point(copy_constructor:google.protobuf.ListValue)
1264}
1265
1266void ListValue::SharedCtor() {
1267    _is_default_instance_ = false;
1268  _cached_size_ = 0;
1269}
1270
1271ListValue::~ListValue() {
1272  // @@protoc_insertion_point(destructor:google.protobuf.ListValue)
1273  SharedDtor();
1274}
1275
1276void ListValue::SharedDtor() {
1277  if (this != default_instance_) {
1278  }
1279}
1280
1281void ListValue::SetCachedSize(int size) const {
1282  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
1283  _cached_size_ = size;
1284  GOOGLE_SAFE_CONCURRENT_WRITES_END();
1285}
1286const ::google::protobuf::Descriptor* ListValue::descriptor() {
1287  protobuf_AssignDescriptorsOnce();
1288  return ListValue_descriptor_;
1289}
1290
1291const ListValue& ListValue::default_instance() {
1292  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fstruct_2eproto();
1293  return *default_instance_;
1294}
1295
1296ListValue* ListValue::default_instance_ = NULL;
1297
1298ListValue* ListValue::New(::google::protobuf::Arena* arena) const {
1299  ListValue* n = new ListValue;
1300  if (arena != NULL) {
1301    arena->Own(n);
1302  }
1303  return n;
1304}
1305
1306void ListValue::Clear() {
1307// @@protoc_insertion_point(message_clear_start:google.protobuf.ListValue)
1308  values_.Clear();
1309}
1310
1311bool ListValue::MergePartialFromCodedStream(
1312    ::google::protobuf::io::CodedInputStream* input) {
1313#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
1314  ::google::protobuf::uint32 tag;
1315  // @@protoc_insertion_point(parse_start:google.protobuf.ListValue)
1316  for (;;) {
1317    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
1318    tag = p.first;
1319    if (!p.second) goto handle_unusual;
1320    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
1321      // repeated .google.protobuf.Value values = 1;
1322      case 1: {
1323        if (tag == 10) {
1324          DO_(input->IncrementRecursionDepth());
1325         parse_loop_values:
1326          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
1327                input, add_values()));
1328        } else {
1329          goto handle_unusual;
1330        }
1331        if (input->ExpectTag(10)) goto parse_loop_values;
1332        input->UnsafeDecrementRecursionDepth();
1333        if (input->ExpectAtEnd()) goto success;
1334        break;
1335      }
1336
1337      default: {
1338      handle_unusual:
1339        if (tag == 0 ||
1340            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1341            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
1342          goto success;
1343        }
1344        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
1345        break;
1346      }
1347    }
1348  }
1349success:
1350  // @@protoc_insertion_point(parse_success:google.protobuf.ListValue)
1351  return true;
1352failure:
1353  // @@protoc_insertion_point(parse_failure:google.protobuf.ListValue)
1354  return false;
1355#undef DO_
1356}
1357
1358void ListValue::SerializeWithCachedSizes(
1359    ::google::protobuf::io::CodedOutputStream* output) const {
1360  // @@protoc_insertion_point(serialize_start:google.protobuf.ListValue)
1361  // repeated .google.protobuf.Value values = 1;
1362  for (unsigned int i = 0, n = this->values_size(); i < n; i++) {
1363    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
1364      1, this->values(i), output);
1365  }
1366
1367  // @@protoc_insertion_point(serialize_end:google.protobuf.ListValue)
1368}
1369
1370::google::protobuf::uint8* ListValue::SerializeWithCachedSizesToArray(
1371    ::google::protobuf::uint8* target) const {
1372  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.ListValue)
1373  // repeated .google.protobuf.Value values = 1;
1374  for (unsigned int i = 0, n = this->values_size(); i < n; i++) {
1375    target = ::google::protobuf::internal::WireFormatLite::
1376      WriteMessageNoVirtualToArray(
1377        1, this->values(i), target);
1378  }
1379
1380  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.ListValue)
1381  return target;
1382}
1383
1384int ListValue::ByteSize() const {
1385// @@protoc_insertion_point(message_byte_size_start:google.protobuf.ListValue)
1386  int total_size = 0;
1387
1388  // repeated .google.protobuf.Value values = 1;
1389  total_size += 1 * this->values_size();
1390  for (int i = 0; i < this->values_size(); i++) {
1391    total_size +=
1392      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
1393        this->values(i));
1394  }
1395
1396  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
1397  _cached_size_ = total_size;
1398  GOOGLE_SAFE_CONCURRENT_WRITES_END();
1399  return total_size;
1400}
1401
1402void ListValue::MergeFrom(const ::google::protobuf::Message& from) {
1403// @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.ListValue)
1404  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
1405  const ListValue* source =
1406      ::google::protobuf::internal::DynamicCastToGenerated<const ListValue>(
1407          &from);
1408  if (source == NULL) {
1409  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.ListValue)
1410    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
1411  } else {
1412  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.ListValue)
1413    MergeFrom(*source);
1414  }
1415}
1416
1417void ListValue::MergeFrom(const ListValue& from) {
1418// @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.ListValue)
1419  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
1420  values_.MergeFrom(from.values_);
1421}
1422
1423void ListValue::CopyFrom(const ::google::protobuf::Message& from) {
1424// @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.ListValue)
1425  if (&from == this) return;
1426  Clear();
1427  MergeFrom(from);
1428}
1429
1430void ListValue::CopyFrom(const ListValue& from) {
1431// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.ListValue)
1432  if (&from == this) return;
1433  Clear();
1434  MergeFrom(from);
1435}
1436
1437bool ListValue::IsInitialized() const {
1438
1439  return true;
1440}
1441
1442void ListValue::Swap(ListValue* other) {
1443  if (other == this) return;
1444  InternalSwap(other);
1445}
1446void ListValue::InternalSwap(ListValue* other) {
1447  values_.UnsafeArenaSwap(&other->values_);
1448  _internal_metadata_.Swap(&other->_internal_metadata_);
1449  std::swap(_cached_size_, other->_cached_size_);
1450}
1451
1452::google::protobuf::Metadata ListValue::GetMetadata() const {
1453  protobuf_AssignDescriptorsOnce();
1454  ::google::protobuf::Metadata metadata;
1455  metadata.descriptor = ListValue_descriptor_;
1456  metadata.reflection = ListValue_reflection_;
1457  return metadata;
1458}
1459
1460#if PROTOBUF_INLINE_NOT_IN_HEADERS
1461// ListValue
1462
1463// repeated .google.protobuf.Value values = 1;
1464int ListValue::values_size() const {
1465  return values_.size();
1466}
1467void ListValue::clear_values() {
1468  values_.Clear();
1469}
1470const ::google::protobuf::Value& ListValue::values(int index) const {
1471  // @@protoc_insertion_point(field_get:google.protobuf.ListValue.values)
1472  return values_.Get(index);
1473}
1474::google::protobuf::Value* ListValue::mutable_values(int index) {
1475  // @@protoc_insertion_point(field_mutable:google.protobuf.ListValue.values)
1476  return values_.Mutable(index);
1477}
1478::google::protobuf::Value* ListValue::add_values() {
1479  // @@protoc_insertion_point(field_add:google.protobuf.ListValue.values)
1480  return values_.Add();
1481}
1482::google::protobuf::RepeatedPtrField< ::google::protobuf::Value >*
1483ListValue::mutable_values() {
1484  // @@protoc_insertion_point(field_mutable_list:google.protobuf.ListValue.values)
1485  return &values_;
1486}
1487const ::google::protobuf::RepeatedPtrField< ::google::protobuf::Value >&
1488ListValue::values() const {
1489  // @@protoc_insertion_point(field_list:google.protobuf.ListValue.values)
1490  return values_;
1491}
1492
1493#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
1494
1495// @@protoc_insertion_point(namespace_scope)
1496
1497}  // namespace protobuf
1498}  // namespace google
1499
1500// @@protoc_insertion_point(global_scope)
1501