Add basic support for ENUM types

Signed-off-by: Juraj Oravec <jurajoravec@mailo.com>
This commit is contained in:
Juraj Oravec 2024-05-29 01:09:46 +02:00
parent 20c20d87e6
commit e1f6b279f2
Signed by: SGOrava
GPG Key ID: 13660A3F1D9F093B

View File

@ -22,6 +22,7 @@ def eprint(*args, **kwargs):
if configuration['print_debug_info']: if configuration['print_debug_info']:
print(*args, file=sys.stderr, **kwargs) print(*args, file=sys.stderr, **kwargs)
def epprint(*args, **kwargs): def epprint(*args, **kwargs):
if configuration['print_debug_info']: if configuration['print_debug_info']:
pprint(*args, stream=sys.stderr, **kwargs) pprint(*args, stream=sys.stderr, **kwargs)
@ -236,6 +237,8 @@ class Bear():
child_entries.append(child_entry) child_entries.append(child_entry)
entry['children'] = child_entries entry['children'] = child_entries
elif die_type.tag == 'DW_TAG_enumeration_type':
entry['type'] = safe_DIE_name(die_type, 'ENUM')
else: else:
eprint("Unsupported type:", die_type.tag) eprint("Unsupported type:", die_type.tag)
@ -291,7 +294,7 @@ class Bear():
for entry in self.flat_list: for entry in self.flat_list:
address = '' address = ''
if 'address' in entry: if 'address' in entry:
address=entry['address'] address = entry['address']
if not address and entry['name'] == '?': if not address and entry['name'] == '?':
continue continue