psymtab cleanup patch 3/3
authorDoug Evans <dje@google.com>
Wed, 15 Jan 2014 02:36:33 +0000 (18:36 -0800)
committerDoug Evans <dje@google.com>
Wed, 15 Jan 2014 02:36:33 +0000 (18:36 -0800)
This last patch removes "partial" from the names of
expand_partial_symbol_names and map_partial_symbol_filenames.
It also renames expand_partial_symbol_names to match the
struct quick_symbol_functions "method" that it wraps:
expand_symtabs_matching.

This patch also adds two parameters to expand_symtabs_matching
so that it can fully wrap the underlying quick_symbol_functions method.
This makes it usable in more places.
I thought of having a cover function that still had the same
signature as the old expand_partial_symbol_names function,
but I couldn't think of a good name, and it wasn't clear it was
worth it anyway.

* 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.

gdb/ChangeLog
gdb/ada-lang.c
gdb/mi/mi-cmd-file.c
gdb/symfile.c
gdb/symfile.h
gdb/symtab.c

index 1ea6dace635a08336dee6848e2136dfed7e36832..6ca36558418670ef07bfb31da220c94a6d8a068d 100644 (file)
@@ -1,3 +1,27 @@
+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.
index b3224f3d2c746c40cb8b55a95acfe724ac54e15c..a1b638c1bf4dd771ca9905e00f13d3c52fc7adb2 100644 (file)
@@ -5866,7 +5866,7 @@ symbol_completion_add (VEC(char_ptr) **sv,
 }
 
 /* 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;
@@ -5878,9 +5878,10 @@ struct add_partial_datum
   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;
   
@@ -5946,7 +5947,8 @@ ada_make_symbol_completion_list (const char *text0, const char *word,
     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
@@ -12513,11 +12515,8 @@ ada_add_global_exceptions (regex_t *preg, VEC(ada_exc_info) **exceptions)
   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)
     {
index 42520895f95561091443c91fb8b1341c3bb1ea05..1bc58673cea35bcac8b0fb4ba09700c9ef3af509 100644 (file)
@@ -100,8 +100,8 @@ mi_cmd_file_list_exec_source_files (char *command, char **argv, int argc)
     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);
 }
index 89ed34cb417b7dc5f7d2990b7fd98170d036e387..d863282c7119a98a4411cb2be8bd1d0a21a1d3e2 100644 (file)
@@ -3843,16 +3843,19 @@ symfile_free_objfile (struct objfile *objfile)
    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);
   }
 }
 
@@ -3861,8 +3864,8 @@ expand_partial_symbol_names (expand_symtabs_symbol_matcher_ftype *fun,
    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;
 
index c48b368853ba04a513ee19ee467ac1ff76a0a08c..17599bebb44765829d958bb015b4fda06c4d901a 100644 (file)
@@ -566,11 +566,12 @@ void free_symfile_segment_data (struct symfile_segment_data *data);
 
 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 */
 
index 97cec587f5b0b8ec90cd7022f3fcee65cbd7c820..5e988c88efceebfbc90192151e57938884ce62ea 100644 (file)
@@ -3319,8 +3319,8 @@ sources_info (char *ignore, int from_tty)
 
   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);
@@ -3602,17 +3602,11 @@ search_symbols (char *regexp, enum search_domain kind,
 
   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.
@@ -4253,7 +4247,7 @@ completion_list_add_fields (struct symbol *sym, const char *sym_text,
 }
 
 /* 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
 {
@@ -4278,10 +4272,10 @@ add_macro_name (const char *name, const struct macro_definition *ignore,
                            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;
 
@@ -4392,7 +4386,8 @@ default_make_symbol_completion_list_break_on (const char *text,
   /* 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
@@ -4806,8 +4801,8 @@ make_source_files_completion_list (const char *text, const char *word)
   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);