Exemple #1
0
DWARFDIE
DWARFDIE::GetContainingDWOModuleDIE () const
{
    if (IsValid())
    {
        DWARFDIE top_module_die;
        // Now make sure this DIE is scoped in a DW_TAG_module tag and return true if so
        for (DWARFDIE parent = GetParent(); parent.IsValid(); parent = parent.GetParent())
        {
            const dw_tag_t tag = parent.Tag();
            if (tag == DW_TAG_module)
                top_module_die = parent;
            else if (tag == DW_TAG_compile_unit)
                break;
        }

        return top_module_die;
    }
    return DWARFDIE();
}