This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Attached is the v11 of the patch which adds the debug methods feature to the Python API. The only difference from v10 is that it is now rebased on top of the cleanup patch I have pushed last week. I do not think the other cleanup patch I have sent for review today would have any major impact on this patch. Hence, it is good for another full review. ChangeLog 2014-03-03 Siva Chandra Reddy <sivachandra@google.com> * Makefile.in: Add entries for new files. * NEWS (Python Scripting): Add entry about this feature. * data-directory/Makefile.in: Add entries for new Python files. * eval.c (evaluate_subexp_standard): Lookup and invoke methods defined in extension languages. * extension-priv.h (struct extension_language_ops): Add the debug method interface. * extension.c (new_debug_method_worker): New function. (clone_debug_method_worker): Likewise. (get_matching_debug_method_workers): Likewise. (get_debug_method_argtypes): Likewise. (invoke_debug_method): Likewise (free_debug_method_worker_vec): Likewise. (make_debug_method_worker_vec_cleanup): Likewise. * extension.h: New function declarations. (struct debug_method_worker): New struct. (VEC (debug_method_worker_ptr)): New type. (debug_method_worker_ptr): New typedef. (debug_method_worker_vec): Likewise. * valarith.c (value_x_binop, value_x_unop): Lookup and invoke overloaded operator methods defined in extension languages. * valops.c (find_oload_method_list, find_method_list, find_overload_match, find_oload_champ): Lookup methods defined in extension languages. (value_has_indirect_dynamic_type): New function to determine the indirect dynamic type of a value. * value.h (find_overload_match): Update signature. * python/py-debug_methods.c: New file. * python/py-objfile.c (objfile_object): New field 'debug_method_matchers'. (objfpy_dealloc): XDECREF on the new debug_method_matchers field. (objfpy_new, objfile_to_objfile_object): Initialize debug_method_macthers field. (objfpy_get_debug_method_matchers): New function. (objfile_getset): New entry 'debug_method_matchers'. * python/py-progspace.c (pspace_object): New field 'debug_method_matchers'. (pspy_dealloc): XDECREF on the new debug_method_matchers field. (pspy_new, pspace_to_pspace_object): Initialize debug_method_matchers field. (pspy_get_debug_method_matchers): New function. (pspace_getset): New entry 'debug_methods'. * python/python-internal.h: Add declarations for new functions. * python/python.c (_initialize_python): Invoke gdbpy_initialize_debug_methods. * python/lib/gdb/__init__.py (debug_method_matcherss): New attribute. * python/lib/gdb/debugmethods.py: New file. * python/lib/gdb/command/debugmethods.py: New file. testuite/ * gdb.python/py-debugmethods.cc: New testcase to test debug methods. * gdb.python/py-debugmethods.exp: New tests to test debug methods. * gdb.python/py-debugmethods.py: Python script supporting the new testcase and tests. doc/ * python.texi (Debug Methods In Python): New node. (Debug Method API): Likewise. (Writing a Debug Method): Likewise.
Attachment:
dm_patch_v11.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |