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 Unify gdb printf functions 2022-03-29 12:46:24 -06:00
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 gdb/python: remove Python 2/3 compatibility macros 2022-03-23 07:42:57 -04:00
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 Use bool for evregpy_no_listeners_p 2022-06-03 10:35:30 -06:00
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 Add gdb.current_language and gdb.Frame.language 2022-06-01 06:15:53 -06:00
py-framefilter.c Unify gdb printf functions 2022-03-29 12:46:24 -06:00
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 gdb/python: remove Python 2/3 compatibility macros 2022-03-23 07:42:57 -04:00
py-instruction.c
py-instruction.h
py-lazy-string.c gdb/python: remove Python 2/3 compatibility macros 2022-03-23 07:42:57 -04:00
py-linetable.c gdb: remove SYMTAB_LINETABLE macro, add getter/setter 2022-02-06 15:48:19 -05:00
py-membuf.c gdb/python: remove Python 2/3 compatibility macros 2022-03-23 07:42:57 -04:00
py-micmd.c Unify gdb printf functions 2022-03-29 12:46:24 -06:00
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 gdb/python: improve formatting of help text for user defined commands 2022-05-28 10:36:50 +01:00
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 gdb/python: remove Python 2/3 compatibility macros 2022-03-23 07:42:57 -04:00
py-record-btrace.h
py-record-full.c gdb/python: remove Python 2/3 compatibility macros 2022-03-23 07:42:57 -04:00
py-record-full.h
py-record.c gdb/python: remove Python 2/3 compatibility macros 2022-03-23 07:42:57 -04:00
py-record.h
py-ref.h
py-registers.c gdb: move struct reggroup into reggroups.h header 2022-04-07 16:01:18 +01:00
py-signalevent.c gdb/python: remove Python 2/3 compatibility macros 2022-03-23 07:42:57 -04:00
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 Change how Python architecture and language are handled 2022-01-26 06:49:51 -07:00
py-type.c Rewrite registry.h 2022-07-28 14:16:50 -06:00
py-unwind.c Unify gdb printf functions 2022-03-29 12:46:24 -06:00
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 gdb/python: remove Python 2/3 compatibility macros 2022-03-23 07:42:57 -04:00
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