diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-05-04 12:01:01 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-05-04 12:01:01 +0200 |
| commit | 78e42a1b6e0a857865be1e60f82871ac13c91bb1 (patch) | |
| tree | 34cc53f3367b660320a0be6aa1c0c451135f83e0 /libs/kstd/gdb/vector.py | |
| parent | 1246e00478fb5ab2a357de17066fd8738395d9f1 (diff) | |
| download | kernel-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.py | 19 |
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()) |
