GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Functions
gdb.types Namespace Reference

Classes

class  TypePrinter
 

Functions

 get_basic_type (type_)
 
 has_field (type_, field)
 
 make_enum_dict (enum_type)
 
 deep_items (type_)
 
 _get_some_type_recognizers (result, plist)
 
 get_type_recognizers ()
 
 apply_type_recognizers (recognizers, type_obj)
 
 register_type_printer (locus, printer)
 

Detailed Description

Utilities for working with gdb.Types.

Function Documentation

◆ _get_some_type_recognizers()

gdb.types._get_some_type_recognizers ( result,
plist )
protected

Definition at line 140 of file types.py.

Referenced by gdb.types.get_type_recognizers(), and gdb.types.TypePrinter.instantiate().

◆ apply_type_recognizers()

gdb.types.apply_type_recognizers ( recognizers,
type_obj )
Apply the given list of type recognizers to the type TYPE_OBJ.
If any recognizer in the list recognizes TYPE_OBJ, returns the name
given by the recognizer.  Otherwise, this returns None.

Definition at line 164 of file types.py.

◆ deep_items()

gdb.types.deep_items ( type_)
Return an iterator that recursively traverses anonymous fields.

Arguments:
    type_: The type to traverse.  It should be one of
    gdb.TYPE_CODE_STRUCT or gdb.TYPE_CODE_UNION.

Returns:
    an iterator similar to gdb.Type.iteritems(), i.e., it returns
    pairs of key, value, but for any anonymous struct or union
    field that field is traversed recursively, depth-first.

Definition at line 96 of file types.py.

References gdb.types.deep_items().

Referenced by gdb.types.deep_items().

◆ get_basic_type()

gdb.types.get_basic_type ( type_)
Return the "basic" type of a type.

Arguments:
    type_: The type to reduce to its basic type.

Returns:
    type_ with const/volatile is stripped away,
    and typedefs/references converted to the underlying type.

Definition at line 22 of file types.py.

Referenced by gdb.printing.RegexpCollectionPrettyPrinter.__call__(), and gdb.types.has_field().

◆ get_type_recognizers()

gdb.types.get_type_recognizers ( )

◆ has_field()

gdb.types.has_field ( type_,
field )
Return True if a type has the specified field.

Arguments:
    type_: The type to examine.
        It must be one of gdb.TYPE_CODE_STRUCT, gdb.TYPE_CODE_UNION.
    field: The name of the field to look up.

Returns:
    True if the field is present either in type_ or any baseclass.

Raises:
    TypeError: The type is not a struct or union.

Definition at line 45 of file types.py.

References gdb.types.get_basic_type(), and gdb.types.has_field().

Referenced by gdb.types.has_field().

◆ make_enum_dict()

gdb.types.make_enum_dict ( enum_type)
Return a dictionary from a program's enum type.

Arguments:
    enum_type: The enum to compute the dictionary for.

Returns:
    The dictionary of the enum.

Raises:
    TypeError: The type is not an enum.

Definition at line 74 of file types.py.

◆ register_type_printer()

gdb.types.register_type_printer ( locus,
printer )
Register a type printer.
PRINTER is the type printer instance.
LOCUS is either an objfile, a program space, or None, indicating
global registration.

Definition at line 175 of file types.py.