code: public function whatProvides($name, ConstraintInterface $constraint = null, $mustMatchName = false, $bypassFilters = false)
      {
          if ($bypassFilters) {
              return $this->computeWhatProvides($name, $constraint, $mustMatchName, true);
          }
  
          $key = ((int) $mustMatchName).$constraint;
          if (isset($this->providerCache[$name][$key])) {
              return $this->providerCache[$name][$key];
          }
  
          return $this->providerCache[$name][$key] = $this->computeWhatProvides($name, $constraint, $mustMatchName, $bypassFilters);
      }
docs: Searches all packages providing the given package name and match the constraint
  
  @param  string              $name          The package name to be searched for
  @param  ConstraintInterface $constraint    A constraint that all returned
  packages must match or null to return all
  @param  bool                $mustMatchName Whether the name of returned packages
  must match the given name
  @param  bool                $bypassFilters If enabled, filterRequires and stability matching is ignored
  @return PackageInterface[]  A set of packages