// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: CoreDump.proto

#ifndef PROTOBUF_CoreDump_2eproto__INCLUDED
#define PROTOBUF_CoreDump_2eproto__INCLUDED

#include <string>

#include <google/protobuf/stubs/common.h>

#if GOOGLE_PROTOBUF_VERSION < 3004000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please update
#error your headers.
#endif
#if 3004000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_table_driven.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata_lite.h>
#include <google/protobuf/message_lite.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
// @@protoc_insertion_point(includes)
namespace mozilla {
namespace devtools {
namespace protobuf {
class Edge;
class EdgeDefaultTypeInternal;
extern EdgeDefaultTypeInternal _Edge_default_instance_;
class Metadata;
class MetadataDefaultTypeInternal;
extern MetadataDefaultTypeInternal _Metadata_default_instance_;
class Node;
class NodeDefaultTypeInternal;
extern NodeDefaultTypeInternal _Node_default_instance_;
class StackFrame;
class StackFrameDefaultTypeInternal;
extern StackFrameDefaultTypeInternal _StackFrame_default_instance_;
class StackFrame_Data;
class StackFrame_DataDefaultTypeInternal;
extern StackFrame_DataDefaultTypeInternal _StackFrame_Data_default_instance_;
}  // namespace protobuf
}  // namespace devtools
}  // namespace mozilla

namespace mozilla {
namespace devtools {
namespace protobuf {

namespace protobuf_CoreDump_2eproto {
// Internal implementation detail -- do not call these.
struct TableStruct {
  static const ::google::protobuf::internal::ParseTableField entries[];
  static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
  static const ::google::protobuf::internal::ParseTable schema[];
  static const ::google::protobuf::uint32 offsets[];
  static const ::google::protobuf::internal::FieldMetadata field_metadata[];
  static const ::google::protobuf::internal::SerializationTable serialization_table[];
  static void InitDefaultsImpl();
};
void AddDescriptors();
void InitDefaults();
}  // namespace protobuf_CoreDump_2eproto

// ===================================================================

class Metadata : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.devtools.protobuf.Metadata) */ {
 public:
  Metadata();
  virtual ~Metadata();

  Metadata(const Metadata& from);

