diff options
| author | Jacob Young <jacobly0@users.noreply.github.com> | 2023-03-24 04:40:45 -0400 |
|---|---|---|
| committer | Jacob Young <jacobly0@users.noreply.github.com> | 2023-03-24 17:57:58 -0400 |
| commit | 935ec9ec6a571010ddc11a9212ff0c93f82d0d74 (patch) | |
| tree | 90d31d0fad646e8a8b9c4ffc52fa7190a049b6db /tools | |
| parent | c604111e22cb2f41e3151b1062e19035f35a6dec (diff) | |
| download | zig-935ec9ec6a571010ddc11a9212ff0c93f82d0d74.tar.gz zig-935ec9ec6a571010ddc11a9212ff0c93f82d0d74.zip | |
x86_64: canonicalize each br of a block
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/lldb_pretty_printers.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tools/lldb_pretty_printers.py b/tools/lldb_pretty_printers.py index b72b6f9760..e0b84e1b41 100644 --- a/tools/lldb_pretty_printers.py +++ b/tools/lldb_pretty_printers.py @@ -164,6 +164,20 @@ class zig_ErrorUnion_SynthProvider: def get_child_index(self, name): return 0 if name == ('payload' if self.payload else 'error_set') else -1 def get_child_at_index(self, index): return self.payload or self.error_set if index == 0 else None +class zig_TaggedUnion_SynthProvider: + def __init__(self, value, _=None): self.value = value + def update(self): + try: + self.tag = self.value.GetChildMemberWithName('tag') + self.payload = self.value.GetChildMemberWithName('payload').GetChildMemberWithName(self.tag.value) + except: pass + def has_children(self): return True + def num_children(self): return 1 + (self.payload is not None) + def get_child_index(self, name): + try: return ('tag', 'payload').index(name) + except: return -1 + def get_child_at_index(self, index): return (self.tag, self.payload)[index] if index >= 0 and index < 2 else None + # Define Zig Standard Library class std_SegmentedList_SynthProvider: @@ -606,3 +620,4 @@ def __lldb_init_module(debugger, _=None): add(debugger, category='zig.stage2', type='type.Type', summary=True) add(debugger, category='zig.stage2', type='value.Value', identifier='TagOrPayloadPtr', synth=True) add(debugger, category='zig.stage2', type='value.Value', summary=True) + add(debugger, category='zig.stage2', type='arch.x86_64.CodeGen.MCValue', identifier='zig_TaggedUnion', synth=True, inline_children=True, summary=True) |
