about summary refs log tree commit diff
path: root/src/etc
diff options
context:
space:
mode:
authorortem <ortem00@gmail.com>2021-02-06 20:20:25 +0300
committerortem <ortem00@gmail.com>2021-02-06 20:24:07 +0300
commit9ce070d27ddbbae3004dd7af6ac6fca59c8b2e23 (patch)
treef7d460d487510408c98a9f6d462215eef1c9144d /src/etc
parent399b6452b5d9982438be208668bc758479f13725 (diff)
Resolve typedef in HashMap lldb pretty-printer only if possible
Previously, `GetTypedefedType` was invoked unconditionally.
But this did not work in case of `rust-lldb` without Rust patches
since there was no typedef actually.
Diffstat (limited to 'src/etc')
-rw-r--r--src/etc/lldb_providers.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/etc/lldb_providers.py b/src/etc/lldb_providers.py
index 9c7b07efbaa..ca2685ca31f 100644
--- a/src/etc/lldb_providers.py
+++ b/src/etc/lldb_providers.py
@@ -531,7 +531,9 @@ class StdHashMapSyntheticProvider:
         ctrl = table.GetChildMemberWithName("ctrl").GetChildAtIndex(0)
 
         self.size = table.GetChildMemberWithName("items").GetValueAsUnsigned()
-        self.pair_type = table.type.template_args[0].GetTypedefedType()
+        self.pair_type = table.type.template_args[0]
+        if self.pair_type.IsTypedefType():
+            self.pair_type = self.pair_type.GetTypedefedType()
         self.pair_type_size = self.pair_type.GetByteSize()
 
         self.new_layout = not table.GetChildMemberWithName("data").IsValid()