]> git.lizzy.rs Git - rust.git/blobdiff - src/etc/lldb_providers.py
Rollup merge of #90666 - bdbai:arc_new_cyclic, r=m-ou-se
[rust.git] / src / etc / lldb_providers.py
index ca2685ca31ffd6290987b6efaf776ed5ecb065b5..86dcc335e3cbfdcf2daab64d64fe5810b22f1cbd 100644 (file)
@@ -527,20 +527,22 @@ class StdHashMapSyntheticProvider:
     def update(self):
         # type: () -> None
         table = self.table()
-        capacity = table.GetChildMemberWithName("bucket_mask").GetValueAsUnsigned() + 1
-        ctrl = table.GetChildMemberWithName("ctrl").GetChildAtIndex(0)
+        inner_table = table.GetChildMemberWithName("table")
 
-        self.size = table.GetChildMemberWithName("items").GetValueAsUnsigned()
+        capacity = inner_table.GetChildMemberWithName("bucket_mask").GetValueAsUnsigned() + 1
+        ctrl = inner_table.GetChildMemberWithName("ctrl").GetChildAtIndex(0)
+
+        self.size = inner_table.GetChildMemberWithName("items").GetValueAsUnsigned()
         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()
+        self.new_layout = not inner_table.GetChildMemberWithName("data").IsValid()
         if self.new_layout:
             self.data_ptr = ctrl.Cast(self.pair_type.GetPointerType())
         else:
-            self.data_ptr = table.GetChildMemberWithName("data").GetChildAtIndex(0)
+            self.data_ptr = inner_table.GetChildMemberWithName("data").GetChildAtIndex(0)
 
         u8_type = self.valobj.GetTarget().GetBasicType(eBasicTypeUnsignedChar)
         u8_type_size = self.valobj.GetTarget().GetBasicType(eBasicTypeUnsignedChar).GetByteSize()