binutils-gdb/gdb/python
Simon Marchi ea4bacd354 gdb: introduce iteration_status enum, use it for search callbacks
There are a bunch of iteration functions that take a callback returning
true or false to indicate whether to continue or stop iterating.  These
functions then return the same value, indicate whether the iteration was
done until the end of interrupted.  I think this is confusing and
error-prone, as I never know which value means what.  It is especially
confusing when two opposite conventions collide, such as in
objfile::map_symtabs_matching_filename.

I propose to make that more obvious by introducing a new
iteration_status enum with self-documenting values.

I started to change the callback type
compunit_symtab_iteration_callback, taken by
quick_symbol_functions::search, and then followed that path to update a
bunch of other functions.

I chose the name to be kind of generic, so that it can be used for other
similar iteration patterns.  I also put it in gdbsupport, in case we
want to use it in gdbserver too.

Change-Id: I55d84d0c1af8ac0b82cc9f49ccf0d6b60e1769e0
Approved-By: Andrew Burgess <aburgess@redhat.com>
2026-04-17 15:30:29 -04:00
..
lib/gdb Update black to 26.1.0 2026-01-23 06:45:46 -07:00
py-all-events.def gdb/python: new selected_context event 2026-03-05 09:42:18 +00:00
py-arch.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-auto-load.c Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-block.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-bpevent.c Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-breakpoint.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-cmd.c gdb: cast all Python extension objects passed to gdbpy_ref_policy to PyObject* 2026-01-29 16:46:14 +00:00
py-color.c gdb: introduce rgb_color type to simplify existing code 2026-03-10 11:22:28 +00:00
py-color.h Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-connection.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-continueevent.c Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-corefile.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-dap.c Rewrite output redirection and logging 2026-02-09 08:15:44 -07:00
py-disasm.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-event-types.def gdb/python: new selected_context event 2026-03-05 09:42:18 +00:00
py-event.c gdb/python: add accessor helpers for __dict__ in Python extension objects 2026-03-14 13:21:06 +00:00
py-event.h gdb: new setters and getters for __dict__, and attributes 2026-01-29 16:46:14 +00:00
py-events.h gdb: cast all Python extension objects passed to gdbpy_ref_policy to PyObject* 2026-01-29 16:46:14 +00:00
py-evtregistry.c Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-evts.c Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-exitedevent.c Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-finishbreakpoint.c gdb/python: fix gdb.FinishBreakpoint returning to a tail call frame 2026-03-05 17:45:29 +00:00
py-frame.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-framefilter.c Return gdbpy_ref<> from frame_info_to_frame_object 2026-02-23 05:29:12 -07:00
py-function.c gdb: switch tuple object helpers to Python limited API equivalents 2026-03-04 15:38:11 +00:00
py-gdb-readline.c Python limited API: migrate Py_CompileStringExFlags and PyRun_SimpleString 2026-01-28 09:41:25 +00:00
py-inferior.c gdb: change new_objfile observer to take an objfile reference 2026-03-19 14:36:25 +00:00
py-infevents.c Return gdbpy_ref<> from frame_info_to_frame_object 2026-02-23 05:29:12 -07:00
py-infthread.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-instruction.c gdb: make remaining Python extension objects inherit from PyObject 2026-01-29 16:46:14 +00:00
py-instruction.h Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-lazy-string.c gdb, gdbserver, gdbsupport: replace many uses of strcmp with streq 2026-03-16 13:24:00 -04:00
py-linetable.c Return gdbpy_ref<> from symtab_to_linetable_object 2026-02-23 05:29:12 -07:00
py-membuf.c gdb: cast all Python extension objects passed to gdbpy_ref_policy to PyObject* 2026-01-29 16:46:14 +00:00
py-mi.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-micmd.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-newobjfileevent.c Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-obj-type.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-obj-type.h gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-objfile.c gdb/python: add accessor helpers for __dict__ in Python extension objects 2026-03-14 13:21:06 +00:00
py-param.c gdb, gdbserver, gdbsupport: replace many uses of strcmp with streq 2026-03-16 13:24:00 -04:00
py-prettyprint.c gdb, gdbserver, gdbsupport: replace many uses of strcmp with streq 2026-03-16 13:24:00 -04:00
py-progspace.c gdb/python: add accessor helpers for __dict__ in Python extension objects 2026-03-14 13:21:06 +00:00
py-record-btrace.c Use the "O!" format more in the Python code 2026-02-27 12:01:56 -07:00
py-record-btrace.h Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-record-full.c Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-record-full.h Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-record.c gdb: make remaining Python extension objects inherit from PyObject 2026-01-29 16:46:14 +00:00
py-record.h gdb: make remaining Python extension objects inherit from PyObject 2026-01-29 16:46:14 +00:00
py-ref.h gdb/python: add accessor helpers for __dict__ in Python extension objects 2026-03-14 13:21:06 +00:00
py-registers.c Hold the GIL while clearing gdbpy_reggroup_object_map 2026-03-25 11:12:14 -06:00
py-signalevent.c Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-stopevent.c Return gdbpy_ref<> from value_to_value_object 2026-02-23 05:29:11 -07:00
py-stopevent.h Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-style.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-symbol.c gdb: introduce iteration_status enum, use it for search callbacks 2026-04-17 15:30:29 -04:00
py-symtab.c gdb/python: introduce gdb.Symtab.source_lines method 2026-03-05 10:17:08 +00:00
py-threadevent.c Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-tui.c gdb: cast all Python extension objects passed to gdbpy_ref_policy to PyObject* 2026-01-29 16:46:14 +00:00
py-type.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-uiout.h Remove m_applied_style from ui_file 2026-02-09 08:15:29 -07:00
py-unwind.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-utils.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-value.c Return gdbpy_ref<> from type_to_type_object 2026-02-23 05:29:12 -07:00
py-varobj.c Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-xmethods.c gdb: switch tuple object helpers to Python limited API equivalents 2026-03-04 15:38:11 +00:00
python-config.py Run isort 2024-04-02 11:21:39 -06:00
python-internal.h gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
python.c Add command styling to error messages 2026-04-08 19:12:44 -06:00
python.h Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00