Esempio n. 1
0
int
gdbpy_initialize_symtabs (void)
{
  symtab_object_type.tp_new = PyType_GenericNew;
  if (PyType_Ready (&symtab_object_type) < 0)
    return -1;

  sal_object_type.tp_new = PyType_GenericNew;
  if (PyType_Ready (&sal_object_type) < 0)
    return -1;

  /* Register an objfile "free" callback so we can properly
     invalidate symbol tables, and symbol table and line data
     structures when an object file that is about to be
     deleted.  */
  stpy_objfile_data_key
    = register_objfile_data_with_cleanup (NULL, del_objfile_symtab);
  salpy_objfile_data_key
    = register_objfile_data_with_cleanup (NULL, del_objfile_sal);

  if (gdb_pymodule_addobject (gdb_module, "Symtab",
			      (PyObject *) &symtab_object_type) < 0)
    return -1;

  return gdb_pymodule_addobject (gdb_module, "Symtab_and_line",
				 (PyObject *) &sal_object_type);
}
Esempio n. 2
0
void
_initialize_java_language (void)
{
  jv_dynamics_objfile_data_key
    = register_objfile_data_with_cleanup (NULL, jv_per_objfile_free);
  jv_dynamics_progspace_key = register_program_space_data ();

  java_type_data = gdbarch_data_register_post_init (build_java_types);

  add_language (&java_language_defn);
}
Esempio n. 3
0
void
gdbpy_initialize_objfile (void)
{
    objfpy_objfile_data_key
        = register_objfile_data_with_cleanup (NULL, py_free_objfile);

    if (PyType_Ready (&objfile_object_type) < 0)
        return;

    Py_INCREF (&objfile_object_type);
    PyModule_AddObject (gdb_module, "Objfile", (PyObject *) &objfile_object_type);
}
Esempio n. 4
0
int
gdbpy_initialize_objfile (void)
{
    objfpy_objfile_data_key
        = register_objfile_data_with_cleanup (NULL, py_free_objfile);

    if (PyType_Ready (&objfile_object_type) < 0)
        return -1;

    return gdb_pymodule_addobject (gdb_module, "Objfile",
                                   (PyObject *) &objfile_object_type);
}
void
gdbpy_initialize_blocks (void)
{
  block_object_type.tp_new = PyType_GenericNew;
  if (PyType_Ready (&block_object_type) < 0)
    return;

  block_syms_iterator_object_type.tp_new = PyType_GenericNew;
  if (PyType_Ready (&block_syms_iterator_object_type) < 0)
    return;

  /* Register an objfile "free" callback so we can properly
     invalidate blocks when an object file is about to be
     deleted.  */
  blpy_objfile_data_key
    = register_objfile_data_with_cleanup (NULL, del_objfile_blocks);

  Py_INCREF (&block_object_type);
  PyModule_AddObject (gdb_module, "Block", (PyObject *) &block_object_type);

  Py_INCREF (&block_syms_iterator_object_type);
  PyModule_AddObject (gdb_module, "BlockIterator",
		      (PyObject *) &block_syms_iterator_object_type);
}