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 | stpy_symtab_object |
struct | salpy_sal_object |
Macros | |
#define | STPY_REQUIRE_VALID(symtab_obj, symtab) |
#define | SALPY_REQUIRE_VALID(sal_obj, sal) |
Typedefs | |
typedef struct stpy_symtab_object | symtab_object |
typedef struct salpy_sal_object | sal_object |
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) |
static void | del_objfile_symtab (struct objfile *objfile, void *datum) |
static void | del_objfile_sal (struct objfile *objfile, void *datum) |
int | gdbpy_initialize_symtabs (void) |
Variables | |
static const struct objfile_data * | stpy_objfile_data_key |
static const struct objfile_data * | salpy_objfile_data_key |
static PyGetSetDef | symtab_object_getset [] |
static PyMethodDef | symtab_object_methods [] |
PyTypeObject | symtab_object_type |
static PyGetSetDef | sal_object_getset [] |
static PyMethodDef | sal_object_methods [] |
PyTypeObject | sal_object_type |
#define SALPY_REQUIRE_VALID | ( | sal_obj, | |
sal | |||
) |
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 | |||
) |
Definition at line 46 of file py-symtab.c.
Referenced by stpy_fullname(), stpy_get_filename(), stpy_get_linetable(), stpy_get_objfile(), stpy_get_producer(), stpy_global_block(), stpy_static_block(), and stpy_str().
typedef struct salpy_sal_object sal_object |
typedef struct stpy_symtab_object symtab_object |
PyTypeObject symtab_object_type CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF | ( | "symtab_object" | ) |
PyTypeObject sal_object_type CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF | ( | "sal_object" | ) |
|
static |
Definition at line 499 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 |
Definition at line 478 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 521 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 | ) |
Definition at line 456 of file py-symtab.c.
References sal_object_type.
Referenced by salpy_is_valid().
|
static |
Definition at line 331 of file py-symtab.c.
References salpy_sal_object::next, salpy_sal_object::prev, Py_DECREF, Py_TYPE, salpy_sal_object::sal, salpy_objfile_data_key, stpy_symtab_object::symtab, salpy_sal_object::symtab, SYMTAB_OBJFILE, and xfree().
|
static |
Definition at line 280 of file py-symtab.c.
References symtab_and_line::end, gdb_py_long_from_ulongest, and SALPY_REQUIRE_VALID.
|
static |
Definition at line 293 of file py-symtab.c.
References symtab_and_line::line, and SALPY_REQUIRE_VALID.
|
static |
Definition at line 267 of file py-symtab.c.
References gdb_py_long_from_ulongest, symtab_and_line::pc, and SALPY_REQUIRE_VALID.
|
static |
Definition at line 303 of file py-symtab.c.
References SALPY_REQUIRE_VALID, and salpy_sal_object::symtab.
|
static |
Definition at line 319 of file py-symtab.c.
References sal_object_to_symtab_and_line().
|
static |
Definition at line 225 of file py-symtab.c.
References symtab::filename, symtab_and_line::line, SALPY_REQUIRE_VALID, stpy_symtab_object::symtab, salpy_sal_object::symtab, symtab_to_filename_for_display(), xfree(), and xstrprintf().
|
static |
Definition at line 355 of file py-symtab.c.
References salpy_sal_object::next, salpy_sal_object::prev, salpy_sal_object::sal, salpy_objfile_data_key, stpy_symtab_object::symtab, salpy_sal_object::symtab, symtab_and_line::symtab, SYMTAB_OBJFILE, and symtab_to_symtab_object().
Referenced by symtab_and_line_to_sal_object().
|
static |
Definition at line 402 of file py-symtab.c.
References stpy_symtab_object::next, stpy_symtab_object::prev, stpy_objfile_data_key, stpy_symtab_object::symtab, symtab_and_line::symtab, and SYMTAB_OBJFILE.
Referenced by symtab_to_symtab_object().
|
static |
Definition at line 249 of file py-symtab.c.
References stpy_symtab_object::next, stpy_symtab_object::prev, stpy_objfile_data_key, stpy_symtab_object::symtab, and SYMTAB_OBJFILE.
|
static |
Definition at line 151 of file py-symtab.c.
References host_charset(), STPY_REQUIRE_VALID, and symtab_to_fullname().
|
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 |
Definition at line 215 of file py-symtab.c.
References STPY_REQUIRE_VALID, and symtab_to_linetable_object().
|
static |
Definition at line 117 of file py-symtab.c.
References objfile_to_objfile_object(), STPY_REQUIRE_VALID, and SYMTAB_OBJFILE.
|
static |
Definition at line 132 of file py-symtab.c.
References COMPUNIT_PRODUCER, host_charset(), compunit_symtab::producer, STPY_REQUIRE_VALID, and SYMTAB_COMPUNIT.
|
static |
Definition at line 181 of file py-symtab.c.
References block_to_block_object(), BLOCKVECTOR_BLOCK, GLOBAL_BLOCK, STPY_REQUIRE_VALID, SYMTAB_BLOCKVECTOR, and SYMTAB_OBJFILE.
|
static |
Definition at line 167 of file py-symtab.c.
References symtab_object_to_symtab().
|
static |
Definition at line 197 of file py-symtab.c.
References block_to_block_object(), BLOCKVECTOR_BLOCK, STATIC_BLOCK, STPY_REQUIRE_VALID, SYMTAB_BLOCKVECTOR, and SYMTAB_OBJFILE.
|
static |
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 435 of file py-symtab.c.
References Py_DECREF, sal_object_type, and set_sal().
Referenced by frapy_find_sal(), gdbpy_decode_line(), and gdbpy_find_pc_line().
struct symtab* symtab_object_to_symtab | ( | PyObject * | obj | ) |
Definition at line 465 of file py-symtab.c.
References symtab_object_type.
Referenced by ltpy_is_valid(), ltpy_iter_is_valid(), and stpy_is_valid().
PyObject* symtab_to_symtab_object | ( | struct symtab * | symtab | ) |
Definition at line 421 of file py-symtab.c.
References set_symtab(), and symtab_object_type.
Referenced by set_sal(), and sympy_get_symtab().
|
static |
Definition at line 612 of file py-symtab.c.
|
static |
Definition at line 622 of file py-symtab.c.
PyTypeObject sal_object_type |
Definition at line 629 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 73 of file py-symtab.c.
Referenced by gdbpy_initialize_symtabs(), salpy_dealloc(), and set_sal().
|
static |
Definition at line 42 of file py-symtab.c.
Referenced by gdbpy_initialize_symtabs(), set_symtab(), and stpy_dealloc().
|
static |
Definition at line 550 of file py-symtab.c.
|
static |
Definition at line 560 of file py-symtab.c.
PyTypeObject symtab_object_type |
Definition at line 579 of file py-symtab.c.
Referenced by gdbpy_initialize_symtabs(), symtab_object_to_symtab(), and symtab_to_symtab_object().