18 const int32_t byte_size,
22 if (udt.m_die.Tag() == die.
Tag()) {
24 if (udt.m_byte_size < 0 || byte_size < 0 ||
25 udt.m_byte_size == byte_size) {
27 if (udt.m_declaration == decl) {
34 while (!done && match && parent_arg_die && parent_pos_die) {
35 const dw_tag_t parent_arg_tag = parent_arg_die.
Tag();
36 const dw_tag_t parent_pos_tag = parent_pos_die.
Tag();
37 if (parent_arg_tag == parent_pos_tag) {
38 switch (parent_arg_tag) {
39 case DW_TAG_class_type:
40 case DW_TAG_structure_type:
41 case DW_TAG_union_type:
42 case DW_TAG_namespace: {
43 const char *parent_arg_die_name = parent_arg_die.
GetName();
44 if (parent_arg_die_name ==
49 const char *parent_pos_die_name = parent_pos_die.
GetName();
50 if (parent_pos_die_name ==
nullptr ||
51 ((parent_arg_die_name != parent_pos_die_name) &&
52 strcmp(parent_arg_die_name, parent_pos_die_name)))
57 case DW_TAG_compile_unit:
58 case DW_TAG_partial_unit:
65 parent_arg_die = parent_arg_die.
GetParent();
66 parent_pos_die = parent_pos_die.
GetParent();
A class that describes the declaration location of a lldb object.
DWARFDebugInfoEntry * m_die
void GetName(Stream &s) const
DWARFDIE GetParent() const
DWARFDebugInfoEntry * GetParent()
bool Find(const DWARFDIE &die, const Declaration &decl, const int32_t byte_size, UniqueDWARFASTType &entry) const
llvm::dwarf::Tag dw_tag_t