10#include "llvm/Support/raw_ostream.h"
15const char *DWARFDeclContext::Entry::GetName()
const {
18 if (
tag == DW_TAG_namespace)
19 return "(anonymous namespace)";
20 if (
tag == DW_TAG_class_type)
21 return "(anonymous class)";
22 if (
tag == DW_TAG_structure_type)
23 return "(anonymous struct)";
24 if (
tag == DW_TAG_union_type)
25 return "(anonymous union)";
47 [&](
auto entry) { string_stream << entry.GetName(); },
"::");
60 collection::const_iterator pos;
61 collection::const_iterator begin =
m_entries.begin();
62 collection::const_iterator end =
m_entries.end();
64 collection::const_iterator rhs_pos;
65 collection::const_iterator rhs_begin = rhs.
m_entries.begin();
69 for (pos = begin, rhs_pos = rhs_begin; pos != end; ++pos, ++rhs_pos) {
70 if (pos->tag != rhs_pos->tag) {
73 if (pos->tag == DW_TAG_structure_type &&
74 rhs_pos->tag == DW_TAG_class_type)
76 if (pos->tag == DW_TAG_class_type &&
77 rhs_pos->tag == DW_TAG_structure_type)
83 for (pos = begin, rhs_pos = rhs_begin; pos != end; ++pos, ++rhs_pos) {
84 if (!pos->NameMatches(*rhs_pos))
const char * GetQualifiedName() const
bool operator==(const DWARFDeclContext &rhs) const
std::string m_qualified_name