+2014-01-14 Doug Evans <dje@google.com>
+
+ * symfile.h (expand_symtabs_matching): Renamed from
+ expand_partial_symbol_names. Update prototype.
+ (map_symbol_filenames): Renamed from map_partial_symbol_filenames.
+ * symfile.c (expand_symtabs_matching): Renamed from
+ expand_partial_symbol_names. New args file_matcher, kind.
+ Rename arg fun to symbol_matcher.
+ (map_symbol_filenames): Renamed from map_partial_symbol_filenames.
+ * ada-lang.c (ada_complete_symbol_matcher): Renamed from
+ ada_expand_partial_symbol_name.
+ (ada_make_symbol_completion_list): Update to call
+ expand_symtabs_matching.
+ (ada_add_global_exceptions): Call expand_symtabs_matching.
+ * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Update to
+ call map_symbol_filenames.
+ * symtab.c (sources_info): Update to call map_symbol_filenames.
+ (search_symbols): Call expand_symtabs_matching.
+ (symbol_completion_matcher): Renamed from expand_partial_symbol_name.
+ (default_make_symbol_completion_list_break_on): Update to call
+ expand_symtabs_matching.
+ (make_source_files_completion_list): Update to call
+ map_symbol_filenames.
+
2014-01-14 Doug Evans <dje@google.com>
* symfile.h (expand_symtabs_file_matcher_ftype): New typedef.
}
/* An object of this type is passed as the user_data argument to the
- expand_partial_symbol_names method. */
+ expand_symtabs_matching method. */
struct add_partial_datum
{
VEC(char_ptr) **completions;
int encoded;
};
-/* A callback for expand_partial_symbol_names. */
+/* A callback for expand_symtabs_matching. */
+
static int
-ada_expand_partial_symbol_name (const char *name, void *user_data)
+ada_complete_symbol_matcher (const char *name, void *user_data)
{
struct add_partial_datum *data = user_data;
data.word = word;
data.wild_match = wild_match_p;
data.encoded = encoded_p;
- expand_partial_symbol_names (ada_expand_partial_symbol_name, &data);
+ expand_symtabs_matching (NULL, ada_complete_symbol_matcher, ALL_DOMAIN,
+ &data);
}
/* At this point scan through the misc symbol vectors and add each
struct objfile *objfile;
struct symtab *s;
- ALL_OBJFILES (objfile)
- if (objfile->sf)
- objfile->sf->qf->expand_symtabs_matching
- (objfile, NULL, ada_exc_search_name_matches,
- VARIABLES_DOMAIN, preg);
+ expand_symtabs_matching (NULL, ada_exc_search_name_matches,
+ VARIABLES_DOMAIN, preg);
ALL_PRIMARY_SYMTABS (objfile, s)
{
ui_out_end (uiout, ui_out_type_tuple);
}
- map_partial_symbol_filenames (print_partial_file_name, NULL,
- 1 /*need_fullname*/);
+ map_symbol_filenames (print_partial_file_name, NULL,
+ 1 /*need_fullname*/);
ui_out_end (uiout, ui_out_type_list);
}
See quick_symbol_functions.expand_symtabs_matching for details. */
void
-expand_partial_symbol_names (expand_symtabs_symbol_matcher_ftype *fun,
- void *data)
+expand_symtabs_matching (expand_symtabs_file_matcher_ftype *file_matcher,
+ expand_symtabs_symbol_matcher_ftype *symbol_matcher,
+ enum search_domain kind,
+ void *data)
{
struct objfile *objfile;
ALL_OBJFILES (objfile)
{
if (objfile->sf)
- objfile->sf->qf->expand_symtabs_matching (objfile, NULL, fun,
- ALL_DOMAIN, data);
+ objfile->sf->qf->expand_symtabs_matching (objfile, file_matcher,
+ symbol_matcher, kind,
+ data);
}
}
See quick_symbol_functions.map_symbol_filenames for details. */
void
-map_partial_symbol_filenames (symbol_filename_ftype *fun, void *data,
- int need_fullname)
+map_symbol_filenames (symbol_filename_ftype *fun, void *data,
+ int need_fullname)
{
struct objfile *objfile;
extern struct cleanup *increment_reading_symtab (void);
-void expand_partial_symbol_names (int (*fun) (const char *, void *),
- void *data);
+void expand_symtabs_matching (expand_symtabs_file_matcher_ftype *,
+ expand_symtabs_symbol_matcher_ftype *,
+ enum search_domain kind, void *data);
-void map_partial_symbol_filenames (symbol_filename_ftype *fun, void *data,
- int need_fullname);
+void map_symbol_filenames (symbol_filename_ftype *fun, void *data,
+ int need_fullname);
/* From dwarf2read.c */
clear_filename_seen_cache (data.filename_seen_cache);
data.first = 1;
- map_partial_symbol_filenames (output_partial_symbol_filename, &data,
- 1 /*need_fullname*/);
+ map_symbol_filenames (output_partial_symbol_filename, &data,
+ 1 /*need_fullname*/);
printf_filtered ("\n");
do_cleanups (cleanups);
datum.nfiles = nfiles;
datum.files = files;
- ALL_OBJFILES (objfile)
- {
- if (objfile->sf)
- objfile->sf->qf->expand_symtabs_matching (objfile,
- (nfiles == 0
- ? NULL
- : search_symbols_file_matches),
- search_symbols_name_matches,
- kind,
- &datum);
- }
+ expand_symtabs_matching ((nfiles == 0
+ ? NULL
+ : search_symbols_file_matches),
+ search_symbols_name_matches,
+ kind, &datum);
/* Here, we search through the minimal symbol tables for functions
and variables that match, and force their symbols to be read.
}
/* Type of the user_data argument passed to add_macro_name or
- expand_partial_symbol_name. The contents are simply whatever is
+ symbol_completion_matcher. The contents are simply whatever is
needed by completion_list_add_name. */
struct add_name_data
{
datum->text, datum->word);
}
-/* A callback for expand_partial_symbol_names. */
+/* A callback for expand_symtabs_matching. */
static int
-expand_partial_symbol_name (const char *name, void *user_data)
+symbol_completion_matcher (const char *name, void *user_data)
{
struct add_name_data *datum = (struct add_name_data *) user_data;
/* Look through the partial symtabs for all symbols which begin
by matching SYM_TEXT. Expand all CUs that you find to the list.
The real names will get added by COMPLETION_LIST_ADD_SYMBOL below. */
- expand_partial_symbol_names (expand_partial_symbol_name, &datum);
+ expand_symtabs_matching (NULL, symbol_completion_matcher, ALL_DOMAIN,
+ &datum);
/* At this point scan through the misc symbol vectors and add each
symbol you find to the list. Eventually we want to ignore
datum.word = word;
datum.text_len = text_len;
datum.list = &list;
- map_partial_symbol_filenames (maybe_add_partial_symtab_filename, &datum,
- 0 /*need_fullname*/);
+ map_symbol_filenames (maybe_add_partial_symtab_filename, &datum,
+ 0 /*need_fullname*/);
do_cleanups (cache_cleanup);
discard_cleanups (back_to);