code: def resolve(self, cobj, this_url):
          
          full_name = cobj['module_short'] + '.' + cobj['name']
          link = self._link_cache.get(full_name, None)
          if link is None:
              # we don't have it cached
              link = self._get_link(cobj)
              # cache it for the future
              self._link_cache[full_name] = link
  
          if link is False or link is None:
              # failed to resolve
              return None
  
          if self.relative:
              link = os.path.relpath(link, start=this_url)
              if self._is_windows:
                  # replace '\' with '/' so it on the web
                  link = link.replace('\\', '/')
  
              # for some reason, the relative link goes one directory too high up
              link = link[3:]
  
          return link
docs: Resolve the link to the documentation, returns None if not found
  
          Parameters
          ----------
          cobj : dict
              Dict with information about the "code object" for which we are
              resolving a link.
              cobj['name'] : function or class name (str)
              cobj['module_short'] : shortened module name (str)
              cobj['module'] : module name (str)
          this_url: str
              URL of the current page. Needed to construct relative URLs
              (only used if relative=True in constructor).
  
          Returns
          -------
          link : str or None
              The link (URL) to the documentation.