aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2023-03-24 04:40:45 -0400
committerJacob Young <jacobly0@users.noreply.github.com>2023-03-24 17:57:58 -0400
commit935ec9ec6a571010ddc11a9212ff0c93f82d0d74 (patch)
tree90d31d0fad646e8a8b9c4ffc52fa7190a049b6db /tools
parentc604111e22cb2f41e3151b1062e19035f35a6dec (diff)
downloadzig-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.py15
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)