Add an objfile getter to gdb.Type
This allows users of the Python API to find the objfile where a type was defined. gdb/ChangeLog: gdb/ChangeLog 2019-06-04 Christian Biesinger <cbiesinger@google.com> Add objfile property to gdb.Type. * gdb/NEWS: Mention Python API addition. * gdb/python/py-type.c (typy_get_objfile): New method. gdb/doc/ChangeLog 2019-06-04 Christian Biesinger <cbiesinger@google.com> * gdb/doc/python.texi: Document new gdb.Type.objfile property. gdb/testsuite/ChangeLog 2019-06-04 Christian Biesinger <cbiesinger@google.com> * gdb/testsuite/gdb.python/py-type.exp: Test for new gdb.Type.objfile property.
This commit is contained in:
parent
a9d96ab97e
commit
e1f2e1a2da
7 changed files with 41 additions and 0 deletions
|
@ -413,6 +413,18 @@ typy_get_tag (PyObject *self, void *closure)
|
|||
return PyString_FromString (tagname);
|
||||
}
|
||||
|
||||
/* Return the type's objfile, or None. */
|
||||
static PyObject *
|
||||
typy_get_objfile (PyObject *self, void *closure)
|
||||
{
|
||||
struct type *type = ((type_object *) self)->type;
|
||||
struct objfile *objfile = TYPE_OBJFILE (type);
|
||||
|
||||
if (objfile == nullptr)
|
||||
Py_RETURN_NONE;
|
||||
return objfile_to_objfile_object (objfile).release ();
|
||||
}
|
||||
|
||||
/* Return the type, stripped of typedefs. */
|
||||
static PyObject *
|
||||
typy_strip_typedefs (PyObject *self, PyObject *args)
|
||||
|
@ -1419,6 +1431,8 @@ static gdb_PyGetSetDef type_object_getset[] =
|
|||
"The size of this type, in bytes.", NULL },
|
||||
{ "tag", typy_get_tag, NULL,
|
||||
"The tag name for this type, or None.", NULL },
|
||||
{ "objfile", typy_get_objfile, NULL,
|
||||
"The objfile this type was defined in, or None.", NULL },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue