binutils-gdb/gdb/python
Tom Tromey 08b8a139c9 Rewrite registry.h
This rewrites registry.h, removing all the macros and replacing it
with relatively ordinary template classes.  The result is less code
than the previous setup.  It replaces large macros with a relatively
straightforward C++ class, and now manages its own cleanup.

The existing type-safe "key" class is replaced with the equivalent
template class.  This approach ended up requiring relatively few
changes to the users of the registry code in gdb -- code using the key
system just required a small change to the key's declaration.

All existing users of the old C-like API are now converted to use the
type-safe API.  This mostly involved changing explicit deletion
functions to be an operator() in a deleter class.

The old "save/free" two-phase process is removed, and replaced with a
single "free" phase.  No existing code used both phases.

The old "free" callbacks took a parameter for the enclosing container
object.  However, this wasn't truly needed and is removed here as
well.
2022-07-28 14:16:50 -06:00
..
lib/gdb Run 'black' on gdb 2022-07-15 07:55:32 -06:00
py-all-events.def Add gdb.free_objfile event registry 2022-07-18 11:25:34 -06:00
py-arch.c Accept gdb.Value in more Python APIs 2022-07-08 14:14:58 -06:00
py-auto-load.c
py-block.c Rewrite registry.h 2022-07-28 14:16:50 -06:00
py-bpevent.c
py-breakpoint.c gdb/python: Add BreakpointLocation type 2022-07-28 11:20:46 -06:00
py-cmd.c Use PyBool_FromLong 2022-06-23 09:27:30 -06:00
py-connection.c
py-continueevent.c
py-disasm.c gdb/python: fix invalid use disassemble_info::stream 2022-07-25 19:26:24 +01:00
py-event-types.def Add gdb.free_objfile event registry 2022-07-18 11:25:34 -06:00
py-event.c
py-event.h Add gdb.free_objfile event registry 2022-07-18 11:25:34 -06:00
py-events.h
py-evtregistry.c Make 'import gdb.events' work 2022-07-05 10:28:39 -06:00
py-evts.c Make 'import gdb.events' work 2022-07-05 10:28:39 -06:00
py-exitedevent.c
py-finishbreakpoint.c event_location -> location_spec 2022-06-17 09:41:24 +01:00
py-frame.c
py-framefilter.c
py-function.c
py-gdb-readline.c
py-inferior.c Rewrite registry.h 2022-07-28 14:16:50 -06:00
py-infevents.c
py-infthread.c
py-instruction.c
py-instruction.h
py-lazy-string.c
py-linetable.c
py-membuf.c
py-micmd.c
py-newobjfileevent.c Add gdb.free_objfile event registry 2022-07-18 11:25:34 -06:00
py-objfile.c Rewrite registry.h 2022-07-28 14:16:50 -06:00
py-param.c
py-prettyprint.c Add 'nibbles' to gdb.print_options 2022-07-15 09:42:39 -06:00
py-progspace.c Rewrite registry.h 2022-07-28 14:16:50 -06:00
py-record-btrace.c
py-record-btrace.h
py-record-full.c
py-record-full.h
py-record.c
py-record.h
py-ref.h
py-registers.c
py-signalevent.c
py-stopevent.c
py-stopevent.h
py-symbol.c Rewrite registry.h 2022-07-28 14:16:50 -06:00
py-symtab.c Rewrite registry.h 2022-07-28 14:16:50 -06:00
py-threadevent.c
py-tui.c
py-type.c Rewrite registry.h 2022-07-28 14:16:50 -06:00
py-unwind.c
py-utils.c gdb/python: convert gdbpy_err_fetch to use gdbpy_ref 2022-06-15 09:44:54 +01:00
py-value.c Add 'summary' mode to Value.format_string 2022-07-15 09:26:54 -06:00
py-varobj.c Expose current 'print' settings to Python 2022-07-15 09:25:33 -06:00
py-xmethods.c
python-config.py
python-internal.h gdb/python: Add BreakpointLocation type 2022-07-28 11:20:46 -06:00
python.c gdb/python: Add BreakpointLocation type 2022-07-28 11:20:46 -06:00
python.h