|
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().
1.7.6.1