static PyObject * salpy_get_line (PyObject *self, void *closure) { struct symtab_and_line *sal = NULL; SALPY_REQUIRE_VALID (self, sal); return PyInt_FromLong (sal->line); }
static PyObject * salpy_get_pc (PyObject *self, void *closure) { struct symtab_and_line *sal = NULL; SALPY_REQUIRE_VALID (self, sal); return gdb_py_long_from_ulongest (sal->pc); }
static PyObject * salpy_get_symtab (PyObject *self, void *closure) { struct symtab_and_line *sal; sal_object *self_sal = (sal_object *) self; SALPY_REQUIRE_VALID (self, sal); Py_INCREF (self_sal->symtab); return (PyObject *) self_sal->symtab; }
static PyObject * salpy_get_last (PyObject *self, void *closure) { struct symtab_and_line *sal = NULL; SALPY_REQUIRE_VALID (self, sal); if (sal->end > 0) return gdb_py_long_from_ulongest (sal->end - 1); else Py_RETURN_NONE; }
static PyObject * salpy_str (PyObject *self) { char *s, *filename; sal_object *sal_obj; PyObject *result; struct symtab_and_line *sal = NULL; SALPY_REQUIRE_VALID (self, sal); sal_obj = (sal_object *) self; filename = (sal_obj->symtab == (symtab_object *) Py_None) ? "<unknown>" : sal_obj->symtab->symtab->filename; s = xstrprintf ("symbol and line for %s, line %d", filename, sal->line); result = PyString_FromString (s); xfree (s); return result; }