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.
Classes | |
struct | symtab_object |
struct | stpy_deleter |
struct | sal_object |
struct | salpy_deleter |
Macros | |
#define | STPY_REQUIRE_VALID(symtab_obj, symtab) |
#define | SALPY_REQUIRE_VALID(sal_obj, sal) |
Functions | |
PyTypeObject symtab_object_type | CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("symtab_object") |
PyTypeObject sal_object_type | CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("sal_object") |
static PyObject * | stpy_str (PyObject *self) |
static PyObject * | stpy_get_filename (PyObject *self, void *closure) |
static PyObject * | stpy_get_objfile (PyObject *self, void *closure) |
static PyObject * | stpy_get_producer (PyObject *self, void *closure) |
static PyObject * | stpy_fullname (PyObject *self, PyObject *args) |
static PyObject * | stpy_is_valid (PyObject *self, PyObject *args) |
static PyObject * | stpy_global_block (PyObject *self, PyObject *args) |
static PyObject * | stpy_static_block (PyObject *self, PyObject *args) |
static PyObject * | stpy_get_linetable (PyObject *self, PyObject *args) |
static PyObject * | salpy_str (PyObject *self) |
static void | stpy_dealloc (PyObject *obj) |
static PyObject * | salpy_get_pc (PyObject *self, void *closure) |
static PyObject * | salpy_get_last (PyObject *self, void *closure) |
static PyObject * | salpy_get_line (PyObject *self, void *closure) |
static PyObject * | salpy_get_symtab (PyObject *self, void *closure) |
static PyObject * | salpy_is_valid (PyObject *self, PyObject *args) |
static void | salpy_dealloc (PyObject *self) |
static int CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION | set_sal (sal_object *sal_obj, struct symtab_and_line sal) |
static void | set_symtab (symtab_object *obj, struct symtab *symtab) |
PyObject * | symtab_to_symtab_object (struct symtab *symtab) |
PyObject * | symtab_and_line_to_sal_object (struct symtab_and_line sal) |
struct symtab_and_line * | sal_object_to_symtab_and_line (PyObject *obj) |
struct symtab * | symtab_object_to_symtab (PyObject *obj) |
int | gdbpy_initialize_symtabs (void) |
Variables | |
static const registry< objfile >::key< symtab_object, stpy_deleter > | stpy_objfile_data_key |
static const registry< objfile >::key< sal_object, salpy_deleter > | salpy_objfile_data_key |
static gdb_PyGetSetDef | symtab_object_getset [] |
static PyMethodDef | symtab_object_methods [] |
PyTypeObject | symtab_object_type |
static gdb_PyGetSetDef | sal_object_getset [] |
static PyMethodDef | sal_object_methods [] |
PyTypeObject | sal_object_type |
#define SALPY_REQUIRE_VALID | ( | sal_obj, | |
sal | |||
) |
Definition at line 129 of file py-symtab.c.
#define STPY_REQUIRE_VALID | ( | symtab_obj, | |
symtab | |||
) |
Definition at line 68 of file py-symtab.c.
PyTypeObject sal_object_type CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF | ( | "sal_object" | ) |
PyTypeObject symtab_object_type CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF | ( | "symtab_object" | ) |
int gdbpy_initialize_symtabs | ( | void | ) |
Definition at line 513 of file py-symtab.c.
References gdb_module, gdb_pymodule_addobject(), sal_object_type, and symtab_object_type.
Referenced by do_start_initialization().
struct symtab_and_line * sal_object_to_symtab_and_line | ( | PyObject * | obj | ) |
Definition at line 496 of file py-symtab.c.
References sal_object_type.
Referenced by salpy_is_valid().
|
static |
Definition at line 375 of file py-symtab.c.
References symtab::compunit(), sal_object::next, compunit_symtab::objfile(), sal_object::prev, sal_object::sal, salpy_objfile_data_key, registry< T >::set(), sal_object::symtab, symtab_object_to_symtab(), and xfree().
|
static |
Definition at line 324 of file py-symtab.c.
References symtab_and_line::end, gdb_py_object_from_ulongest(), and SALPY_REQUIRE_VALID.
|
static |
Definition at line 337 of file py-symtab.c.
References gdb_py_object_from_longest(), symtab_and_line::line, and SALPY_REQUIRE_VALID.
|
static |
Definition at line 311 of file py-symtab.c.
References gdb_py_object_from_ulongest(), symtab_and_line::pc, and SALPY_REQUIRE_VALID.
|
static |
Definition at line 347 of file py-symtab.c.
References SALPY_REQUIRE_VALID, and sal_object::symtab.
|
static |
Definition at line 363 of file py-symtab.c.
References sal_object_to_symtab_and_line().
|
static |
Definition at line 272 of file py-symtab.c.
References symtab::filename, symtab_and_line::line, SALPY_REQUIRE_VALID, sal_object::symtab, symtab_object_to_symtab(), and symtab_to_filename_for_display().
|
static |
Definition at line 400 of file py-symtab.c.
References symtab::compunit(), registry< T >::get(), sal_object::next, compunit_symtab::objfile(), sal_object::prev, sal_object::sal, salpy_objfile_data_key, registry< T >::set(), sal_object::symtab, symtab_and_line::symtab, symtab_object_to_symtab(), and symtab_to_symtab_object().
Referenced by symtab_and_line_to_sal_object().
|
static |
Definition at line 449 of file py-symtab.c.
References symtab::compunit(), registry< T >::get(), symtab_object::next, compunit_symtab::objfile(), symtab_object::prev, registry< T >::set(), stpy_objfile_data_key, symtab_object::symtab, and symtab_and_line::symtab.
Referenced by symtab_to_symtab_object().
|
static |
Definition at line 294 of file py-symtab.c.
References symtab::compunit(), symtab::next, compunit_symtab::objfile(), registry< T >::set(), and stpy_objfile_data_key.
|
static |
Definition at line 198 of file py-symtab.c.
References symtab::fullname, host_string_to_python_string(), STPY_REQUIRE_VALID, and symtab_to_fullname().
|
static |
Definition at line 154 of file py-symtab.c.
References symtab::filename, host_string_to_python_string(), STPY_REQUIRE_VALID, and symtab_to_filename_for_display().
|
static |
Definition at line 262 of file py-symtab.c.
References STPY_REQUIRE_VALID, and symtab_to_linetable_object().
|
static |
Definition at line 168 of file py-symtab.c.
References symtab::compunit(), compunit_symtab::objfile(), objfile_to_objfile_object(), and STPY_REQUIRE_VALID.
|
static |
Definition at line 180 of file py-symtab.c.
References symtab::compunit(), host_string_to_python_string(), compunit_symtab::producer(), and STPY_REQUIRE_VALID.
|
static |
Definition at line 228 of file py-symtab.c.
References block_to_block_object(), compunit_symtab::blockvector(), symtab::compunit(), blockvector::global_block(), compunit_symtab::objfile(), and STPY_REQUIRE_VALID.
|
static |
Definition at line 214 of file py-symtab.c.
References symtab_object_to_symtab().
|
static |
Definition at line 244 of file py-symtab.c.
References block_to_block_object(), compunit_symtab::blockvector(), symtab::compunit(), compunit_symtab::objfile(), blockvector::static_block(), and STPY_REQUIRE_VALID.
|
static |
Definition at line 141 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 481 of file py-symtab.c.
References sal_object_type, and set_sal().
Referenced by frapy_find_sal(), gdbpy_decode_line(), pspy_find_pc_line(), and recpy_bt_insn_sal().
struct symtab * symtab_object_to_symtab | ( | PyObject * | obj | ) |
Definition at line 505 of file py-symtab.c.
References symtab_object_type.
Referenced by ltpy_is_valid(), ltpy_iter_is_valid(), salpy_dealloc(), salpy_str(), set_sal(), and stpy_is_valid().
PyObject * symtab_to_symtab_object | ( | struct symtab * | symtab | ) |
Definition at line 467 of file py-symtab.c.
References set_symtab(), and symtab_object_type.
Referenced by set_sal(), and sympy_get_symtab().
|
static |
Definition at line 595 of file py-symtab.c.
|
static |
Definition at line 605 of file py-symtab.c.
PyTypeObject sal_object_type |
Definition at line 612 of file py-symtab.c.
Referenced by gdbpy_initialize_symtabs(), sal_object_to_symtab_and_line(), and symtab_and_line_to_sal_object().
|
static |
Definition at line 125 of file py-symtab.c.
Referenced by salpy_dealloc(), and set_sal().
|
static |
Definition at line 64 of file py-symtab.c.
Referenced by set_symtab(), and stpy_dealloc().
|
static |
Definition at line 533 of file py-symtab.c.
|
static |
Definition at line 543 of file py-symtab.c.
PyTypeObject symtab_object_type |
Definition at line 562 of file py-symtab.c.
Referenced by gdbpy_initialize_symtabs(), symtab_object_to_symtab(), and symtab_to_symtab_object().