diff --git a/stubs/gdb/gdb/__init__.pyi b/stubs/gdb/gdb/__init__.pyi index 7cf1c35d6..d96547f80 100644 --- a/stubs/gdb/gdb/__init__.pyi +++ b/stubs/gdb/gdb/__init__.pyi @@ -492,6 +492,12 @@ class Block: is_static: bool def is_valid(self) -> bool: ... + def __iter__(self) -> BlockIterator: ... + +class BlockIterator: + def is_valid(self) -> bool: ... + def __iter__(self: _typeshed.Self) -> _typeshed.Self: ... + def __next__(self) -> Symbol: ... # Symbols diff --git a/stubs/gdb/gdb/printing.pyi b/stubs/gdb/gdb/printing.pyi index 97cb7bea1..7187d014d 100644 --- a/stubs/gdb/gdb/printing.pyi +++ b/stubs/gdb/gdb/printing.pyi @@ -1,4 +1,4 @@ -from collections.abc import Iterable +from collections.abc import Callable, Iterable import gdb from gdb import _PrettyPrinterLookupFunction @@ -6,7 +6,7 @@ from gdb import _PrettyPrinterLookupFunction class PrettyPrinter: name: str - subprinters: list[SubPrettyPrinter] + subprinters: list[SubPrettyPrinter] | None enabled: bool def __init__(self, name: str, subprinters: Iterable[SubPrettyPrinter] | None = ...) -> None: ... @@ -26,4 +26,8 @@ class RegexpCollectionPrettyPrinter(PrettyPrinter): class FlagEnumerationPrinter(PrettyPrinter): def __init__(self, enum_type: str) -> None: ... -def register_pretty_printer(obj: gdb.Objfile | gdb.Progspace | None, printer: PrettyPrinter, replace: bool = ...) -> None: ... +def register_pretty_printer( + obj: gdb.Objfile | gdb.Progspace | None, + printer: PrettyPrinter | Callable[[gdb.Value], gdb._PrettyPrinter | None], + replace: bool = ..., +) -> None: ...