diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 5b38a678726..403675eaea0 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,7 @@ +2011-10-26 Paul Koning + + * gdb.texinfo (gdb.types): Document new deepitems function. + 2011-10-25 Paul Koning PR python/13327 diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 853692c1203..b451a6afedb 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -24424,6 +24424,35 @@ Return @code{True} if @var{type}, assumed to be a type with fields @item make_enum_dict (@var{enum_type}) Return a Python @code{dictionary} type produced from @var{enum_type}. + +@item deepitems (@var{type}) +Returns a Python iterator similar to the standard +@code{gdb.Type.iteritems} method, except that the iterator returned +by @code{deepitems} will recursively traverse anonymous struct or +union fields. For example: + +@smallexample +struct A +@{ + int a; + union @{ + int b0; + int b1; + @}; +@}; +@end smallexample + +@noindent +Then in @value{GDBN}: +@smallexample +(@value{GDBP}) python import gdb.types +(@value{GDBP}) python struct_a = gdb.lookup_type("struct A") +(@value{GDBP}) python print struct_a.keys () +@{['a', '']@} +(@value{GDBP}) python print [k for k,v in gdb.types.deepitems(struct_a)] +@{['a', 'b0', 'b1']@} +@end smallexample + @end table @node gdb.prompt