[PATCH] Add an objfile getter to gdb.Type
Simon Marchi
simark@simark.ca
Thu May 23 19:34:00 GMT 2019
Hi Christian,
On 2019-05-23 2:39 p.m., Christian Biesinger via gdb-patches wrote:
> diff --git a/gdb/doc/python.texi b/gdb/doc/python.texi
> index 98e52bb770..f769ad03a2 100644
> --- a/gdb/doc/python.texi
> +++ b/gdb/doc/python.texi
> @@ -1087,6 +1087,11 @@ languages have this concept. If this type has no tag name, then
> @code{None} is returned.
> @end defvar
>
> +@defvar Type.objfile
> +The @code{gdb.Objfile} that this type was defined in, or @code{None} if
> +there is no associated objfile.
> +@end defvar
> +
> The following methods are provided:
>
> @defun Type.fields ()
> diff --git a/gdb/python/py-type.c b/gdb/python/py-type.c
> index 22cc658a8b..722960e032 100644
> --- a/gdb/python/py-type.c
> +++ b/gdb/python/py-type.c
> @@ -413,6 +413,20 @@ typy_get_tag (PyObject *self, void *closure)
> return PyString_FromString (tagname);
> }
>
> +/* Return the type's tag, or None. */
copy-pasto: "type's objfile"
> +static PyObject *
> +typy_get_objfile (PyObject *self, void *closure)
> +{
> + struct type *type = ((type_object *) self)->type;
> + struct objfile *objfile = nullptr;
> +
> + objfile = TYPE_OBJFILE(type);
You can write it as
struct objfile *objfile = objfile = TYPE_OBJFILE (type);
directly.
We would need a corresponding test though. It should be a relatively easy addition
to testsuite/gdb.python/py-type.exp. See here for info about how to run just one
test:
https://sourceware.org/gdb/wiki/TestingGDB#Running_specific_tests
Thanks!
Simon
More information about the Gdb-patches
mailing list