GDB (xrefs)
|
#include "defs.h"
#include "charset.h"
#include "symtab.h"
#include "source.h"
#include "python-internal.h"
#include "objfiles.h"
#include "block.h"
Go to the source code of this file.
#define SALPY_REQUIRE_VALID | ( | sal_obj, | |
sal | |||
) |
do { \ sal = sal_object_to_symtab_and_line (sal_obj); \ if (sal == NULL) \ { \ PyErr_SetString (PyExc_RuntimeError, \ _("Symbol Table and Line is invalid.")); \ return NULL; \ } \ } while (0)
Definition at line 77 of file py-symtab.c.
Referenced by salpy_get_last(), salpy_get_line(), salpy_get_pc(), salpy_get_symtab(), and salpy_str().
#define STPY_REQUIRE_VALID | ( | symtab_obj, | |
symtab | |||
) |
do { \ symtab = symtab_object_to_symtab (symtab_obj); \ if (symtab == NULL) \ { \ PyErr_SetString (PyExc_RuntimeError, \ _("Symbol Table is invalid.")); \ return NULL; \ } \ } while (0)
Definition at line 46 of file py-symtab.c.
Referenced by stpy_fullname(), stpy_get_filename(), stpy_get_objfile(), stpy_global_block(), stpy_static_block(), and stpy_str().
typedef struct salpy_sal_object sal_object |
typedef struct stpy_symtab_object symtab_object |
static PyTypeObject symtab_object_type CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF | ( | "symtab_object" | ) | [static] |
static PyTypeObject sal_object_type CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF | ( | "sal_object" | ) | [static] |
static void del_objfile_sal | ( | struct objfile * | objfile, |
void * | datum | ||
) | [static] |
Definition at line 463 of file py-symtab.c.
References salpy_sal_object::next, symtab::next, salpy_sal_object::prev, Py_DECREF, salpy_sal_object::sal, salpy_sal_object::symtab, and xfree().
Referenced by gdbpy_initialize_symtabs().
static void del_objfile_symtab | ( | struct objfile * | objfile, |
void * | datum | ||
) | [static] |
Definition at line 442 of file py-symtab.c.
References stpy_symtab_object::next, symtab::next, stpy_symtab_object::prev, and stpy_symtab_object::symtab.
Referenced by gdbpy_initialize_symtabs().
int gdbpy_initialize_symtabs | ( | void | ) |
Definition at line 485 of file py-symtab.c.
References del_objfile_sal(), del_objfile_symtab(), gdb_module, gdb_pymodule_addobject(), sal_object_type, salpy_objfile_data_key, stpy_objfile_data_key, and symtab_object_type.
Referenced by _initialize_python().
struct symtab_and_line* sal_object_to_symtab_and_line | ( | PyObject * | obj | ) | [read] |
Definition at line 420 of file py-symtab.c.
References sal_object_type.
Referenced by salpy_is_valid().
static void salpy_dealloc | ( | PyObject * | self | ) | [static] |
Definition at line 296 of file py-symtab.c.
References salpy_sal_object::next, symtab::objfile, salpy_sal_object::prev, Py_DECREF, salpy_sal_object::sal, salpy_objfile_data_key, stpy_symtab_object::symtab, salpy_sal_object::symtab, and xfree().
static PyObject* salpy_get_last | ( | PyObject * | self, |
void * | closure | ||
) | [static] |
Definition at line 245 of file py-symtab.c.
References symtab_and_line::end, gdb_py_long_from_ulongest, and SALPY_REQUIRE_VALID.
static PyObject* salpy_get_line | ( | PyObject * | self, |
void * | closure | ||
) | [static] |
Definition at line 258 of file py-symtab.c.
References symtab_and_line::line, and SALPY_REQUIRE_VALID.
static PyObject* salpy_get_pc | ( | PyObject * | self, |
void * | closure | ||
) | [static] |
Definition at line 232 of file py-symtab.c.
References gdb_py_long_from_ulongest, symtab_and_line::pc, and SALPY_REQUIRE_VALID.
static PyObject* salpy_get_symtab | ( | PyObject * | self, |
void * | closure | ||
) | [static] |
Definition at line 268 of file py-symtab.c.
References SALPY_REQUIRE_VALID, and salpy_sal_object::symtab.
static PyObject* salpy_is_valid | ( | PyObject * | self, |
PyObject * | args | ||
) | [static] |
Definition at line 284 of file py-symtab.c.
References sal_object_to_symtab_and_line().
Definition at line 190 of file py-symtab.c.
References symtab_and_line::line, SALPY_REQUIRE_VALID, stpy_symtab_object::symtab, salpy_sal_object::symtab, symtab_to_filename_for_display(), xfree(), and xstrprintf().
static int CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION set_sal | ( | sal_object * | sal_obj, |
struct symtab_and_line | sal | ||
) | [static] |
Definition at line 320 of file py-symtab.c.
References salpy_sal_object::next, symtab::objfile, salpy_sal_object::prev, salpy_sal_object::sal, salpy_objfile_data_key, stpy_symtab_object::symtab, salpy_sal_object::symtab, symtab_and_line::symtab, and symtab_to_symtab_object().
Referenced by symtab_and_line_to_sal_object().
static void set_symtab | ( | symtab_object * | obj, |
struct symtab * | symtab | ||
) | [static] |
Definition at line 367 of file py-symtab.c.
References stpy_symtab_object::next, symtab::objfile, stpy_symtab_object::prev, stpy_objfile_data_key, stpy_symtab_object::symtab, and symtab_and_line::symtab.
Referenced by symtab_to_symtab_object().
static void stpy_dealloc | ( | PyObject * | obj | ) | [static] |
Definition at line 214 of file py-symtab.c.
References stpy_symtab_object::next, symtab::objfile, stpy_symtab_object::prev, stpy_objfile_data_key, and stpy_symtab_object::symtab.
static PyObject* stpy_fullname | ( | PyObject * | self, |
PyObject * | args | ||
) | [static] |
Definition at line 130 of file py-symtab.c.
References symtab::fullname, host_charset(), STPY_REQUIRE_VALID, and symtab_to_fullname().
static PyObject* stpy_get_filename | ( | PyObject * | self, |
void * | closure | ||
) | [static] |
Definition at line 102 of file py-symtab.c.
References symtab::filename, host_charset(), STPY_REQUIRE_VALID, and symtab_to_filename_for_display().
static PyObject* stpy_get_objfile | ( | PyObject * | self, |
void * | closure | ||
) | [static] |
Definition at line 117 of file py-symtab.c.
References symtab::objfile, objfile_to_objfile_object(), and STPY_REQUIRE_VALID.
static PyObject* stpy_global_block | ( | PyObject * | self, |
PyObject * | args | ||
) | [static] |
Definition at line 160 of file py-symtab.c.
References block_to_block_object(), BLOCKVECTOR, BLOCKVECTOR_BLOCK, GLOBAL_BLOCK, symtab::objfile, and STPY_REQUIRE_VALID.
static PyObject* stpy_is_valid | ( | PyObject * | self, |
PyObject * | args | ||
) | [static] |
Definition at line 146 of file py-symtab.c.
References symtab_object_to_symtab().
static PyObject* stpy_static_block | ( | PyObject * | self, |
PyObject * | args | ||
) | [static] |
Definition at line 176 of file py-symtab.c.
References block_to_block_object(), BLOCKVECTOR, BLOCKVECTOR_BLOCK, symtab::objfile, STATIC_BLOCK, and STPY_REQUIRE_VALID.
Definition at line 89 of file py-symtab.c.
References STPY_REQUIRE_VALID, and symtab_to_filename_for_display().
PyObject* symtab_and_line_to_sal_object | ( | struct symtab_and_line | sal | ) |
Definition at line 399 of file py-symtab.c.
References Py_DECREF, sal_object_type, and set_sal().
Referenced by frapy_find_sal().
struct symtab* symtab_object_to_symtab | ( | PyObject * | obj | ) | [read] |
Definition at line 429 of file py-symtab.c.
References symtab_object_type.
Referenced by stpy_is_valid().
PyObject* symtab_to_symtab_object | ( | struct symtab * | symtab | ) |
Definition at line 385 of file py-symtab.c.
References set_symtab(), and symtab_object_type.
Referenced by set_sal(), and sympy_get_symtab().
PyGetSetDef sal_object_getset[] [static] |
{ { "symtab", salpy_get_symtab, NULL, "Symtab object.", NULL }, { "pc", salpy_get_pc, NULL, "Return the symtab_and_line's pc.", NULL }, { "last", salpy_get_last, NULL, "Return the symtab_and_line's last address.", NULL }, { "line", salpy_get_line, NULL, "Return the symtab_and_line's line.", NULL }, {NULL} }
Definition at line 571 of file py-symtab.c.
PyMethodDef sal_object_methods[] [static] |
{ { "is_valid", salpy_is_valid, METH_NOARGS, "is_valid () -> Boolean.\n\ Return true if this symbol table and line is valid, false if not." }, {NULL} }
Definition at line 581 of file py-symtab.c.
PyTypeObject sal_object_type [static] |
Definition at line 588 of file py-symtab.c.
Referenced by gdbpy_initialize_symtabs(), sal_object_to_symtab_and_line(), and symtab_and_line_to_sal_object().
struct objfile_data* salpy_objfile_data_key [static] |
Definition at line 73 of file py-symtab.c.
Referenced by gdbpy_initialize_symtabs(), salpy_dealloc(), and set_sal().
struct objfile_data* stpy_objfile_data_key [static] |
Definition at line 42 of file py-symtab.c.
Referenced by gdbpy_initialize_symtabs(), set_symtab(), and stpy_dealloc().
PyGetSetDef symtab_object_getset[] [static] |
{ { "filename", stpy_get_filename, NULL, "The symbol table's source filename.", NULL }, { "objfile", stpy_get_objfile, NULL, "The symtab's objfile.", NULL }, {NULL} }
Definition at line 514 of file py-symtab.c.
PyMethodDef symtab_object_methods[] [static] |
{ { "is_valid", stpy_is_valid, METH_NOARGS, "is_valid () -> Boolean.\n\ Return true if this symbol table is valid, false if not." }, { "fullname", stpy_fullname, METH_NOARGS, "fullname () -> String.\n\ Return the symtab's full source filename." }, { "global_block", stpy_global_block, METH_NOARGS, "global_block () -> gdb.Block.\n\ Return the global block of the symbol table." }, { "static_block", stpy_static_block, METH_NOARGS, "static_block () -> gdb.Block.\n\ Return the static block of the symbol table." }, {NULL} }
Definition at line 522 of file py-symtab.c.
PyTypeObject symtab_object_type [static] |
Definition at line 538 of file py-symtab.c.
Referenced by gdbpy_initialize_symtabs(), symtab_object_to_symtab(), and symtab_to_symtab_object().