  inline Metadata& operator=(const Metadata& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  Metadata(Metadata&& from) noexcept
    : Metadata() {
    *this = ::std::move(from);
  }

  inline Metadata& operator=(Metadata&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const Metadata& default_instance();

  static inline const Metadata* internal_default_instance() {
    return reinterpret_cast<const Metadata*>(
               &_Metadata_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    0;

  void Swap(Metadata* other);
  friend void swap(Metadata& a, Metadata& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline Metadata* New() const PROTOBUF_FINAL { return New(NULL); }

  Metadata* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const Metadata& from);
  void MergeFrom(const Metadata& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(Metadata* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // optional uint64 timeStamp = 1;
  bool has_timestamp() const;
  void clear_timestamp();
  static const int kTimeStampFieldNumber = 1;
  ::google::protobuf::uint64 timestamp() const;
  void set_timestamp(::google::protobuf::uint64 value);

  // @@protoc_insertion_point(class_scope:mozilla.devtools.protobuf.Metadata)
 private:
  void set_has_timestamp();
  void clear_has_timestamp();

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::uint64 timestamp_;
  friend struct protobuf_CoreDump_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class StackFrame_Data : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.devtools.protobuf.StackFrame.Data) */ {
 public:
  StackFrame_Data();
  virtual ~StackFrame_Data();

  StackFrame_Data(const StackFrame_Data& from);

  inline StackFrame_Data& operator=(const StackFrame_Data& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  StackFrame_Data(StackFrame_Data&& from) noexcept
    : StackFrame_Data() {
    *this = ::std::move(from);
  }

  inline StackFrame_Data& operator=(StackFrame_Data&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const StackFrame_Data& default_instance();

  enum SourceOrRefCase {
    kSource = 5,
    kSourceRef = 6,
    SOURCEORREF_NOT_SET = 0,
  };

  enum FunctionDisplayNameOrRefCase {
    kFunctionDisplayName = 7,
    kFunctionDisplayNameRef = 8,
    FUNCTIONDISPLAYNAMEORREF_NOT_SET = 0,
  };

  static inline const StackFrame_Data* internal_default_instance() {
    return reinterpret_cast<const StackFrame_Data*>(
               &_StackFrame_Data_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    1;

  void Swap(StackFrame_Data* other);
  friend void swap(StackFrame_Data& a, StackFrame_Data& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline StackFrame_Data* New() const PROTOBUF_FINAL { return New(NULL); }

  StackFrame_Data* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const StackFrame_Data& from);
  void MergeFrom(const StackFrame_Data& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(StackFrame_Data* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // optional .mozilla.devtools.protobuf.StackFrame parent = 2;
  bool has_parent() const;
  void clear_parent();
  static const int kParentFieldNumber = 2;
  const ::mozilla::devtools::protobuf::StackFrame& parent() const;
  ::mozilla::devtools::protobuf::StackFrame* mutable_parent();
  ::mozilla::devtools::protobuf::StackFrame* release_parent();
  void set_allocated_parent(::mozilla::devtools::protobuf::StackFrame* parent);

  // optional uint64 id = 1;
  bool has_id() const;
  void clear_id();
  static const int kIdFieldNumber = 1;
  ::google::protobuf::uint64 id() const;
  void set_id(::google::protobuf::uint64 value);

  // optional uint32 line = 3;
  bool has_line() const;
  void clear_line();
  static const int kLineFieldNumber = 3;
  ::google::protobuf::uint32 line() const;
  void set_line(::google::protobuf::uint32 value);

  // optional uint32 column = 4;
  bool has_column() const;
  void clear_column();
  static const int kColumnFieldNumber = 4;
  ::google::protobuf::uint32 column() const;
  void set_column(::google::protobuf::uint32 value);

  // optional bool isSystem = 9;
  bool has_issystem() const;
  void clear_issystem();
  static const int kIsSystemFieldNumber = 9;
  bool issystem() const;
  void set_issystem(bool value);

  // optional bool isSelfHosted = 10;
  bool has_isselfhosted() const;
  void clear_isselfhosted();
  static const int kIsSelfHostedFieldNumber = 10;
  bool isselfhosted() const;
  void set_isselfhosted(bool value);

  // optional bytes source = 5;
  bool has_source() const;
  void clear_source();
  static const int kSourceFieldNumber = 5;
  const ::std::string& source() const;
  void set_source(const ::std::string& value);
  #if LANG_CXX11
  void set_source(::std::string&& value);
  #endif
  void set_source(const char* value);
  void set_source(const void* value, size_t size);
  ::std::string* mutable_source();
  ::std::string* release_source();
  void set_allocated_source(::std::string* source);

  // optional uint64 sourceRef = 6;
  bool has_sourceref() const;
  void clear_sourceref();
  static const int kSourceRefFieldNumber = 6;
  ::google::protobuf::uint64 sourceref() const;
  void set_sourceref(::google::protobuf::uint64 value);

  // optional bytes functionDisplayName = 7;
  bool has_functiondisplayname() const;
  void clear_functiondisplayname();
  static const int kFunctionDisplayNameFieldNumber = 7;
  const ::std::string& functiondisplayname() const;
  void set_functiondisplayname(const ::std::string& value);
  #if LANG_CXX11
  void set_functiondisplayname(::std::string&& value);
  #endif
  void set_functiondisplayname(const char* value);
  void set_functiondisplayname(const void* value, size_t size);
  ::std::string* mutable_functiondisplayname();
  ::std::string* release_functiondisplayname();
  void set_allocated_functiondisplayname(::std::string* functiondisplayname);

  // optional uint64 functionDisplayNameRef = 8;
  bool has_functiondisplaynameref() const;
  void clear_functiondisplaynameref();
  static const int kFunctionDisplayNameRefFieldNumber = 8;
  ::google::protobuf::uint64 functiondisplaynameref() const;
  void set_functiondisplaynameref(::google::protobuf::uint64 value);

  SourceOrRefCase SourceOrRef_case() const;
  FunctionDisplayNameOrRefCase FunctionDisplayNameOrRef_case() const;
  // @@protoc_insertion_point(class_scope:mozilla.devtools.protobuf.StackFrame.Data)
 private:
  void set_has_id();
  void clear_has_id();
  void set_has_parent();
  void clear_has_parent();
  void set_has_line();
  void clear_has_line();
  void set_has_column();
  void clear_has_column();
  void set_has_source();
  void set_has_sourceref();
  void set_has_functiondisplayname();
  void set_has_functiondisplaynameref();
  void set_has_issystem();
  void clear_has_issystem();
  void set_has_isselfhosted();
  void clear_has_isselfhosted();

  inline bool has_SourceOrRef() const;
  void clear_SourceOrRef();
  inline void clear_has_SourceOrRef();

  inline bool has_FunctionDisplayNameOrRef() const;
  void clear_FunctionDisplayNameOrRef();
  inline void clear_has_FunctionDisplayNameOrRef();

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::mozilla::devtools::protobuf::StackFrame* parent_;
  ::google::protobuf::uint64 id_;
  ::google::protobuf::uint32 line_;
  ::google::protobuf::uint32 column_;
  bool issystem_;
  bool isselfhosted_;
  union SourceOrRefUnion {
    SourceOrRefUnion() {}
    ::google::protobuf::internal::ArenaStringPtr source_;
    ::google::protobuf::uint64 sourceref_;
  } SourceOrRef_;
  union FunctionDisplayNameOrRefUnion {
    FunctionDisplayNameOrRefUnion() {}
    ::google::protobuf::internal::ArenaStringPtr functiondisplayname_;
    ::google::protobuf::uint64 functiondisplaynameref_;
  } FunctionDisplayNameOrRef_;
  ::google::protobuf::uint32 _oneof_case_[2];

  friend struct protobuf_CoreDump_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class StackFrame : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.devtools.protobuf.StackFrame) */ {
 public:
  StackFrame();
  virtual ~StackFrame();

  StackFrame(const StackFrame& from);

  inline StackFrame& operator=(const StackFrame& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  StackFrame(StackFrame&& from) noexcept
    : StackFrame() {
    *this = ::std::move(from);
  }

  inline StackFrame& operator=(StackFrame&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const StackFrame& default_instance();

  enum StackFrameTypeCase {
    kData = 1,
    kRef = 2,
    STACKFRAMETYPE_NOT_SET = 0,
  };

  static inline const StackFrame* internal_default_instance() {
    return reinterpret_cast<const StackFrame*>(
               &_StackFrame_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    2;

  void Swap(StackFrame* other);
  friend void swap(StackFrame& a, StackFrame& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline StackFrame* New() const PROTOBUF_FINAL { return New(NULL); }

  StackFrame* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const StackFrame& from);
  void MergeFrom(const StackFrame& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(StackFrame* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  typedef StackFrame_Data Data;

  // accessors -------------------------------------------------------

  // optional .mozilla.devtools.protobuf.StackFrame.Data data = 1;
  bool has_data() const;
  void clear_data();
  static const int kDataFieldNumber = 1;
  const ::mozilla::devtools::protobuf::StackFrame_Data& data() const;
  ::mozilla::devtools::protobuf::StackFrame_Data* mutable_data();
  ::mozilla::devtools::protobuf::StackFrame_Data* release_data();
  void set_allocated_data(::mozilla::devtools::protobuf::StackFrame_Data* data);

  // optional uint64 ref = 2;
  bool has_ref() const;
  void clear_ref();
  static const int kRefFieldNumber = 2;
  ::google::protobuf::uint64 ref() const;
  void set_ref(::google::protobuf::uint64 value);

  StackFrameTypeCase StackFrameType_case() const;
  // @@protoc_insertion_point(class_scope:mozilla.devtools.protobuf.StackFrame)
 private:
  void set_has_data();
  void set_has_ref();

  inline bool has_StackFrameType() const;
  void clear_StackFrameType();
  inline void clear_has_StackFrameType();

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  union StackFrameTypeUnion {
    StackFrameTypeUnion() {}
    ::mozilla::devtools::protobuf::StackFrame_Data* data_;
    ::google::protobuf::uint64 ref_;
  } StackFrameType_;
  ::google::protobuf::uint32 _oneof_case_[1];

  friend struct protobuf_CoreDump_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class Node : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.devtools.protobuf.Node) */ {
 public:
  Node();
  virtual ~Node();

  Node(const Node& from);

  inline Node& operator=(const Node& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  Node(Node&& from) noexcept
    : Node() {
    *this = ::std::move(from);
  }

  inline Node& operator=(Node&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const Node& default_instance();

  enum TypeNameOrRefCase {
    kTypeName = 2,
    kTypeNameRef = 3,
    TYPENAMEORREF_NOT_SET = 0,
  };

  enum JSObjectClassNameOrRefCase {
    kJsObjectClassName = 7,
    kJsObjectClassNameRef = 8,
    JSOBJECTCLASSNAMEORREF_NOT_SET = 0,
  };

  enum ScriptFilenameOrRefCase {
    kScriptFilename = 10,
    kScriptFilenameRef = 11,
    SCRIPTFILENAMEORREF_NOT_SET = 0,
  };

  static inline const Node* internal_default_instance() {
    return reinterpret_cast<const Node*>(
               &_Node_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    3;

  void Swap(Node* other);
  friend void swap(Node& a, Node& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline Node* New() const PROTOBUF_FINAL { return New(NULL); }

  Node* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const Node& from);
  void MergeFrom(const Node& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(Node* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // repeated .mozilla.devtools.protobuf.Edge edges = 5;
  int edges_size() const;
  void clear_edges();
  static const int kEdgesFieldNumber = 5;
  const ::mozilla::devtools::protobuf::Edge& edges(int index) const;
  ::mozilla::devtools::protobuf::Edge* mutable_edges(int index);
  ::mozilla::devtools::protobuf::Edge* add_edges();
  ::google::protobuf::RepeatedPtrField< ::mozilla::devtools::protobuf::Edge >*
      mutable_edges();
  const ::google::protobuf::RepeatedPtrField< ::mozilla::devtools::protobuf::Edge >&
      edges() const;

  // optional .mozilla.devtools.protobuf.StackFrame allocationStack = 6;
  bool has_allocationstack() const;
  void clear_allocationstack();
  static const int kAllocationStackFieldNumber = 6;
  const ::mozilla::devtools::protobuf::StackFrame& allocationstack() const;
  ::mozilla::devtools::protobuf::StackFrame* mutable_allocationstack();
  ::mozilla::devtools::protobuf::StackFrame* release_allocationstack();
  void set_allocated_allocationstack(::mozilla::devtools::protobuf::StackFrame* allocationstack);

  // optional uint64 id = 1;
  bool has_id() const;
  void clear_id();
  static const int kIdFieldNumber = 1;
  ::google::protobuf::uint64 id() const;
  void set_id(::google::protobuf::uint64 value);

  // optional uint64 size = 4;
  bool has_size() const;
  void clear_size();
  static const int kSizeFieldNumber = 4;
  ::google::protobuf::uint64 size() const;
  void set_size(::google::protobuf::uint64 value);

  // optional uint32 coarseType = 9 [default = 0];
  bool has_coarsetype() const;
  void clear_coarsetype();
  static const int kCoarseTypeFieldNumber = 9;
  ::google::protobuf::uint32 coarsetype() const;
  void set_coarsetype(::google::protobuf::uint32 value);

  // optional bytes typeName = 2;
  bool has_typename_() const;
  void clear_typename_();
  static const int kTypeNameFieldNumber = 2;
  const ::std::string& typename_() const;
  void set_typename_(const ::std::string& value);
  #if LANG_CXX11
  void set_typename_(::std::string&& value);
  #endif
  void set_typename_(const char* value);
  void set_typename_(const void* value, size_t size);
  ::std::string* mutable_typename_();
  ::std::string* release_typename_();
  void set_allocated_typename_(::std::string* typename_);

  // optional uint64 typeNameRef = 3;
  bool has_typenameref() const;
  void clear_typenameref();
  static const int kTypeNameRefFieldNumber = 3;
  ::google::protobuf::uint64 typenameref() const;
  void set_typenameref(::google::protobuf::uint64 value);

  // optional bytes jsObjectClassName = 7;
  bool has_jsobjectclassname() const;
  void clear_jsobjectclassname();
  static const int kJsObjectClassNameFieldNumber = 7;
  const ::std::string& jsobjectclassname() const;
  void set_jsobjectclassname(const ::std::string& value);
  #if LANG_CXX11
  void set_jsobjectclassname(::std::string&& value);
  #endif
  void set_jsobjectclassname(const char* value);
  void set_jsobjectclassname(const void* value, size_t size);
  ::std::string* mutable_jsobjectclassname();
  ::std::string* release_jsobjectclassname();
  void set_allocated_jsobjectclassname(::std::string* jsobjectclassname);

  // optional uint64 jsObjectClassNameRef = 8;
  bool has_jsobjectclassnameref() const;
  void clear_jsobjectclassnameref();
  static const int kJsObjectClassNameRefFieldNumber = 8;
  ::google::protobuf::uint64 jsobjectclassnameref() const;
  void set_jsobjectclassnameref(::google::protobuf::uint64 value);

  // optional bytes scriptFilename = 10;
  bool has_scriptfilename() const;
  void clear_scriptfilename();
  static const int kScriptFilenameFieldNumber = 10;
  const ::std::string& scriptfilename() const;
  void set_scriptfilename(const ::std::string& value);
  #if LANG_CXX11
  void set_scriptfilename(::std::string&& value);
  #endif
  void set_scriptfilename(const char* value);
  void set_scriptfilename(const void* value, size_t size);
  ::std::string* mutable_scriptfilename();
  ::std::string* release_scriptfilename();
  void set_allocated_scriptfilename(::std::string* scriptfilename);

  // optional uint64 scriptFilenameRef = 11;
  bool has_scriptfilenameref() const;
  void clear_scriptfilenameref();
  static const int kScriptFilenameRefFieldNumber = 11;
  ::google::protobuf::uint64 scriptfilenameref() const;
  void set_scriptfilenameref(::google::protobuf::uint64 value);

  TypeNameOrRefCase TypeNameOrRef_case() const;
  JSObjectClassNameOrRefCase JSObjectClassNameOrRef_case() const;
  ScriptFilenameOrRefCase ScriptFilenameOrRef_case() const;
  // @@protoc_insertion_point(class_scope:mozilla.devtools.protobuf.Node)
 private:
  void set_has_id();
  void clear_has_id();
  void set_has_typename_();
  void set_has_typenameref();
  void set_has_size();
  void clear_has_size();
  void set_has_allocationstack();
  void clear_has_allocationstack();
  void set_has_jsobjectclassname();
  void set_has_jsobjectclassnameref();
  void set_has_coarsetype();
  void clear_has_coarsetype();
  void set_has_scriptfilename();
  void set_has_scriptfilenameref();

  inline bool has_TypeNameOrRef() const;
  void clear_TypeNameOrRef();
  inline void clear_has_TypeNameOrRef();

  inline bool has_JSObjectClassNameOrRef() const;
  void clear_JSObjectClassNameOrRef();
  inline void clear_has_JSObjectClassNameOrRef();

  inline bool has_ScriptFilenameOrRef() const;
  void clear_ScriptFilenameOrRef();
  inline void clear_has_ScriptFilenameOrRef();

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::RepeatedPtrField< ::mozilla::devtools::protobuf::Edge > edges_;
  ::mozilla::devtools::protobuf::StackFrame* allocationstack_;
  ::google::protobuf::uint64 id_;
  ::google::protobuf::uint64 size_;
  ::google::protobuf::uint32 coarsetype_;
  union TypeNameOrRefUnion {
    TypeNameOrRefUnion() {}
    ::google::protobuf::internal::ArenaStringPtr typename__;
    ::google::protobuf::uint64 typenameref_;
  } TypeNameOrRef_;
  union JSObjectClassNameOrRefUnion {
    JSObjectClassNameOrRefUnion() {}
    ::google::protobuf::internal::ArenaStringPtr jsobjectclassname_;
    ::google::protobuf::uint64 jsobjectclassnameref_;
  } JSObjectClassNameOrRef_;
  union ScriptFilenameOrRefUnion {
    ScriptFilenameOrRefUnion() {}
    ::google::protobuf::internal::ArenaStringPtr scriptfilename_;
    ::google::protobuf::uint64 scriptfilenameref_;
  } ScriptFilenameOrRef_;
  ::google::protobuf::uint32 _oneof_case_[3];

  friend struct protobuf_CoreDump_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class Edge : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:mozilla.devtools.protobuf.Edge) */ {
 public:
  Edge();
  virtual ~Edge();

  Edge(const Edge& from);

  inline Edge& operator=(const Edge& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  Edge(Edge&& from) noexcept
    : Edge() {
    *this = ::std::move(from);
  }

  inline Edge& operator=(Edge&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const Edge& default_instance();

  enum EdgeNameOrRefCase {
    kName = 2,
    kNameRef = 3,
    EDGENAMEORREF_NOT_SET = 0,
  };

  static inline const Edge* internal_default_instance() {
    return reinterpret_cast<const Edge*>(
               &_Edge_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    4;

  void Swap(Edge* other);
  friend void swap(Edge& a, Edge& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline Edge* New() const PROTOBUF_FINAL { return New(NULL); }

  Edge* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from)
    PROTOBUF_FINAL;
  void CopyFrom(const Edge& from);
  void MergeFrom(const Edge& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  void DiscardUnknownFields();
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(Edge* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::std::string GetTypeName() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // optional uint64 referent = 1;
  bool has_referent() const;
  void clear_referent();
  static const int kReferentFieldNumber = 1;
  ::google::protobuf::uint64 referent() const;
  void set_referent(::google::protobuf::uint64 value);

  // optional bytes name = 2;
  bool has_name() const;
  void clear_name();
  static const int kNameFieldNumber = 2;
  const ::std::string& name() const;
  void set_name(const ::std::string& value);
  #if LANG_CXX11
  void set_name(::std::string&& value);
  #endif
  void set_name(const char* value);
  void set_name(const void* value, size_t size);
  ::std::string* mutable_name();
  ::std::string* release_name();
  void set_allocated_name(::std::string* name);

  // optional uint64 nameRef = 3;
  bool has_nameref() const;
  void clear_nameref();
  static const int kNameRefFieldNumber = 3;
  ::google::protobuf::uint64 nameref() const;
  void set_nameref(::google::protobuf::uint64 value);

  EdgeNameOrRefCase EdgeNameOrRef_case() const;
  // @@protoc_insertion_point(class_scope:mozilla.devtools.protobuf.Edge)
 private:
  void set_has_referent();
  void clear_has_referent();
  void set_has_name();
  void set_has_nameref();

  inline bool has_EdgeNameOrRef() const;
  void clear_EdgeNameOrRef();
  inline void clear_has_EdgeNameOrRef();

  ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::uint64 referent_;
  union EdgeNameOrRefUnion {
    EdgeNameOrRefUnion() {}
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::google::protobuf::uint64 nameref_;
  } EdgeNameOrRef_;
  ::google::protobuf::uint32 _oneof_case_[1];

  friend struct protobuf_CoreDump_2eproto::TableStruct;
};
// ===================================================================


// ===================================================================

#if !PROTOBUF_INLINE_NOT_IN_HEADERS
#ifdef __GNUC__
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// Metadata

// optional uint64 timeStamp = 1;
inline bool Metadata::has_timestamp() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Metadata::set_has_timestamp() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Metadata::clear_has_timestamp() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Metadata::clear_timestamp() {
  timestamp_ = GOOGLE_ULONGLONG(0);
  clear_has_timestamp();
}
inline ::google::protobuf::uint64 Metadata::timestamp() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.Metadata.timeStamp)
  return timestamp_;
}
inline void Metadata::set_timestamp(::google::protobuf::uint64 value) {
  set_has_timestamp();
  timestamp_ = value;
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Metadata.timeStamp)
}

// -------------------------------------------------------------------

// StackFrame_Data

// optional uint64 id = 1;
inline bool StackFrame_Data::has_id() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void StackFrame_Data::set_has_id() {
  _has_bits_[0] |= 0x00000002u;
}
inline void StackFrame_Data::clear_has_id() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void StackFrame_Data::clear_id() {
  id_ = GOOGLE_ULONGLONG(0);
  clear_has_id();
}
inline ::google::protobuf::uint64 StackFrame_Data::id() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.StackFrame.Data.id)
  return id_;
}
inline void StackFrame_Data::set_id(::google::protobuf::uint64 value) {
  set_has_id();
  id_ = value;
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.StackFrame.Data.id)
}

// optional .mozilla.devtools.protobuf.StackFrame parent = 2;
inline bool StackFrame_Data::has_parent() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void StackFrame_Data::set_has_parent() {
  _has_bits_[0] |= 0x00000001u;
}
inline void StackFrame_Data::clear_has_parent() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void StackFrame_Data::clear_parent() {
  if (parent_ != NULL) parent_->::mozilla::devtools::protobuf::StackFrame::Clear();
  clear_has_parent();
}
inline const ::mozilla::devtools::protobuf::StackFrame& StackFrame_Data::parent() const {
  const ::mozilla::devtools::protobuf::StackFrame* p = parent_;
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.StackFrame.Data.parent)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::devtools::protobuf::StackFrame*>(
      &::mozilla::devtools::protobuf::_StackFrame_default_instance_);
}
inline ::mozilla::devtools::protobuf::StackFrame* StackFrame_Data::mutable_parent() {
  set_has_parent();
  if (parent_ == NULL) {
    parent_ = new ::mozilla::devtools::protobuf::StackFrame;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.devtools.protobuf.StackFrame.Data.parent)
  return parent_;
}
inline ::mozilla::devtools::protobuf::StackFrame* StackFrame_Data::release_parent() {
  // @@protoc_insertion_point(field_release:mozilla.devtools.protobuf.StackFrame.Data.parent)
  clear_has_parent();
  ::mozilla::devtools::protobuf::StackFrame* temp = parent_;
  parent_ = NULL;
  return temp;
}
inline void StackFrame_Data::set_allocated_parent(::mozilla::devtools::protobuf::StackFrame* parent) {
  delete parent_;
  parent_ = parent;
  if (parent) {
    set_has_parent();
  } else {
    clear_has_parent();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.devtools.protobuf.StackFrame.Data.parent)
}

// optional uint32 line = 3;
inline bool StackFrame_Data::has_line() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void StackFrame_Data::set_has_line() {
  _has_bits_[0] |= 0x00000004u;
}
inline void StackFrame_Data::clear_has_line() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void StackFrame_Data::clear_line() {
  line_ = 0u;
  clear_has_line();
}
inline ::google::protobuf::uint32 StackFrame_Data::line() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.StackFrame.Data.line)
  return line_;
}
inline void StackFrame_Data::set_line(::google::protobuf::uint32 value) {
  set_has_line();
  line_ = value;
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.StackFrame.Data.line)
}

// optional uint32 column = 4;
inline bool StackFrame_Data::has_column() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void StackFrame_Data::set_has_column() {
  _has_bits_[0] |= 0x00000008u;
}
inline void StackFrame_Data::clear_has_column() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void StackFrame_Data::clear_column() {
  column_ = 0u;
  clear_has_column();
}
inline ::google::protobuf::uint32 StackFrame_Data::column() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.StackFrame.Data.column)
  return column_;
}
inline void StackFrame_Data::set_column(::google::protobuf::uint32 value) {
  set_has_column();
  column_ = value;
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.StackFrame.Data.column)
}

// optional bytes source = 5;
inline bool StackFrame_Data::has_source() const {
  return SourceOrRef_case() == kSource;
}
inline void StackFrame_Data::set_has_source() {
  _oneof_case_[0] = kSource;
}
inline void StackFrame_Data::clear_source() {
  if (has_source()) {
    SourceOrRef_.source_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    clear_has_SourceOrRef();
  }
}
inline const ::std::string& StackFrame_Data::source() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.StackFrame.Data.source)
  if (has_source()) {
    return SourceOrRef_.source_.GetNoArena();
  }
  return *&::google::protobuf::internal::GetEmptyStringAlreadyInited();
}
inline void StackFrame_Data::set_source(const ::std::string& value) {
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.StackFrame.Data.source)
  if (!has_source()) {
    clear_SourceOrRef();
    set_has_source();
    SourceOrRef_.source_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  SourceOrRef_.source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.StackFrame.Data.source)
}
#if LANG_CXX11
inline void StackFrame_Data::set_source(::std::string&& value) {
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.StackFrame.Data.source)
  if (!has_source()) {
    clear_SourceOrRef();
    set_has_source();
    SourceOrRef_.source_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  SourceOrRef_.source_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:mozilla.devtools.protobuf.StackFrame.Data.source)
}
#endif
inline void StackFrame_Data::set_source(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  if (!has_source()) {
    clear_SourceOrRef();
    set_has_source();
    SourceOrRef_.source_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  SourceOrRef_.source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(value));
  // @@protoc_insertion_point(field_set_char:mozilla.devtools.protobuf.StackFrame.Data.source)
}
inline void StackFrame_Data::set_source(const void* value, size_t size) {
  if (!has_source()) {
    clear_SourceOrRef();
    set_has_source();
    SourceOrRef_.source_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  SourceOrRef_.source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(
      reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:mozilla.devtools.protobuf.StackFrame.Data.source)
}
inline ::std::string* StackFrame_Data::mutable_source() {
  if (!has_source()) {
    clear_SourceOrRef();
    set_has_source();
    SourceOrRef_.source_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_mutable:mozilla.devtools.protobuf.StackFrame.Data.source)
  return SourceOrRef_.source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* StackFrame_Data::release_source() {
  // @@protoc_insertion_point(field_release:mozilla.devtools.protobuf.StackFrame.Data.source)
  if (has_source()) {
    clear_has_SourceOrRef();
    return SourceOrRef_.source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  } else {
    return NULL;
  }
}
inline void StackFrame_Data::set_allocated_source(::std::string* source) {
  if (!has_source()) {
    SourceOrRef_.source_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  clear_SourceOrRef();
  if (source != NULL) {
    set_has_source();
    SourceOrRef_.source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        source);
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.devtools.protobuf.StackFrame.Data.source)
}

// optional uint64 sourceRef = 6;
inline bool StackFrame_Data::has_sourceref() const {
  return SourceOrRef_case() == kSourceRef;
}
inline void StackFrame_Data::set_has_sourceref() {
  _oneof_case_[0] = kSourceRef;
}
inline void StackFrame_Data::clear_sourceref() {
  if (has_sourceref()) {
    SourceOrRef_.sourceref_ = GOOGLE_ULONGLONG(0);
    clear_has_SourceOrRef();
  }
}
inline ::google::protobuf::uint64 StackFrame_Data::sourceref() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.StackFrame.Data.sourceRef)
  if (has_sourceref()) {
    return SourceOrRef_.sourceref_;
  }
  return GOOGLE_ULONGLONG(0);
}
inline void StackFrame_Data::set_sourceref(::google::protobuf::uint64 value) {
  if (!has_sourceref()) {
    clear_SourceOrRef();
    set_has_sourceref();
  }
  SourceOrRef_.sourceref_ = value;
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.StackFrame.Data.sourceRef)
}

// optional bytes functionDisplayName = 7;
inline bool StackFrame_Data::has_functiondisplayname() const {
  return FunctionDisplayNameOrRef_case() == kFunctionDisplayName;
}
inline void StackFrame_Data::set_has_functiondisplayname() {
  _oneof_case_[1] = kFunctionDisplayName;
}
inline void StackFrame_Data::clear_functiondisplayname() {
  if (has_functiondisplayname()) {
    FunctionDisplayNameOrRef_.functiondisplayname_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    clear_has_FunctionDisplayNameOrRef();
  }
}
inline const ::std::string& StackFrame_Data::functiondisplayname() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.StackFrame.Data.functionDisplayName)
  if (has_functiondisplayname()) {
    return FunctionDisplayNameOrRef_.functiondisplayname_.GetNoArena();
  }
  return *&::google::protobuf::internal::GetEmptyStringAlreadyInited();
}
inline void StackFrame_Data::set_functiondisplayname(const ::std::string& value) {
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.StackFrame.Data.functionDisplayName)
  if (!has_functiondisplayname()) {
    clear_FunctionDisplayNameOrRef();
    set_has_functiondisplayname();
    FunctionDisplayNameOrRef_.functiondisplayname_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  FunctionDisplayNameOrRef_.functiondisplayname_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.StackFrame.Data.functionDisplayName)
}
#if LANG_CXX11
inline void StackFrame_Data::set_functiondisplayname(::std::string&& value) {
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.StackFrame.Data.functionDisplayName)
  if (!has_functiondisplayname()) {
    clear_FunctionDisplayNameOrRef();
    set_has_functiondisplayname();
    FunctionDisplayNameOrRef_.functiondisplayname_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  FunctionDisplayNameOrRef_.functiondisplayname_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:mozilla.devtools.protobuf.StackFrame.Data.functionDisplayName)
}
#endif
inline void StackFrame_Data::set_functiondisplayname(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  if (!has_functiondisplayname()) {
    clear_FunctionDisplayNameOrRef();
    set_has_functiondisplayname();
    FunctionDisplayNameOrRef_.functiondisplayname_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  FunctionDisplayNameOrRef_.functiondisplayname_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(value));
  // @@protoc_insertion_point(field_set_char:mozilla.devtools.protobuf.StackFrame.Data.functionDisplayName)
}
inline void StackFrame_Data::set_functiondisplayname(const void* value, size_t size) {
  if (!has_functiondisplayname()) {
    clear_FunctionDisplayNameOrRef();
    set_has_functiondisplayname();
    FunctionDisplayNameOrRef_.functiondisplayname_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  FunctionDisplayNameOrRef_.functiondisplayname_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(
      reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:mozilla.devtools.protobuf.StackFrame.Data.functionDisplayName)
}
inline ::std::string* StackFrame_Data::mutable_functiondisplayname() {
  if (!has_functiondisplayname()) {
    clear_FunctionDisplayNameOrRef();
    set_has_functiondisplayname();
    FunctionDisplayNameOrRef_.functiondisplayname_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_mutable:mozilla.devtools.protobuf.StackFrame.Data.functionDisplayName)
  return FunctionDisplayNameOrRef_.functiondisplayname_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* StackFrame_Data::release_functiondisplayname() {
  // @@protoc_insertion_point(field_release:mozilla.devtools.protobuf.StackFrame.Data.functionDisplayName)
  if (has_functiondisplayname()) {
    clear_has_FunctionDisplayNameOrRef();
    return FunctionDisplayNameOrRef_.functiondisplayname_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  } else {
    return NULL;
  }
}
inline void StackFrame_Data::set_allocated_functiondisplayname(::std::string* functiondisplayname) {
  if (!has_functiondisplayname()) {
    FunctionDisplayNameOrRef_.functiondisplayname_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  clear_FunctionDisplayNameOrRef();
  if (functiondisplayname != NULL) {
    set_has_functiondisplayname();
    FunctionDisplayNameOrRef_.functiondisplayname_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        functiondisplayname);
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.devtools.protobuf.StackFrame.Data.functionDisplayName)
}

// optional uint64 functionDisplayNameRef = 8;
inline bool StackFrame_Data::has_functiondisplaynameref() const {
  return FunctionDisplayNameOrRef_case() == kFunctionDisplayNameRef;
}
inline void StackFrame_Data::set_has_functiondisplaynameref() {
  _oneof_case_[1] = kFunctionDisplayNameRef;
}
inline void StackFrame_Data::clear_functiondisplaynameref() {
  if (has_functiondisplaynameref()) {
    FunctionDisplayNameOrRef_.functiondisplaynameref_ = GOOGLE_ULONGLONG(0);
    clear_has_FunctionDisplayNameOrRef();
  }
}
inline ::google::protobuf::uint64 StackFrame_Data::functiondisplaynameref() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.StackFrame.Data.functionDisplayNameRef)
  if (has_functiondisplaynameref()) {
    return FunctionDisplayNameOrRef_.functiondisplaynameref_;
  }
  return GOOGLE_ULONGLONG(0);
}
inline void StackFrame_Data::set_functiondisplaynameref(::google::protobuf::uint64 value) {
  if (!has_functiondisplaynameref()) {
    clear_FunctionDisplayNameOrRef();
    set_has_functiondisplaynameref();
  }
  FunctionDisplayNameOrRef_.functiondisplaynameref_ = value;
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.StackFrame.Data.functionDisplayNameRef)
}

// optional bool isSystem = 9;
inline bool StackFrame_Data::has_issystem() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void StackFrame_Data::set_has_issystem() {
  _has_bits_[0] |= 0x00000010u;
}
inline void StackFrame_Data::clear_has_issystem() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void StackFrame_Data::clear_issystem() {
  issystem_ = false;
  clear_has_issystem();
}
inline bool StackFrame_Data::issystem() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.StackFrame.Data.isSystem)
  return issystem_;
}
inline void StackFrame_Data::set_issystem(bool value) {
  set_has_issystem();
  issystem_ = value;
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.StackFrame.Data.isSystem)
}

// optional bool isSelfHosted = 10;
inline bool StackFrame_Data::has_isselfhosted() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void StackFrame_Data::set_has_isselfhosted() {
  _has_bits_[0] |= 0x00000020u;
}
inline void StackFrame_Data::clear_has_isselfhosted() {
  _has_bits_[0] &= ~0x00000020u;
}
inline void StackFrame_Data::clear_isselfhosted() {
  isselfhosted_ = false;
  clear_has_isselfhosted();
}
inline bool StackFrame_Data::isselfhosted() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.StackFrame.Data.isSelfHosted)
  return isselfhosted_;
}
inline void StackFrame_Data::set_isselfhosted(bool value) {
  set_has_isselfhosted();
  isselfhosted_ = value;
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.StackFrame.Data.isSelfHosted)
}

inline bool StackFrame_Data::has_SourceOrRef() const {
  return SourceOrRef_case() != SOURCEORREF_NOT_SET;
}
inline void StackFrame_Data::clear_has_SourceOrRef() {
  _oneof_case_[0] = SOURCEORREF_NOT_SET;
}
inline bool StackFrame_Data::has_FunctionDisplayNameOrRef() const {
  return FunctionDisplayNameOrRef_case() != FUNCTIONDISPLAYNAMEORREF_NOT_SET;
}
inline void StackFrame_Data::clear_has_FunctionDisplayNameOrRef() {
  _oneof_case_[1] = FUNCTIONDISPLAYNAMEORREF_NOT_SET;
}
inline StackFrame_Data::SourceOrRefCase StackFrame_Data::SourceOrRef_case() const {
  return StackFrame_Data::SourceOrRefCase(_oneof_case_[0]);
}
inline StackFrame_Data::FunctionDisplayNameOrRefCase StackFrame_Data::FunctionDisplayNameOrRef_case() const {
  return StackFrame_Data::FunctionDisplayNameOrRefCase(_oneof_case_[1]);
}
// -------------------------------------------------------------------

// StackFrame

// optional .mozilla.devtools.protobuf.StackFrame.Data data = 1;
inline bool StackFrame::has_data() const {
  return StackFrameType_case() == kData;
}
inline void StackFrame::set_has_data() {
  _oneof_case_[0] = kData;
}
inline void StackFrame::clear_data() {
  if (has_data()) {
    delete StackFrameType_.data_;
    clear_has_StackFrameType();
  }
}
inline  const ::mozilla::devtools::protobuf::StackFrame_Data& StackFrame::data() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.StackFrame.data)
  return has_data()
      ? *StackFrameType_.data_
      : ::mozilla::devtools::protobuf::StackFrame_Data::default_instance();
}
inline ::mozilla::devtools::protobuf::StackFrame_Data* StackFrame::mutable_data() {
  if (!has_data()) {
    clear_StackFrameType();
    set_has_data();
    StackFrameType_.data_ = new ::mozilla::devtools::protobuf::StackFrame_Data;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.devtools.protobuf.StackFrame.data)
  return StackFrameType_.data_;
}
inline ::mozilla::devtools::protobuf::StackFrame_Data* StackFrame::release_data() {
  // @@protoc_insertion_point(field_release:mozilla.devtools.protobuf.StackFrame.data)
  if (has_data()) {
    clear_has_StackFrameType();
    ::mozilla::devtools::protobuf::StackFrame_Data* temp = StackFrameType_.data_;
    StackFrameType_.data_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
inline void StackFrame::set_allocated_data(::mozilla::devtools::protobuf::StackFrame_Data* data) {
  clear_StackFrameType();
  if (data) {
    set_has_data();
    StackFrameType_.data_ = data;
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.devtools.protobuf.StackFrame.data)
}

// optional uint64 ref = 2;
inline bool StackFrame::has_ref() const {
  return StackFrameType_case() == kRef;
}
inline void StackFrame::set_has_ref() {
  _oneof_case_[0] = kRef;
}
inline void StackFrame::clear_ref() {
  if (has_ref()) {
    StackFrameType_.ref_ = GOOGLE_ULONGLONG(0);
    clear_has_StackFrameType();
  }
}
inline ::google::protobuf::uint64 StackFrame::ref() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.StackFrame.ref)
  if (has_ref()) {
    return StackFrameType_.ref_;
  }
  return GOOGLE_ULONGLONG(0);
}
inline void StackFrame::set_ref(::google::protobuf::uint64 value) {
  if (!has_ref()) {
    clear_StackFrameType();
    set_has_ref();
  }
  StackFrameType_.ref_ = value;
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.StackFrame.ref)
}

