18a9fc1261
* 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. |
||
---|---|---|
.. | ||
lib-types.cc | ||
lib-types.exp | ||
Makefile.in | ||
py-block.c | ||
py-block.exp | ||
py-breakpoint.c | ||
py-breakpoint.exp | ||
py-cmd.exp | ||
py-error.exp | ||
py-error.py | ||
py-events-shlib.c | ||
py-events.c | ||
py-events.exp | ||
py-events.py | ||
py-evsignal.exp | ||
py-evthreads.c | ||
py-evthreads.exp | ||
py-explore-cc.exp | ||
py-explore.c | ||
py-explore.cc | ||
py-explore.exp | ||
py-finish-breakpoint.c | ||
py-finish-breakpoint.exp | ||
py-finish-breakpoint.py | ||
py-finish-breakpoint2.cc | ||
py-finish-breakpoint2.exp | ||
py-finish-breakpoint2.py | ||
py-frame-inline.c | ||
py-frame-inline.exp | ||
py-frame.c | ||
py-frame.exp | ||
py-function.exp | ||
py-inferior.c | ||
py-inferior.exp | ||
py-infthread.c | ||
py-infthread.exp | ||
py-mi.exp | ||
py-objfile-script-gdb.py.in | ||
py-objfile-script.c | ||
py-objfile-script.exp | ||
py-objfile.c | ||
py-objfile.exp | ||
py-parameter.exp | ||
py-pp-maint.c | ||
py-pp-maint.exp | ||
py-pp-maint.py | ||
py-prettyprint.c | ||
py-prettyprint.exp | ||
py-prettyprint.py | ||
py-progspace.c | ||
py-progspace.exp | ||
py-prompt.c | ||
py-prompt.exp | ||
py-section-script.c | ||
py-section-script.exp | ||
py-section-script.py | ||
py-shared-sl.c | ||
py-shared.c | ||
py-shared.exp | ||
py-strfns.c | ||
py-strfns.exp | ||
py-symbol.c | ||
py-symbol.exp | ||
py-symtab.exp | ||
py-template.cc | ||
py-template.exp | ||
py-type.c | ||
py-type.exp | ||
py-typeprint.cc | ||
py-typeprint.exp | ||
py-typeprint.py | ||
py-value-cc.exp | ||
py-value.c | ||
py-value.cc | ||
py-value.exp | ||
python-1.c | ||
python.c | ||
python.exp | ||
source1 | ||
source2.py |