mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-24 03:02:10 +01:00
parent
4477ae63ea
commit
44dbe80e5c
@ -86,11 +86,27 @@ class GHashPrinter:
|
|||||||
"Prints a GHashTable"
|
"Prints a GHashTable"
|
||||||
|
|
||||||
class _iterator:
|
class _iterator:
|
||||||
|
class _pointer_array:
|
||||||
|
def __init__(self, ptr, big_items):
|
||||||
|
self._big_items = big_items
|
||||||
|
self._gpointer_type = gdb.lookup_type("gpointer")
|
||||||
|
item_type = self._gpointer_type if self._big_items else gdb.lookup_type("guint")
|
||||||
|
|
||||||
|
self._items = ptr.cast(item_type.pointer())
|
||||||
|
|
||||||
|
def __getitem__(self, item):
|
||||||
|
item = self._items[item]
|
||||||
|
|
||||||
|
if not self._big_items:
|
||||||
|
item = item.cast(self._gpointer_type)
|
||||||
|
|
||||||
|
return item
|
||||||
|
|
||||||
def __init__(self, ht, keys_are_strings):
|
def __init__(self, ht, keys_are_strings):
|
||||||
self.ht = ht
|
self.ht = ht
|
||||||
if ht != 0:
|
if ht != 0:
|
||||||
self.keys = ht["keys"]
|
self.keys = self._pointer_array(ht["keys"], ht["have_big_keys"])
|
||||||
self.values = ht["values"]
|
self.values = self._pointer_array(ht["values"], ht["have_big_values"])
|
||||||
self.hashes = ht["hashes"]
|
self.hashes = ht["hashes"]
|
||||||
self.size = ht["size"]
|
self.size = ht["size"]
|
||||||
self.pos = 0
|
self.pos = 0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user