inline bool StackFrame::has_StackFrameType() const {
  return StackFrameType_case() != STACKFRAMETYPE_NOT_SET;
}
inline void StackFrame::clear_has_StackFrameType() {
  _oneof_case_[0] = STACKFRAMETYPE_NOT_SET;
}
inline StackFrame::StackFrameTypeCase StackFrame::StackFrameType_case() const {
  return StackFrame::StackFrameTypeCase(_oneof_case_[0]);
}
// -------------------------------------------------------------------

// Node

// optional uint64 id = 1;
inline bool Node::has_id() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Node::set_has_id() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Node::clear_has_id() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void Node::clear_id() {
  id_ = GOOGLE_ULONGLONG(0);
  clear_has_id();
}
inline ::google::protobuf::uint64 Node::id() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.Node.id)
  return id_;
}
inline void Node::set_id(::google::protobuf::uint64 value) {
  set_has_id();
  id_ = value;
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Node.id)
}

// optional bytes typeName = 2;
inline bool Node::has_typename_() const {
  return TypeNameOrRef_case() == kTypeName;
}
inline void Node::set_has_typename_() {
  _oneof_case_[0] = kTypeName;
}
inline void Node::clear_typename_() {
  if (has_typename_()) {
    TypeNameOrRef_.typename__.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    clear_has_TypeNameOrRef();
  }
}
inline const ::std::string& Node::typename_() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.Node.typeName)
  if (has_typename_()) {
    return TypeNameOrRef_.typename__.GetNoArena();
  }
  return *&::google::protobuf::internal::GetEmptyStringAlreadyInited();
}
inline void Node::set_typename_(const ::std::string& value) {
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Node.typeName)
  if (!has_typename_()) {
    clear_TypeNameOrRef();
    set_has_typename_();
    TypeNameOrRef_.typename__.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  TypeNameOrRef_.typename__.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Node.typeName)
}
#if LANG_CXX11
inline void Node::set_typename_(::std::string&& value) {
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Node.typeName)
  if (!has_typename_()) {
    clear_TypeNameOrRef();
    set_has_typename_();
    TypeNameOrRef_.typename__.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  TypeNameOrRef_.typename__.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:mozilla.devtools.protobuf.Node.typeName)
}
#endif
inline void Node::set_typename_(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  if (!has_typename_()) {
    clear_TypeNameOrRef();
    set_has_typename_();
    TypeNameOrRef_.typename__.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  TypeNameOrRef_.typename__.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(value));
  // @@protoc_insertion_point(field_set_char:mozilla.devtools.protobuf.Node.typeName)
}
inline void Node::set_typename_(const void* value, size_t size) {
  if (!has_typename_()) {
    clear_TypeNameOrRef();
    set_has_typename_();
    TypeNameOrRef_.typename__.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  TypeNameOrRef_.typename__.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(
      reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:mozilla.devtools.protobuf.Node.typeName)
}
inline ::std::string* Node::mutable_typename_() {
  if (!has_typename_()) {
    clear_TypeNameOrRef();
    set_has_typename_();
    TypeNameOrRef_.typename__.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_mutable:mozilla.devtools.protobuf.Node.typeName)
  return TypeNameOrRef_.typename__.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* Node::release_typename_() {
  // @@protoc_insertion_point(field_release:mozilla.devtools.protobuf.Node.typeName)
  if (has_typename_()) {
    clear_has_TypeNameOrRef();
    return TypeNameOrRef_.typename__.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  } else {
    return NULL;
  }
}
inline void Node::set_allocated_typename_(::std::string* typename_) {
  if (!has_typename_()) {
    TypeNameOrRef_.typename__.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  clear_TypeNameOrRef();
  if (typename_ != NULL) {
    set_has_typename_();
    TypeNameOrRef_.typename__.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        typename_);
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.devtools.protobuf.Node.typeName)
}

// optional uint64 typeNameRef = 3;
inline bool Node::has_typenameref() const {
  return TypeNameOrRef_case() == kTypeNameRef;
}
inline void Node::set_has_typenameref() {
  _oneof_case_[0] = kTypeNameRef;
}
inline void Node::clear_typenameref() {
  if (has_typenameref()) {
    TypeNameOrRef_.typenameref_ = GOOGLE_ULONGLONG(0);
    clear_has_TypeNameOrRef();
  }
}
inline ::google::protobuf::uint64 Node::typenameref() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.Node.typeNameRef)
  if (has_typenameref()) {
    return TypeNameOrRef_.typenameref_;
  }
  return GOOGLE_ULONGLONG(0);
}
inline void Node::set_typenameref(::google::protobuf::uint64 value) {
  if (!has_typenameref()) {
    clear_TypeNameOrRef();
    set_has_typenameref();
  }
  TypeNameOrRef_.typenameref_ = value;
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Node.typeNameRef)
}

