|
GDB (xrefs)
|
#include "defs.h"#include "block.h"#include "dictionary.h"#include "symtab.h"#include "python-internal.h"#include "objfiles.h"Go to the source code of this file.
| #define BLPY_ITER_REQUIRE_VALID | ( | block_obj | ) |
do { \ if (block_obj->block == NULL) \ { \ PyErr_SetString (PyExc_RuntimeError, \ _("Source block for iterator is invalid.")); \ return NULL; \ } \ } while (0)
Definition at line 71 of file py-block.c.
Referenced by blpy_block_syms_iter(), and blpy_block_syms_iternext().
| #define BLPY_REQUIRE_VALID | ( | block_obj, | |
| block | |||
| ) |
do { \ block = block_object_to_block (block_obj); \ if (block == NULL) \ { \ PyErr_SetString (PyExc_RuntimeError, \ _("Block is invalid.")); \ return NULL; \ } \ } while (0)
Definition at line 58 of file py-block.c.
Referenced by blpy_get_end(), blpy_get_function(), blpy_get_global_block(), blpy_get_start(), blpy_get_static_block(), blpy_get_superblock(), blpy_is_global(), blpy_is_static(), and blpy_iter().
| typedef struct blpy_block_object block_object |
| struct block* block_object_to_block | ( | PyObject * | obj | ) | [read] |
Definition at line 284 of file py-block.c.
References block_object_type.
Referenced by blpy_is_valid(), frapy_read_var(), gdbpy_lookup_symbol(), gdbpy_lookup_type(), and typy_template_argument().
| PyObject* block_to_block_object | ( | const struct block * | block, |
| struct objfile * | objfile | ||
| ) |
Definition at line 271 of file py-block.c.
References block_object_type, and set_block().
Referenced by blpy_get_global_block(), blpy_get_static_block(), blpy_get_superblock(), frapy_block(), gdbpy_block_for_pc(), stpy_global_block(), and stpy_static_block().
| static void blpy_block_syms_dealloc | ( | PyObject * | obj | ) | [static] |
Definition at line 331 of file py-block.c.
References block_syms_iterator_object::source.
| static PyObject* blpy_block_syms_iter | ( | PyObject * | self | ) | [static] |
Definition at line 293 of file py-block.c.
References BLPY_ITER_REQUIRE_VALID, and block_syms_iterator_object::source.
| static PyObject* blpy_block_syms_iternext | ( | PyObject * | self | ) | [static] |
Definition at line 306 of file py-block.c.
References _, block_syms_iterator_object::block, block_iterator_first(), block_iterator_next(), BLPY_ITER_REQUIRE_VALID, block_syms_iterator_object::initialized_p, block_syms_iterator_object::iter, block_syms_iterator_object::source, and symbol_to_symbol_object().
| static void blpy_dealloc | ( | PyObject * | obj | ) | [static] |
Definition at line 229 of file py-block.c.
References blpy_block_object::block, blpy_objfile_data_key, blpy_block_object::next, blpy_block_object::objfile, and blpy_block_object::prev.
| static PyObject* blpy_get_end | ( | PyObject * | self, |
| void * | closure | ||
| ) | [static] |
Definition at line 117 of file py-block.c.
References BLOCK_END, BLPY_REQUIRE_VALID, and gdb_py_object_from_ulongest().
| static PyObject* blpy_get_function | ( | PyObject * | self, |
| void * | closure | ||
| ) | [static] |
Definition at line 127 of file py-block.c.
References BLOCK_FUNCTION, BLPY_REQUIRE_VALID, and symbol_to_symbol_object().
| static PyObject* blpy_get_global_block | ( | PyObject * | self, |
| void * | closure | ||
| ) | [static] |
Definition at line 160 of file py-block.c.
References block_global_block(), block_to_block_object(), BLPY_REQUIRE_VALID, and blpy_block_object::objfile.
| static PyObject* blpy_get_start | ( | PyObject * | self, |
| void * | closure | ||
| ) | [static] |
Definition at line 107 of file py-block.c.
References BLOCK_START, BLPY_REQUIRE_VALID, and gdb_py_object_from_ulongest().
| static PyObject* blpy_get_static_block | ( | PyObject * | self, |
| void * | closure | ||
| ) | [static] |
Definition at line 179 of file py-block.c.
References block_static_block(), BLOCK_SUPERBLOCK, block_to_block_object(), BLPY_REQUIRE_VALID, and blpy_block_object::objfile.
| static PyObject* blpy_get_superblock | ( | PyObject * | self, |
| void * | closure | ||
| ) | [static] |
Definition at line 142 of file py-block.c.
References BLOCK_SUPERBLOCK, block_to_block_object(), BLPY_REQUIRE_VALID, and blpy_block_object::objfile.
| static PyObject* blpy_is_global | ( | PyObject * | self, |
| void * | closure | ||
| ) | [static] |
Definition at line 199 of file py-block.c.
References BLOCK_SUPERBLOCK, and BLPY_REQUIRE_VALID.
| static PyObject* blpy_is_static | ( | PyObject * | self, |
| void * | closure | ||
| ) | [static] |
Definition at line 215 of file py-block.c.
References BLOCK_SUPERBLOCK, and BLPY_REQUIRE_VALID.
| static PyObject* blpy_is_valid | ( | PyObject * | self, |
| PyObject * | args | ||
| ) | [static] |
Definition at line 342 of file py-block.c.
References block_object_to_block().
Definition at line 86 of file py-block.c.
References block_syms_iterator_object::block, block_syms_iterator_object_type, BLPY_REQUIRE_VALID, block_syms_iterator_object::initialized_p, and block_syms_iterator_object::source.
| static PyObject* blpy_iter_is_valid | ( | PyObject * | self, |
| PyObject * | args | ||
| ) | [static] |
Definition at line 357 of file py-block.c.
References blpy_block_object::block, and block_syms_iterator_object::source.
| static PyTypeObject block_syms_iterator_object_type CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF | ( | "block_syms_iterator_object" | ) | [static] |
| static void del_objfile_blocks | ( | struct objfile * | objfile, |
| void * | datum | ||
| ) | [static] |
Definition at line 411 of file py-block.c.
References blpy_block_object::block, blpy_block_object::next, blpy_block_object::objfile, and blpy_block_object::prev.
Referenced by gdbpy_initialize_blocks().
| PyObject* gdbpy_block_for_pc | ( | PyObject * | self, |
| PyObject * | args | ||
| ) |
Definition at line 371 of file py-block.c.
References _, block_for_pc(), block_to_block_object(), find_pc_mapped_section(), find_pc_sect_symtab(), GDB_PY_HANDLE_EXCEPTION, GDB_PY_LLU_ARG, symtab::objfile, RETURN_MASK_ALL, and TRY_CATCH.
| int gdbpy_initialize_blocks | ( | void | ) |
Definition at line 429 of file py-block.c.
References block_object_type, block_syms_iterator_object_type, blpy_objfile_data_key, del_objfile_blocks(), gdb_module, and gdb_pymodule_addobject().
Referenced by _initialize_python().
| static void set_block | ( | block_object * | obj, |
| const struct block * | block, | ||
| struct objfile * | objfile | ||
| ) | [static] |
Definition at line 251 of file py-block.c.
References blpy_block_object::block, blpy_objfile_data_key, blpy_block_object::next, blpy_block_object::objfile, and blpy_block_object::prev.
Referenced by block_to_block_object().
PyMethodDef block_iterator_object_methods[] [static] |
{
{ "is_valid", blpy_iter_is_valid, METH_NOARGS,
"is_valid () -> Boolean.\n\
Return true if this block iterator is valid, false if not." },
{NULL}
}
Definition at line 513 of file py-block.c.
PyGetSetDef block_object_getset[] [static] |
{
{ "start", blpy_get_start, NULL, "Start address of the block.", NULL },
{ "end", blpy_get_end, NULL, "End address of the block.", NULL },
{ "function", blpy_get_function, NULL,
"Symbol that names the block, or None.", NULL },
{ "superblock", blpy_get_superblock, NULL,
"Block containing the block, or None.", NULL },
{ "global_block", blpy_get_global_block, NULL,
"Block containing the global block.", NULL },
{ "static_block", blpy_get_static_block, NULL,
"Block containing the static block.", NULL },
{ "is_static", blpy_is_static, NULL,
"Whether this block is a static block.", NULL },
{ "is_global", blpy_is_global, NULL,
"Whether this block is a global block.", NULL },
{ NULL }
}
Definition at line 462 of file py-block.c.
PyMethodDef block_object_methods[] [static] |
{
{ "is_valid", blpy_is_valid, METH_NOARGS,
"is_valid () -> Boolean.\n\
Return true if this block is valid, false if not." },
{NULL}
}
Definition at line 455 of file py-block.c.
| PyTypeObject block_object_type |
Definition at line 480 of file py-block.c.
Referenced by block_object_to_block(), block_to_block_object(), gdbpy_initialize_blocks(), and gdbpy_lookup_symbol().
PyTypeObject block_syms_iterator_object_type [static] |
{
PyVarObject_HEAD_INIT (NULL, 0)
"gdb.BlockIterator",
sizeof (block_syms_iterator_object),
0,
blpy_block_syms_dealloc,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_ITER,
"GDB block syms iterator object",
0,
0,
0,
0,
blpy_block_syms_iter,
blpy_block_syms_iternext,
block_iterator_object_methods
}
Definition at line 520 of file py-block.c.
Referenced by blpy_iter(), and gdbpy_initialize_blocks().
struct objfile_data* blpy_objfile_data_key [static] |
Definition at line 83 of file py-block.c.
Referenced by blpy_dealloc(), gdbpy_initialize_blocks(), and set_block().
1.7.6.1