docs: def resolve_symbols(self, database, link_resolver, page=None):
          """Will call resolve_symbols on all the stale subpages of the tree.
          Args:
            page: hotdoc.core.tree.Page, the page to resolve symbols in,
            will recurse on potential subpages.
          """
  
          page = page or self.root
  
          if page.ast is None and not page.generated:
              with io.open(page.source_file, 'r', encoding='utf-8') as _:
                  page.ast = cmark.hotdoc_to_ast(_.read(), self)
  
          page.resolve_symbols(self, database, link_resolver)
          self.__update_dep_map(page, page.symbols)
  
          for pagename in page.subpages:
              cpage = self.__all_pages[pagename]
              self.resolve_symbols(database, link_resolver, page=cpage)