コード例 #1
0
static PyObject *
blpy_get_end (PyObject *self, void *closure)
{
  struct block *block = NULL;

  BLPY_REQUIRE_VALID (self, block);

  return PyLong_FromUnsignedLongLong (BLOCK_END (block));
}
コード例 #2
0
ファイル: py-block.c プロジェクト: neon12345/gdb
static PyObject *
blpy_get_end (PyObject *self, void *closure)
{
  const struct block *block = NULL;

  BLPY_REQUIRE_VALID (self, block);

  return gdb_py_object_from_ulongest (BLOCK_END (block));
}
コード例 #3
0
ファイル: py-block.c プロジェクト: neon12345/gdb
static PyObject *
blpy_is_global (PyObject *self, void *closure)
{
  const struct block *block;

  BLPY_REQUIRE_VALID (self, block);

  if (BLOCK_SUPERBLOCK (block))
    Py_RETURN_FALSE;

  Py_RETURN_TRUE;
}
コード例 #4
0
static PyObject *
blpy_get_function (PyObject *self, void *closure)
{
  struct symbol *sym;
  struct block *block = NULL;

  BLPY_REQUIRE_VALID (self, block);

  sym = BLOCK_FUNCTION (block);
  if (sym)
    return symbol_to_symbol_object (sym);

  Py_RETURN_NONE;
}
コード例 #5
0
static PyObject *
blpy_get_superblock (PyObject *self, void *closure)
{
  struct block *block = NULL;
  struct block *super_block = NULL;
  block_object *self_obj  = (block_object *) self;

  BLPY_REQUIRE_VALID (self, block);

  super_block = BLOCK_SUPERBLOCK (block);
  if (super_block)
    return block_to_block_object (super_block, self_obj->objfile);

  Py_RETURN_NONE;
}
コード例 #6
0
ファイル: py-block.c プロジェクト: neon12345/gdb
static PyObject *
blpy_get_global_block (PyObject *self, void *closure)
{
  const struct block *block;
  const struct block *global_block;
  block_object *self_obj  = (block_object *) self;

  BLPY_REQUIRE_VALID (self, block);

  global_block = block_global_block (block);

  return block_to_block_object (global_block,
				self_obj->objfile);

}
コード例 #7
0
ファイル: py-block.c プロジェクト: neon12345/gdb
static PyObject *
blpy_get_static_block (PyObject *self, void *closure)
{
  const struct block *block;
  const struct block *static_block;
  block_object *self_obj  = (block_object *) self;

  BLPY_REQUIRE_VALID (self, block);

  if (BLOCK_SUPERBLOCK (block) == NULL)
    Py_RETURN_NONE;

  static_block = block_static_block (block);

  return block_to_block_object (static_block, self_obj->objfile);
}
コード例 #8
0
static PyObject *
blpy_iter (PyObject *self)
{
  block_syms_iterator_object *block_iter_obj;
  struct block *block = NULL;

  BLPY_REQUIRE_VALID (self, block);

  block_iter_obj = PyObject_New (block_syms_iterator_object,
				 &block_syms_iterator_object_type);
  if (block_iter_obj == NULL)
      return NULL;

  block_iter_obj->dict = BLOCK_DICT (block);
  block_iter_obj->initialized_p = 0;
  Py_INCREF (self);
  block_iter_obj->source = (block_object *) self;

  return (PyObject *) block_iter_obj;
}