* tracepoint.c (scope_info): Update.
* symtab.c (lookup_block_symbol, iterate_over_symbols) (find_pc_sect_symtab, search_symbols) (default_make_symbol_completion_list_break_on) (make_file_symbol_completion_list): Update. * symmisc.c (dump_symtab_1): Update. * stack.c (print_frame_args, iterate_over_block_locals) (print_frame_labels, iterate_over_block_arg_vars): Update. * python/py-block.c (block_object) <dict>: Remove. <block>: New field. <iter>: Change type. (blpy_iter): Update. (blpy_block_syms_iternext): Update. * psymtab.c (map_block): Use block iterators. * objfiles.c (objfile_relocate1): Use ALL_DICT_SYMBOLS. * mi/mi-cmd-stack.c (list_args_or_locals): Update. * mdebugread.c (parse_symbol, mylookup_symbol): Update. * infrun.c (check_exception_resume): Update. * cp-support.c (make_symbol_overload_list_block): Update. * coffread.c (patch_opaque_types): Update. * buildsym.c (finish_block, end_symtab): Use ALL_DICT_SYMBOLS. * block.h (struct block_iterator): New. (block_iterator_first, block_iterator_next, block_iter_name_first) (block_iter_name_next, block_iter_match_first) (block_iter_match_next): Declare. (ALL_BLOCK_SYMBOLS): Redefine. * block.c (block_iterator_first, block_iterator_next) (block_iter_name_first, block_iter_name_next) (block_iter_match_first, block_iter_match_next): New functions. * ada-lang.c (ada_add_block_symbols) (ada_make_symbol_completion_list): Use block iterator.
This commit is contained in:
parent
a2ca7a527e
commit
8157b174fd
17 changed files with 228 additions and 61 deletions
|
@ -41,10 +41,10 @@ typedef struct blpy_block_object {
|
|||
|
||||
typedef struct {
|
||||
PyObject_HEAD
|
||||
/* The block dictionary of symbols. */
|
||||
struct dictionary *dict;
|
||||
/* The iterator for that dictionary. */
|
||||
struct dict_iterator iter;
|
||||
/* The block. */
|
||||
const struct block *block;
|
||||
/* The iterator for that block. */
|
||||
struct block_iterator iter;
|
||||
/* Has the iterator been initialized flag. */
|
||||
int initialized_p;
|
||||
/* Pointer back to the original source block object. Needed to
|
||||
|
@ -94,7 +94,7 @@ blpy_iter (PyObject *self)
|
|||
if (block_iter_obj == NULL)
|
||||
return NULL;
|
||||
|
||||
block_iter_obj->dict = BLOCK_DICT (block);
|
||||
block_iter_obj->block = block;
|
||||
block_iter_obj->initialized_p = 0;
|
||||
Py_INCREF (self);
|
||||
block_iter_obj->source = (block_object *) self;
|
||||
|
@ -311,11 +311,11 @@ blpy_block_syms_iternext (PyObject *self)
|
|||
|
||||
if (!iter_obj->initialized_p)
|
||||
{
|
||||
sym = dict_iterator_first (iter_obj->dict, &(iter_obj->iter));
|
||||
sym = block_iterator_first (iter_obj->block, &(iter_obj->iter));
|
||||
iter_obj->initialized_p = 1;
|
||||
}
|
||||
else
|
||||
sym = dict_iterator_next (&(iter_obj->iter));
|
||||
sym = block_iterator_next (&(iter_obj->iter));
|
||||
|
||||
if (sym == NULL)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue