* gdb.texinfo (gdb.types): Document new deepitems function.
authorPaul Koning <pkoning@equallogic.com>
Wed, 26 Oct 2011 15:10:38 +0000 (15:10 +0000)
committerPaul Koning <pkoning@equallogic.com>
Wed, 26 Oct 2011 15:10:38 +0000 (15:10 +0000)
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo

index 5b38a67..403675e 100644 (file)
@@ -1,3 +1,7 @@
+2011-10-26  Paul Koning  <paul_koning@dell.com>
+
+       * gdb.texinfo (gdb.types): Document new deepitems function.
+       
 2011-10-25  Paul Koning  <paul_koning@dell.com>
 
        PR python/13327
index 853692c..b451a6a 100644 (file)
@@ -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