// optional uint64 size = 4;
inline bool Node::has_size() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void Node::set_has_size() {
  _has_bits_[0] |= 0x00000004u;
}
inline void Node::clear_has_size() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void Node::clear_size() {
  size_ = GOOGLE_ULONGLONG(0);
  clear_has_size();
}
inline ::google::protobuf::uint64 Node::size() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.Node.size)
  return size_;
}
inline void Node::set_size(::google::protobuf::uint64 value) {
  set_has_size();
  size_ = value;
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Node.size)
}

// repeated .mozilla.devtools.protobuf.Edge edges = 5;
inline int Node::edges_size() const {
  return edges_.size();
}
inline void Node::clear_edges() {
  edges_.Clear();
}
inline const ::mozilla::devtools::protobuf::Edge& Node::edges(int index) const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.Node.edges)
  return edges_.Get(index);
}
inline ::mozilla::devtools::protobuf::Edge* Node::mutable_edges(int index) {
  // @@protoc_insertion_point(field_mutable:mozilla.devtools.protobuf.Node.edges)
  return edges_.Mutable(index);
}
inline ::mozilla::devtools::protobuf::Edge* Node::add_edges() {
  // @@protoc_insertion_point(field_add:mozilla.devtools.protobuf.Node.edges)
  return edges_.Add();
}
inline ::google::protobuf::RepeatedPtrField< ::mozilla::devtools::protobuf::Edge >*
Node::mutable_edges() {
  // @@protoc_insertion_point(field_mutable_list:mozilla.devtools.protobuf.Node.edges)
  return &edges_;
}
inline const ::google::protobuf::RepeatedPtrField< ::mozilla::devtools::protobuf::Edge >&
Node::edges() const {
  // @@protoc_insertion_point(field_list:mozilla.devtools.protobuf.Node.edges)
  return edges_;
}

