aboutsummaryrefslogtreecommitdiff
path: root/libs/kstd/gdb/vector.py
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-05-04 12:01:01 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-05-04 12:01:01 +0200
commit78e42a1b6e0a857865be1e60f82871ac13c91bb1 (patch)
tree34cc53f3367b660320a0be6aa1c0c451135f83e0 /libs/kstd/gdb/vector.py
parent1246e00478fb5ab2a357de17066fd8738395d9f1 (diff)
downloadkernel-78e42a1b6e0a857865be1e60f82871ac13c91bb1.tar.xz
kernel-78e42a1b6e0a857865be1e60f82871ac13c91bb1.zip
debug: improve pretty printer implementations
Diffstat (limited to 'libs/kstd/gdb/vector.py')
-rw-r--r--libs/kstd/gdb/vector.py19
1 files changed, 10 insertions, 9 deletions
diff --git a/libs/kstd/gdb/vector.py b/libs/kstd/gdb/vector.py
index 597ffdc..4340ef4 100644
--- a/libs/kstd/gdb/vector.py
+++ b/libs/kstd/gdb/vector.py
@@ -1,20 +1,21 @@
import gdb
+from teachos import TeachOSBasePrinter
-class KstdVectorPrinter:
-
+class KstdVectorPrinter(TeachOSBasePrinter):
def __init__(self, val):
- self.val = val
- self.type = val.type.template_argument(0)
+ super().__init__(val)
+ self.__type = val.type.template_argument(0)
def to_string(self):
- size = int(self.val["m_size"])
- capacity = int(self.val["m_capacity"])
- return f"kstd::vector of length {size}, capacity {capacity}"
+ size = int(self.value["m_size"])
+ capacity = int(self.value["m_capacity"])
+ return f"kstd::vector<{self.__type}> (size={size}, capacity={capacity})"
def children(self):
- size = int(self.val["m_size"])
- data_pointer = self.val["m_data"]
+ yield from super().children()
+ size = int(self.value["m_size"])
+ data_pointer = self.value["m_data"]
for i in range(size):
yield (f"[{i}]", (data_pointer + i).dereference())