This is the mail archive of the mailing list for the GDB project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Python pretty-printing [3/6]

> From: Tom Tromey <>
> Date: Thu, 02 Apr 2009 14:55:41 -0600
> 2009-04-01  Thiago Jung Bauermann  <>
> 	    Tom Tromey  <>
> 	* gdb.texinfo (Types From Inferior): New node.
> 	(Python API): Update.

Thanks.  Comments:

> +@node Types From Inferior
> +@subsubsection Types From Inferior

Some @cindex entry here would be good.

>                            The base types of C++ classes are also

Please use "C@t{++}", it looks better in print.

> +@item bitpos
> +This attribute is not available for @code{static} fields.  For
> +non-@code{static} fields, the value is the bit position of the field.

What are "static fields"?  Should that be explained here?

> +@item type
> +The type of the field.  This is usually an instance of @code{Type},
> +but it can be @code{None} in some situations.

Should we tell what are those situations where you get "None", or at
least give an example or two?

> +@defmethod Type tag
> +Return the tag name for this type.  The tag name is the name after
> +@code{struct}, @code{union}, or @code{enum} in C; not all languages
> +have this concept.

Should we talk about more than just C?  (I assume that at least one
more language has some of these tag names.)

> +For a pointer type, the target type is the type of the pointed-to
> +object.  For an array type, the target type is the type of the
> +elements of the array.  For a function type, the target type is the
> +type of the return value.  For a complex type, the target type is the
> +type of the elements.  For a typedef, the target type is the aliased
> +type.

Again, this sounds specific to C and C++; isn't there something useful
we can tell for other languages, like Ada or Pascal or Java?

> +@defmethod Type template_argument n
> +If this @code{gdb.Type} is a template type, this will return a new
> +@code{gdb.Type} which represents the type of the @var{n}th template
> +argument.

Is this C++-specific?  If so, what will happen in other languages?

> +A C++ method type.

Would it make sense to call it TYPE_CODE_CPP_METHOD, to make more
clear that it's C++-specific (is it?)?  Likewise for other
C++-specific constants described below.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]