Merge forget_cached_source_info_for_objfile into objfile method

forget_cached_source_info_for_objfile does some objfile-specific work
and then calls objfile::forget_cached_source_info.  It seems better to
me to just have the method do all the work.


diff --git a/gdb/objfiles.c b/gdb/objfiles.c
index ed29131..8e7be8e 100644
--- a/gdb/objfiles.c
+++ b/gdb/objfiles.c
@@ -534,7 +534,7 @@ objfile::~objfile ()
 
   /* It still may reference data modules have associated with the objfile and
      the symbol file data.  */
-  forget_cached_source_info_for_objfile (this);
+  forget_cached_source_info ();
 
   breakpoint_free_objfile (this);
   btrace_free_objfile (this);
diff --git a/gdb/source.c b/gdb/source.c
index ca0e8d5..faf0be6 100644
--- a/gdb/source.c
+++ b/gdb/source.c
@@ -421,33 +421,11 @@ show_directories_command (struct ui_file *file, int from_tty,
 /* See source.h.  */
 
 void
-forget_cached_source_info_for_objfile (struct objfile *objfile)
-{
-  for (compunit_symtab *cu : objfile->compunits ())
-    {
-      for (symtab *s : cu->filetabs ())
-	{
-	  if (s->fullname != NULL)
-	    {
-	      xfree (s->fullname);
-	      s->fullname = NULL;
-	    }
-	}
-    }
-
-  objfile->forget_cached_source_info ();
-}
-
-/* See source.h.  */
-
-void
 forget_cached_source_info (void)
 {
   for (struct program_space *pspace : program_spaces)
     for (objfile *objfile : pspace->objfiles ())
-      {
-	forget_cached_source_info_for_objfile (objfile);
-      }
+      objfile->forget_cached_source_info ();
 
   g_source_cache.clear ();
   last_source_visited = NULL;
diff --git a/gdb/source.h b/gdb/source.h
index dd6f58c..d3e612c 100644
--- a/gdb/source.h
+++ b/gdb/source.h
@@ -197,10 +197,6 @@ class source_lines_range
 extern void print_source_lines (struct symtab *s, source_lines_range r,
 				print_source_lines_flags flags);
 
-/* Forget line positions and file names for the symtabs in a
-   particular objfile.  */
-extern void forget_cached_source_info_for_objfile (struct objfile *);
-
 /* Forget what we learned about line positions in source files, and
    which directories contain them; must check again now since files
    may be found in a different directory now.  */
diff --git a/gdb/symfile-debug.c b/gdb/symfile-debug.c
index efc6bcd..9db5c47 100644
--- a/gdb/symfile-debug.c
+++ b/gdb/symfile-debug.c
@@ -155,6 +155,18 @@ objfile::forget_cached_source_info ()
     gdb_printf (gdb_stdlog, "qf->forget_cached_source_info (%s)\n",
 		objfile_debug_name (this));
 
+  for (compunit_symtab *cu : compunits ())
+    {
+      for (symtab *s : cu->filetabs ())
+	{
+	  if (s->fullname != NULL)
+	    {
+	      xfree (s->fullname);
+	      s->fullname = NULL;
+	    }
+	}
+    }
+
   for (const auto &iter : qf_require_partial_symbols ())
     iter->forget_cached_source_info (this);
 }