code: def get_abstract_dependencies(reqs, sources=None, parent=None):
      
  
      deps = []
      from .requirements import Requirement
  
      for req in reqs:
          if isinstance(req, pip_shims.shims.InstallRequirement):
              requirement = Requirement.from_line(
                  "{0}{1}".format(req.name, req.specifier)
              )
              if req.link:
                  requirement.req.link = req.link
                  requirement.markers = req.markers
                  requirement.req.markers = req.markers
                  requirement.extras = req.extras
                  requirement.req.extras = req.extras
          elif isinstance(req, Requirement):
              requirement = copy.deepcopy(req)
          else:
              requirement = Requirement.from_line(req)
          dep = AbstractDependency.from_requirement(requirement, parent=parent)
          deps.append(dep)
      return deps
docs: Get all abstract dependencies for a given list of requirements.
  
      Given a set of requirements, convert each requirement to an Abstract Dependency.
  
      :param reqs: A list of Requirements
      :type reqs: list[:class:`~requirementslib.models.requirements.Requirement`]
      :param sources: Pipfile-formatted sources, defaults to None
      :param sources: list[dict], optional
      :param parent: The parent of this list of dependencies, defaults to None
      :param parent: :class:`~requirementslib.models.requirements.Requirement`, optional
      :return: A list of Abstract Dependencies
      :rtype: list[:class:`~requirementslib.models.dependency.AbstractDependency`]