def parse_union_type(txt):
    off = dwarfutils.extract_offset(txt)
    try:
        name = dwarfutils.extract_name(txt)
    except AttributeError:
        name = None
    byte_size = dwarfutils.extract_byte_size(txt)
    DIEs[off] = DIEUnion(name=name, byte_size=byte_size, members=list())
    parse_union(off)
def parse_structure_type(txt):
    off = dwarfutils.extract_offset(txt)
    try:
        name = dwarfutils.extract_name(txt)
    except AttributeError:
        name = None
    try:
        byte_size = dwarfutils.extract_byte_size(txt)
    except AttributeError:
        assert "AT_declaration" in txt
        byte_size = -1
    DIEs[off] = DIEStructure(name=name, byte_size=byte_size, members=list())
    parse_struct(off)
def parse_base_type(txt):
    off = dwarfutils.extract_offset(txt)
    DIEs[off] = DIEBase(name=dwarfutils.extract_name(txt),
                        byte_size=dwarfutils.extract_byte_size(txt))