mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-05-30 15:56:36 +08:00
Make it simpler to add events to Python
The first patch in this series went through several iterations as I'd forgotten how many places had to be touched to add a new event and a new event type. This patch simplifies the process using two new ".def" files. Now, a new event type can be added by adding a line to "py-event-types.def", and a new event registry can be added by adding a line to "py-all-events.def". ChangeLog 2017-09-11 Tom Tromey <tom@tromey.com> * python/python.c (do_start_initialization): Use py-event-types.def to initialize types. Define all object type structures. * python/python-internal.h: Don't declare event initialization functions. * python/py-threadevent.c (thread_event_object_type): Don't define. * python/py-stopevent.c (stop_event_object_type): Don't define. * python/py-signalevent.c (signal_event_object_type): Don't declare or define. * python/py-newobjfileevent.c (new_objfile_event_object_type) (clear_objfiles_event_object_type): Don't declare or define. * python/py-infevents.c (inferior_call_pre_event_object_type) (inferior_call_post_event_object_type) (register_changed_event_object_type) (memory_changed_event_object_type): Don't declare or define. * python/py-inferior.c (new_thread_event_object_type) (new_inferior_event_object_type) (inferior_deleted_event_object_type): Don't declare or define. * python/py-exitedevent.c (exited_event_object_type): Don't declare or define. * python/py-evts.c (gdbpy_initialize_py_events): Use py-all-events.def. * python/py-events.h (thread_event_object_type): Don't declare. (events_object): Use py-all-events.def. * python/py-event.h (GDBPY_NEW_EVENT_TYPE): Remove. Use py-event-types.def. * python/py-event-types.def: New file. * python/py-continueevent.c (create_continue_event_object): Don't declare or define. * python/py-bpevent.c (breakpoint_event_object_type): Don't declare or define. * python/py-all-events.def: New file.
This commit is contained in:
@ -62,55 +62,11 @@ gdbpy_initialize_py_events (void)
|
||||
if (!gdb_py_events.module)
|
||||
return -1;
|
||||
|
||||
if (add_new_registry (&gdb_py_events.stop, "stop") < 0)
|
||||
return -1;
|
||||
|
||||
if (add_new_registry (&gdb_py_events.cont, "cont") < 0)
|
||||
return -1;
|
||||
|
||||
if (add_new_registry (&gdb_py_events.exited, "exited") < 0)
|
||||
return -1;
|
||||
|
||||
if (add_new_registry (&gdb_py_events.inferior_call,
|
||||
"inferior_call") < 0)
|
||||
return -1;
|
||||
|
||||
if (add_new_registry (&gdb_py_events.memory_changed,
|
||||
"memory_changed") < 0)
|
||||
return -1;
|
||||
|
||||
if (add_new_registry (&gdb_py_events.register_changed,
|
||||
"register_changed") < 0)
|
||||
return -1;
|
||||
|
||||
if (add_new_registry (&gdb_py_events.new_objfile, "new_objfile") < 0)
|
||||
return -1;
|
||||
|
||||
if (add_new_registry (&gdb_py_events.clear_objfiles, "clear_objfiles") < 0)
|
||||
return -1;
|
||||
|
||||
if (add_new_registry (&gdb_py_events.new_inferior, "new_inferior") < 0)
|
||||
return -1;
|
||||
|
||||
if (add_new_registry (&gdb_py_events.inferior_deleted, "inferior_deleted") < 0)
|
||||
return -1;
|
||||
|
||||
if (add_new_registry (&gdb_py_events.new_thread, "new_thread") < 0)
|
||||
return -1;
|
||||
|
||||
if (add_new_registry (&gdb_py_events.breakpoint_created,
|
||||
"breakpoint_created") < 0)
|
||||
return -1;
|
||||
|
||||
if (add_new_registry (&gdb_py_events.breakpoint_deleted,
|
||||
"breakpoint_deleted") < 0)
|
||||
return -1;
|
||||
if (add_new_registry (&gdb_py_events.breakpoint_modified,
|
||||
"breakpoint_modified") < 0)
|
||||
return -1;
|
||||
|
||||
if (add_new_registry (&gdb_py_events.before_prompt, "before_prompt") < 0)
|
||||
#define GDB_PY_DEFINE_EVENT(name) \
|
||||
if (add_new_registry (&gdb_py_events.name, #name) < 0) \
|
||||
return -1;
|
||||
#include "py-all-events.def"
|
||||
#undef GDB_PY_DEFINE_EVENT
|
||||
|
||||
if (gdb_pymodule_addobject (gdb_module,
|
||||
"events",
|
||||
|
Reference in New Issue
Block a user