/* Public partial symbol table definitions.
- Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2019 Free Software Foundation, Inc.
This file is part of GDB.
#ifndef PSYMTAB_H
#define PSYMTAB_H
+#include "symfile.h"
+#include "common/next-iterator.h"
+
/* A bcache for partial symbols. */
struct psymbol_bcache;
extern void psymbol_bcache_free (struct psymbol_bcache *);
extern struct bcache *psymbol_bcache_get_bcache (struct psymbol_bcache *);
-void expand_partial_symbol_names (int (*fun) (const char *, void *),
- void *data);
-
-void map_partial_symbol_filenames (void (*) (const char *, const char *,
- void *),
- void *);
-
extern const struct quick_symbol_functions psym_functions;
extern const struct quick_symbol_functions dwarf2_gdb_index_functions;
+extern const struct quick_symbol_functions dwarf2_debug_names_functions;
+
+/* A range adapter that makes it possible to iterate over all
+ psymtabs in one objfile. */
+
+class objfile_psymtabs : public next_adapter<struct partial_symtab>
+{
+public:
+
+ explicit objfile_psymtabs (struct objfile *objfile)
+ : next_adapter<struct partial_symtab> (objfile->psymtabs)
+ {
+ }
+};
/* Ensure that the partial symbols for OBJFILE have been loaded. If
VERBOSE is non-zero, then this will print a message when symbols
- are loaded. This function always returns its argument, as a
- convenience. */
+ are loaded. This function returns a range adapter suitable for
+ iterating over the psymtabs of OBJFILE. */
-extern struct objfile *require_partial_symbols (struct objfile *objfile,
- int verbose);
+extern objfile_psymtabs require_partial_symbols (struct objfile *objfile,
+ int verbose);
#endif /* PSYMTAB_H */