Example #1
0
static PyObject *
stpy_get_linetable (PyObject *self, PyObject *args)
{
  struct symtab *symtab = NULL;

  STPY_REQUIRE_VALID (self, symtab);

  return symtab_to_linetable_object (self);
}
Example #2
0
static PyObject *
stpy_str (PyObject *self)
{
  PyObject *result;
  struct symtab *symtab = NULL;

  STPY_REQUIRE_VALID (self, symtab);

  result = PyString_FromString (symtab_to_filename_for_display (symtab));

  return result;
}
Example #3
0
static PyObject *
stpy_fullname (PyObject *self, PyObject *args)
{
  const char *fullname;
  struct symtab *symtab = NULL;

  STPY_REQUIRE_VALID (self, symtab);

  fullname = symtab_to_fullname (symtab);

  return host_string_to_python_string (fullname);
}
Example #4
0
static PyObject *
stpy_fullname (PyObject *self, PyObject *args)
{
  const char *fullname;
  struct symtab *symtab = NULL;

  STPY_REQUIRE_VALID (self, symtab);

  fullname = symtab_to_fullname (symtab);

  return PyString_Decode (fullname, strlen (fullname), host_charset (), NULL);
}
Example #5
0
static PyObject *
stpy_get_objfile (PyObject *self, void *closure)
{
  struct symtab *symtab = NULL;
  PyObject *result;

  STPY_REQUIRE_VALID (self, symtab);

  result = objfile_to_objfile_object (SYMTAB_OBJFILE (symtab));
  Py_XINCREF (result);
  return result;
}
Example #6
0
static PyObject *
stpy_static_block (PyObject *self, PyObject *args)
{
  struct symtab *symtab = NULL;
  struct block *block = NULL;
  const struct blockvector *blockvector;

  STPY_REQUIRE_VALID (self, symtab);

  blockvector = SYMTAB_BLOCKVECTOR (symtab);
  block = BLOCKVECTOR_BLOCK (blockvector, STATIC_BLOCK);
  return block_to_block_object (block, SYMTAB_OBJFILE (symtab));
}
Example #7
0
static PyObject *
stpy_get_filename (PyObject *self, void *closure)
{
  PyObject *str_obj;
  struct symtab *symtab = NULL;
  const char *filename;

  STPY_REQUIRE_VALID (self, symtab);
  filename = symtab_to_filename_for_display (symtab);

  str_obj = host_string_to_python_string (filename);
  return str_obj;
}
Example #8
0
static PyObject *
stpy_get_filename (PyObject *self, void *closure)
{
    PyObject *str_obj;
    struct symtab *symtab = NULL;

    STPY_REQUIRE_VALID (self, symtab);

    str_obj = PyString_Decode (symtab->filename,
                               strlen (symtab->filename),
                               host_charset (), NULL);
    return str_obj;
}
Example #9
0
static PyObject *
stpy_static_block (PyObject *self, PyObject *args)
{
  struct symtab *symtab = NULL;
  struct block *block = NULL;
  struct blockvector *blockvector;

  STPY_REQUIRE_VALID (self, symtab);

  blockvector = BLOCKVECTOR (symtab);
  block = BLOCKVECTOR_BLOCK (blockvector, STATIC_BLOCK);
  return block_to_block_object (block, symtab->objfile);
}
Example #10
0
static PyObject *
stpy_get_filename (PyObject *self, void *closure)
{
  PyObject *str_obj;
  struct symtab *symtab = NULL;
  const char *filename;

  STPY_REQUIRE_VALID (self, symtab);
  filename = symtab_to_filename_for_display (symtab);

  str_obj = PyString_Decode (filename, strlen (filename),
			     host_charset (), NULL);
  return str_obj;
}
Example #11
0
static PyObject *
stpy_get_producer (PyObject *self, void *closure)
{
  struct symtab *symtab = NULL;
  struct compunit_symtab *cust;

  STPY_REQUIRE_VALID (self, symtab);
  cust = SYMTAB_COMPUNIT (symtab);
  if (COMPUNIT_PRODUCER (cust) != NULL)
    {
      const char *producer = COMPUNIT_PRODUCER (cust);

      return host_string_to_python_string (producer);
    }

  Py_RETURN_NONE;
}
Example #12
0
static PyObject *
stpy_get_producer (PyObject *self, void *closure)
{
  struct symtab *symtab = NULL;
  struct compunit_symtab *cust;

  STPY_REQUIRE_VALID (self, symtab);
  cust = SYMTAB_COMPUNIT (symtab);
  if (COMPUNIT_PRODUCER (cust) != NULL)
    {
      const char *producer = COMPUNIT_PRODUCER (cust);

      return PyString_Decode (producer, strlen (producer),
			      host_charset (), NULL);
    }

  Py_RETURN_NONE;
}