// optional .mozilla.devtools.protobuf.StackFrame allocationStack = 6;
inline bool Node::has_allocationstack() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Node::set_has_allocationstack() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Node::clear_has_allocationstack() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Node::clear_allocationstack() {
  if (allocationstack_ != NULL) allocationstack_->::mozilla::devtools::protobuf::StackFrame::Clear();
  clear_has_allocationstack();
}
inline const ::mozilla::devtools::protobuf::StackFrame& Node::allocationstack() const {
  const ::mozilla::devtools::protobuf::StackFrame* p = allocationstack_;
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.Node.allocationStack)
  return p != NULL ? *p : *reinterpret_cast<const ::mozilla::devtools::protobuf::StackFrame*>(
      &::mozilla::devtools::protobuf::_StackFrame_default_instance_);
}
inline ::mozilla::devtools::protobuf::StackFrame* Node::mutable_allocationstack() {
  set_has_allocationstack();
  if (allocationstack_ == NULL) {
    allocationstack_ = new ::mozilla::devtools::protobuf::StackFrame;
  }
  // @@protoc_insertion_point(field_mutable:mozilla.devtools.protobuf.Node.allocationStack)
  return allocationstack_;
}
inline ::mozilla::devtools::protobuf::StackFrame* Node::release_allocationstack() {
  // @@protoc_insertion_point(field_release:mozilla.devtools.protobuf.Node.allocationStack)
  clear_has_allocationstack();
  ::mozilla::devtools::protobuf::StackFrame* temp = allocationstack_;
  allocationstack_ = NULL;
  return temp;
}
inline void Node::set_allocated_allocationstack(::mozilla::devtools::protobuf::StackFrame* allocationstack) {
  delete allocationstack_;
  allocationstack_ = allocationstack;
  if (allocationstack) {
    set_has_allocationstack();
  } else {
    clear_has_allocationstack();
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.devtools.protobuf.Node.allocationStack)
}

