GDB (xrefs)

Classes | Functions
gdb.types Namespace Reference

## Classes
class | TypePrinter

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

## Function Documentation

## ◆ _get_some_type_recognizers()

def gdb.types._get_some_type_recognizers | ( |  | result,
|  |  | plist
| ) |  |
| private

Definition at line 138 of file types.py.

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

## ◆ apply_type_recognizers()

def 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 160 of file types.py.

Referenced by gdb.types.TypePrinter.instantiate().

## ◆ deep_items()

def 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.

## ◆ get_basic_type()

def 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()

def gdb.types.get_type_recognizers | ( |  | ) |

Definition at line 146 of file types.py.

References gdb.types._get_some_type_recognizers().

Referenced by gdb.types.TypePrinter.instantiate().

## ◆ has_field()

def 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 44 of file types.py.

References gdb.types.get_basic_type().

Referenced by value_has_field().

## ◆ make_enum_dict()

def 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()

def 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 170 of file types.py.

Referenced by gdb.types.TypePrinter.instantiate().