mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-20 09:58:19 +08:00
gdb: Split global symbol search into separate functions
In preparation for the next commit, this commit restructures the code by splitting global_symbol_searcher::search into separate functions. There should be no functional changes after this commit. gdb/ChangeLog: * symtab.c (symbol_search::compare_search_syms): Update header comment. (global_symbol_searcher::is_suitable_msymbol): New function. (global_symbol_searcher::expand_symtabs): New function. (global_symbol_searcher::add_matching_symbols): New function. (global_symbol_searcher::add_matching_msymbols): New function. (global_symbol_searcher::search): Move most of the content into the new functions above, and call them as needed. * symtab.h (global_symbol_searcher) <expand_symtabs>: New member function. (global_symbol_searcher) <add_matching_symbols>: New member function. (global_symbol_searcher) <add_matching_msymbols>: New member function. (global_symbol_searcher) <is_suitable_msymbol>: New member function. Change-Id: I06b26920f35c268f7a38d8203dc2c2813aa501c6
This commit is contained in:
23
gdb/symtab.h
23
gdb/symtab.h
@ -2124,6 +2124,29 @@ private:
|
||||
/* When this flag is false then minsyms that match M_SYMBOL_REGEXP will
|
||||
be included in the results, otherwise they are excluded. */
|
||||
bool m_exclude_minsyms = false;
|
||||
|
||||
/* Expand symtabs in OBJFILE that match PREG, are of type M_KIND. Return
|
||||
true if any msymbols were seen that we should later consider adding to
|
||||
the results list. */
|
||||
bool expand_symtabs (objfile *objfile,
|
||||
const gdb::optional<compiled_regex> &preg) const;
|
||||
|
||||
/* Add symbols from symtabs in OBJFILE that match PREG, and TREG, and are
|
||||
of type M_KIND, to the results vector RESULTS. */
|
||||
void add_matching_symbols (objfile *objfile,
|
||||
const gdb::optional<compiled_regex> &preg,
|
||||
const gdb::optional<compiled_regex> &treg,
|
||||
std::vector<symbol_search> *results) const;
|
||||
|
||||
/* Add msymbols from OBJFILE that match PREG and M_KIND, to the
|
||||
results vector RESULTS. */
|
||||
void add_matching_msymbols (objfile *objfile,
|
||||
const gdb::optional<compiled_regex> &preg,
|
||||
std::vector<symbol_search> *results) const;
|
||||
|
||||
/* Return true if MSYMBOL is of type KIND. */
|
||||
static bool is_suitable_msymbol (const enum search_domain kind,
|
||||
const minimal_symbol *msymbol);
|
||||
};
|
||||
|
||||
/* When searching for Fortran symbols within modules (functions/variables)
|
||||
|
Reference in New Issue
Block a user