// optional bytes jsObjectClassName = 7;
inline bool Node::has_jsobjectclassname() const {
  return JSObjectClassNameOrRef_case() == kJsObjectClassName;
}
inline void Node::set_has_jsobjectclassname() {
  _oneof_case_[1] = kJsObjectClassName;
}
inline void Node::clear_jsobjectclassname() {
  if (has_jsobjectclassname()) {
    JSObjectClassNameOrRef_.jsobjectclassname_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    clear_has_JSObjectClassNameOrRef();
  }
}
inline const ::std::string& Node::jsobjectclassname() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.Node.jsObjectClassName)
  if (has_jsobjectclassname()) {
    return JSObjectClassNameOrRef_.jsobjectclassname_.GetNoArena();
  }
  return *&::google::protobuf::internal::GetEmptyStringAlreadyInited();
}
inline void Node::set_jsobjectclassname(const ::std::string& value) {
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Node.jsObjectClassName)
  if (!has_jsobjectclassname()) {
    clear_JSObjectClassNameOrRef();
    set_has_jsobjectclassname();
    JSObjectClassNameOrRef_.jsobjectclassname_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  JSObjectClassNameOrRef_.jsobjectclassname_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Node.jsObjectClassName)
}
#if LANG_CXX11
inline void Node::set_jsobjectclassname(::std::string&& value) {
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Node.jsObjectClassName)
  if (!has_jsobjectclassname()) {
    clear_JSObjectClassNameOrRef();
    set_has_jsobjectclassname();
    JSObjectClassNameOrRef_.jsobjectclassname_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  JSObjectClassNameOrRef_.jsobjectclassname_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:mozilla.devtools.protobuf.Node.jsObjectClassName)
}
#endif
inline void Node::set_jsobjectclassname(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  if (!has_jsobjectclassname()) {
    clear_JSObjectClassNameOrRef();
    set_has_jsobjectclassname();
    JSObjectClassNameOrRef_.jsobjectclassname_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  JSObjectClassNameOrRef_.jsobjectclassname_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(value));
  // @@protoc_insertion_point(field_set_char:mozilla.devtools.protobuf.Node.jsObjectClassName)
}
inline void Node::set_jsobjectclassname(const void* value, size_t size) {
  if (!has_jsobjectclassname()) {
    clear_JSObjectClassNameOrRef();
    set_has_jsobjectclassname();
    JSObjectClassNameOrRef_.jsobjectclassname_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  JSObjectClassNameOrRef_.jsobjectclassname_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(
      reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:mozilla.devtools.protobuf.Node.jsObjectClassName)
}
inline ::std::string* Node::mutable_jsobjectclassname() {
  if (!has_jsobjectclassname()) {
    clear_JSObjectClassNameOrRef();
    set_has_jsobjectclassname();
    JSObjectClassNameOrRef_.jsobjectclassname_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_mutable:mozilla.devtools.protobuf.Node.jsObjectClassName)
  return JSObjectClassNameOrRef_.jsobjectclassname_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* Node::release_jsobjectclassname() {
  // @@protoc_insertion_point(field_release:mozilla.devtools.protobuf.Node.jsObjectClassName)
  if (has_jsobjectclassname()) {
    clear_has_JSObjectClassNameOrRef();
    return JSObjectClassNameOrRef_.jsobjectclassname_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  } else {
    return NULL;
  }
}
inline void Node::set_allocated_jsobjectclassname(::std::string* jsobjectclassname) {
  if (!has_jsobjectclassname()) {
    JSObjectClassNameOrRef_.jsobjectclassname_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  clear_JSObjectClassNameOrRef();
  if (jsobjectclassname != NULL) {
    set_has_jsobjectclassname();
    JSObjectClassNameOrRef_.jsobjectclassname_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        jsobjectclassname);
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.devtools.protobuf.Node.jsObjectClassName)
}

// optional uint64 jsObjectClassNameRef = 8;
inline bool Node::has_jsobjectclassnameref() const {
  return JSObjectClassNameOrRef_case() == kJsObjectClassNameRef;
}
inline void Node::set_has_jsobjectclassnameref() {
  _oneof_case_[1] = kJsObjectClassNameRef;
}
inline void Node::clear_jsobjectclassnameref() {
  if (has_jsobjectclassnameref()) {
    JSObjectClassNameOrRef_.jsobjectclassnameref_ = GOOGLE_ULONGLONG(0);
    clear_has_JSObjectClassNameOrRef();
  }
}
inline ::google::protobuf::uint64 Node::jsobjectclassnameref() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.Node.jsObjectClassNameRef)
  if (has_jsobjectclassnameref()) {
    return JSObjectClassNameOrRef_.jsobjectclassnameref_;
  }
  return GOOGLE_ULONGLONG(0);
}
inline void Node::set_jsobjectclassnameref(::google::protobuf::uint64 value) {
  if (!has_jsobjectclassnameref()) {
    clear_JSObjectClassNameOrRef();
    set_has_jsobjectclassnameref();
  }
  JSObjectClassNameOrRef_.jsobjectclassnameref_ = value;
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Node.jsObjectClassNameRef)
}

