diff options
author | Tom Tromey <tromey@redhat.com> | 2012-11-12 17:41:59 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2012-11-12 17:41:59 +0000 |
commit | 18a9fc1261b8a654fe6db7eea7e60b0c59296d96 (patch) | |
tree | 50b1290ab9827f259ea103cf50367d7ac6c0e878 /gdb/python/python.h | |
parent | bd69fc683f383772bb8fab43c5d4af8d0cd4a8b4 (diff) | |
download | gdb-18a9fc1261b8a654fe6db7eea7e60b0c59296d96.zip gdb-18a9fc1261b8a654fe6db7eea7e60b0c59296d96.tar.gz gdb-18a9fc1261b8a654fe6db7eea7e60b0c59296d96.tar.bz2 |
* NEWS: Update.
* data-directory/Makefile.in (PYTHON_FILES): Add
type_printers.py.
* python/lib/gdb/command/type_printers.py: New file.
* python/lib/gdb/command/types.py (TypePrinter): New class.
(_get_some_type_recognizers, get_type_recognizers,
apply_type_recognizers, register_type_printer): New
functions.
* python/py-objfile.c (objfile_object) <type_printers>: New
field.
(objfpy_dealloc): Decref new field.
(objfpy_new): Set new field.
(objfpy_get_type_printers, objfpy_set_type_printers): New
functions.
(objfile_to_objfile_object): Set new field.
(objfile_getset): Add "type_printers".
* python/py-progspace.c (pspace_object) <type_printers>: New
field.
(pspy_dealloc): Decref new field.
(pspy_new): Set new field.
(pspy_get_type_printers, pspy_set_type_printers): New functions.
(pspace_to_pspace_object): Set new field.
(pspace_getset): Add "type_printers".
* python/python.c (start_type_printers, apply_type_printers,
free_type_printers): New functions.
(_initialize_python): Set gdb.type_printers.
* python/python.h (start_type_printers, apply_type_printers,
free_type_printers): Declare.
* typeprint.c (type_print_raw_options, default_ptype_flags):
Update for new fields.
(do_free_global_table, create_global_typedef_table,
find_global_typedef): New functions.
(find_typedef_in_hash): Use find_global_typedef.
(whatis_exp): Use create_global_typedef_table. Change cleanup
handling.
* typeprint.h (struct type_print_options) <global_typedefs,
global_printers>: New fields.
doc
* gdb.texinfo (Symbols): Document "info type-printers",
"enable type-printer" and "disable type-printer".
(Python API): Add new node to menu.
(Type Printing API): New node.
(Progspaces In Python): Document type_printers field.
(Objfiles In Python): Likewise.
(gdb.types) <get_type_recognizers, apply_type_recognizers,
register_type_printer, TypePrinter>: Document.
testsuite
* gdb.base/completion.exp: Update for "info type-printers".
* gdb.python/py-typeprint.cc: New file.
* gdb.python/py-typeprint.exp: New file.
* gdb.python/py-typeprint.py: New file.
Diffstat (limited to 'gdb/python/python.h')
-rw-r--r-- | gdb/python/python.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/python/python.h b/gdb/python/python.h index 0d07271..72872b0 100644 --- a/gdb/python/python.h +++ b/gdb/python/python.h @@ -49,4 +49,10 @@ int gdbpy_should_stop (struct breakpoint_object *bp_obj); int gdbpy_breakpoint_has_py_cond (struct breakpoint_object *bp_obj); +void *start_type_printers (void); + +char *apply_type_printers (void *, struct type *type); + +void free_type_printers (void *arg); + #endif /* GDB_PYTHON_H */ |