docs: def add_dependencies(self, module):
          """
          Adds a module and its dependencies to the list of dependencies.
  
          Top-level entry point for adding a module and its dependecies.
          """
  
          if module in self._processed_modules:
              return None
  
          if hasattr(module, "__name__"):
              mn = module.__name__
          else:
              mn = '<unknown>'
  
          _debug.debug("add_dependencies:module=%s", module)
  
          # If the module in which the class/function is defined is __main__, don't add it. Just add its dependencies.
          if mn == "__main__":
              self._processed_modules.add(module)
  
          # add the module as a dependency
          elif not self._add_dependency(module, mn):
              _debug.debug("add_dependencies:not added:module=%s", mn)
              return None
  
          _debug.debug("add_dependencies:ADDED:module=%s", mn)
  
          # recursively get the module's imports and add those as dependencies
          for dm in self._find_dependent_modules(module):
              _debug.debug("add_dependencies:adding dependent module %s for %s", dm, mn)
              self.add_dependencies(dm)