// optional uint32 coarseType = 9 [default = 0];
inline bool Node::has_coarsetype() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void Node::set_has_coarsetype() {
  _has_bits_[0] |= 0x00000008u;
}
inline void Node::clear_has_coarsetype() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void Node::clear_coarsetype() {
  coarsetype_ = 0u;
  clear_has_coarsetype();
}
inline ::google::protobuf::uint32 Node::coarsetype() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.Node.coarseType)
  return coarsetype_;
}
inline void Node::set_coarsetype(::google::protobuf::uint32 value) {
  set_has_coarsetype();
  coarsetype_ = value;
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Node.coarseType)
}

// optional bytes scriptFilename = 10;
inline bool Node::has_scriptfilename() const {
  return ScriptFilenameOrRef_case() == kScriptFilename;
}
inline void Node::set_has_scriptfilename() {
  _oneof_case_[2] = kScriptFilename;
}
inline void Node::clear_scriptfilename() {
  if (has_scriptfilename()) {
    ScriptFilenameOrRef_.scriptfilename_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    clear_has_ScriptFilenameOrRef();
  }
}
inline const ::std::string& Node::scriptfilename() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.Node.scriptFilename)
  if (has_scriptfilename()) {
    return ScriptFilenameOrRef_.scriptfilename_.GetNoArena();
  }
  return *&::google::protobuf::internal::GetEmptyStringAlreadyInited();
}
inline void Node::set_scriptfilename(const ::std::string& value) {
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Node.scriptFilename)
  if (!has_scriptfilename()) {
    clear_ScriptFilenameOrRef();
    set_has_scriptfilename();
    ScriptFilenameOrRef_.scriptfilename_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  ScriptFilenameOrRef_.scriptfilename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Node.scriptFilename)
}
#if LANG_CXX11
inline void Node::set_scriptfilename(::std::string&& value) {
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Node.scriptFilename)
  if (!has_scriptfilename()) {
    clear_ScriptFilenameOrRef();
    set_has_scriptfilename();
    ScriptFilenameOrRef_.scriptfilename_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  ScriptFilenameOrRef_.scriptfilename_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:mozilla.devtools.protobuf.Node.scriptFilename)
}
#endif
inline void Node::set_scriptfilename(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  if (!has_scriptfilename()) {
    clear_ScriptFilenameOrRef();
    set_has_scriptfilename();
    ScriptFilenameOrRef_.scriptfilename_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  ScriptFilenameOrRef_.scriptfilename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(value));
  // @@protoc_insertion_point(field_set_char:mozilla.devtools.protobuf.Node.scriptFilename)
}
inline void Node::set_scriptfilename(const void* value, size_t size) {
  if (!has_scriptfilename()) {
    clear_ScriptFilenameOrRef();
    set_has_scriptfilename();
    ScriptFilenameOrRef_.scriptfilename_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  ScriptFilenameOrRef_.scriptfilename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(
      reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:mozilla.devtools.protobuf.Node.scriptFilename)
}
inline ::std::string* Node::mutable_scriptfilename() {
  if (!has_scriptfilename()) {
    clear_ScriptFilenameOrRef();
    set_has_scriptfilename();
    ScriptFilenameOrRef_.scriptfilename_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_mutable:mozilla.devtools.protobuf.Node.scriptFilename)
  return ScriptFilenameOrRef_.scriptfilename_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* Node::release_scriptfilename() {
  // @@protoc_insertion_point(field_release:mozilla.devtools.protobuf.Node.scriptFilename)
  if (has_scriptfilename()) {
    clear_has_ScriptFilenameOrRef();
    return ScriptFilenameOrRef_.scriptfilename_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  } else {
    return NULL;
  }
}
inline void Node::set_allocated_scriptfilename(::std::string* scriptfilename) {
  if (!has_scriptfilename()) {
    ScriptFilenameOrRef_.scriptfilename_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  clear_ScriptFilenameOrRef();
  if (scriptfilename != NULL) {
    set_has_scriptfilename();
    ScriptFilenameOrRef_.scriptfilename_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        scriptfilename);
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.devtools.protobuf.Node.scriptFilename)
}

// optional uint64 scriptFilenameRef = 11;
inline bool Node::has_scriptfilenameref() const {
  return ScriptFilenameOrRef_case() == kScriptFilenameRef;
}
inline void Node::set_has_scriptfilenameref() {
  _oneof_case_[2] = kScriptFilenameRef;
}
inline void Node::clear_scriptfilenameref() {
  if (has_scriptfilenameref()) {
    ScriptFilenameOrRef_.scriptfilenameref_ = GOOGLE_ULONGLONG(0);
    clear_has_ScriptFilenameOrRef();
  }
}
inline ::google::protobuf::uint64 Node::scriptfilenameref() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.Node.scriptFilenameRef)
  if (has_scriptfilenameref()) {
    return ScriptFilenameOrRef_.scriptfilenameref_;
  }
  return GOOGLE_ULONGLONG(0);
}
inline void Node::set_scriptfilenameref(::google::protobuf::uint64 value) {
  if (!has_scriptfilenameref()) {
    clear_ScriptFilenameOrRef();
    set_has_scriptfilenameref();
  }
  ScriptFilenameOrRef_.scriptfilenameref_ = value;
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Node.scriptFilenameRef)
}

inline bool Node::has_TypeNameOrRef() const {
  return TypeNameOrRef_case() != TYPENAMEORREF_NOT_SET;
}
inline void Node::clear_has_TypeNameOrRef() {
  _oneof_case_[0] = TYPENAMEORREF_NOT_SET;
}
inline bool Node::has_JSObjectClassNameOrRef() const {
  return JSObjectClassNameOrRef_case() != JSOBJECTCLASSNAMEORREF_NOT_SET;
}
inline void Node::clear_has_JSObjectClassNameOrRef() {
  _oneof_case_[1] = JSOBJECTCLASSNAMEORREF_NOT_SET;
}
inline bool Node::has_ScriptFilenameOrRef() const {
  return ScriptFilenameOrRef_case() != SCRIPTFILENAMEORREF_NOT_SET;
}
inline void Node::clear_has_ScriptFilenameOrRef() {
  _oneof_case_[2] = SCRIPTFILENAMEORREF_NOT_SET;
}
inline Node::TypeNameOrRefCase Node::TypeNameOrRef_case() const {
  return Node::TypeNameOrRefCase(_oneof_case_[0]);
}
inline Node::JSObjectClassNameOrRefCase Node::JSObjectClassNameOrRef_case() const {
  return Node::JSObjectClassNameOrRefCase(_oneof_case_[1]);
}
inline Node::ScriptFilenameOrRefCase Node::ScriptFilenameOrRef_case() const {
  return Node::ScriptFilenameOrRefCase(_oneof_case_[2]);
}
// -------------------------------------------------------------------

// Edge

// optional uint64 referent = 1;
inline bool Edge::has_referent() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Edge::set_has_referent() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Edge::clear_has_referent() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Edge::clear_referent() {
  referent_ = GOOGLE_ULONGLONG(0);
  clear_has_referent();
}
inline ::google::protobuf::uint64 Edge::referent() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.Edge.referent)
  return referent_;
}
inline void Edge::set_referent(::google::protobuf::uint64 value) {
  set_has_referent();
  referent_ = value;
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Edge.referent)
}

// optional bytes name = 2;
inline bool Edge::has_name() const {
  return EdgeNameOrRef_case() == kName;
}
inline void Edge::set_has_name() {
  _oneof_case_[0] = kName;
}
inline void Edge::clear_name() {
  if (has_name()) {
    EdgeNameOrRef_.name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    clear_has_EdgeNameOrRef();
  }
}
inline const ::std::string& Edge::name() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.Edge.name)
  if (has_name()) {
    return EdgeNameOrRef_.name_.GetNoArena();
  }
  return *&::google::protobuf::internal::GetEmptyStringAlreadyInited();
}
inline void Edge::set_name(const ::std::string& value) {
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Edge.name)
  if (!has_name()) {
    clear_EdgeNameOrRef();
    set_has_name();
    EdgeNameOrRef_.name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  EdgeNameOrRef_.name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Edge.name)
}
#if LANG_CXX11
inline void Edge::set_name(::std::string&& value) {
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Edge.name)
  if (!has_name()) {
    clear_EdgeNameOrRef();
    set_has_name();
    EdgeNameOrRef_.name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  EdgeNameOrRef_.name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:mozilla.devtools.protobuf.Edge.name)
}
#endif
inline void Edge::set_name(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  if (!has_name()) {
    clear_EdgeNameOrRef();
    set_has_name();
    EdgeNameOrRef_.name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  EdgeNameOrRef_.name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(value));
  // @@protoc_insertion_point(field_set_char:mozilla.devtools.protobuf.Edge.name)
}
inline void Edge::set_name(const void* value, size_t size) {
  if (!has_name()) {
    clear_EdgeNameOrRef();
    set_has_name();
    EdgeNameOrRef_.name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  EdgeNameOrRef_.name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(
      reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:mozilla.devtools.protobuf.Edge.name)
}
inline ::std::string* Edge::mutable_name() {
  if (!has_name()) {
    clear_EdgeNameOrRef();
    set_has_name();
    EdgeNameOrRef_.name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_mutable:mozilla.devtools.protobuf.Edge.name)
  return EdgeNameOrRef_.name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* Edge::release_name() {
  // @@protoc_insertion_point(field_release:mozilla.devtools.protobuf.Edge.name)
  if (has_name()) {
    clear_has_EdgeNameOrRef();
    return EdgeNameOrRef_.name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  } else {
    return NULL;
  }
}
inline void Edge::set_allocated_name(::std::string* name) {
  if (!has_name()) {
    EdgeNameOrRef_.name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  clear_EdgeNameOrRef();
  if (name != NULL) {
    set_has_name();
    EdgeNameOrRef_.name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        name);
  }
  // @@protoc_insertion_point(field_set_allocated:mozilla.devtools.protobuf.Edge.name)
}

// optional uint64 nameRef = 3;
inline bool Edge::has_nameref() const {
  return EdgeNameOrRef_case() == kNameRef;
}
inline void Edge::set_has_nameref() {
  _oneof_case_[0] = kNameRef;
}
inline void Edge::clear_nameref() {
  if (has_nameref()) {
    EdgeNameOrRef_.nameref_ = GOOGLE_ULONGLONG(0);
    clear_has_EdgeNameOrRef();
  }
}
inline ::google::protobuf::uint64 Edge::nameref() const {
  // @@protoc_insertion_point(field_get:mozilla.devtools.protobuf.Edge.nameRef)
  if (has_nameref()) {
    return EdgeNameOrRef_.nameref_;
  }
  return GOOGLE_ULONGLONG(0);
}
inline void Edge::set_nameref(::google::protobuf::uint64 value) {
  if (!has_nameref()) {
    clear_EdgeNameOrRef();
    set_has_nameref();
  }
  EdgeNameOrRef_.nameref_ = value;
  // @@protoc_insertion_point(field_set:mozilla.devtools.protobuf.Edge.nameRef)
}

inline bool Edge::has_EdgeNameOrRef() const {
  return EdgeNameOrRef_case() != EDGENAMEORREF_NOT_SET;
}
inline void Edge::clear_has_EdgeNameOrRef() {
  _oneof_case_[0] = EDGENAMEORREF_NOT_SET;
}
inline Edge::EdgeNameOrRefCase Edge::EdgeNameOrRef_case() const {
  return Edge::EdgeNameOrRefCase(_oneof_case_[0]);
}
#ifdef __GNUC__
  #pragma GCC diagnostic pop
#endif  // __GNUC__
#endif  // !PROTOBUF_INLINE_NOT_IN_HEADERS
// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------


// @@protoc_insertion_point(namespace_scope)


}  // namespace protobuf
}  // namespace devtools
}  // namespace mozilla

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_CoreDump_2eproto__INCLUDED
