code: public function getLockedRepository($withDevReqs = false)
      {
          $lockData = $this->getLockData();
          $packages = new ArrayRepository();
  
          $lockedPackages = $lockData['packages'];
          if ($withDevReqs) {
              if (isset($lockData['packages-dev'])) {
                  $lockedPackages = array_merge($lockedPackages, $lockData['packages-dev']);
              } else {
                  throw new \RuntimeException('The lock file does not contain require-dev information, run install with the --no-dev option or run update to install those packages.');
              }
          }
  
          if (empty($lockedPackages)) {
              return $packages;
          }
  
          if (isset($lockedPackages[0]['name'])) {
              foreach ($lockedPackages as $info) {
                  $packages->addPackage($this->loader->load($info));
              }
  
              return $packages;
          }
  
          throw new \RuntimeException('Your composer.lock was created before 2012-09-15, and is not supported anymore. Run "composer update" to generate a new one.');
      }
docs: Searches and returns an array of locked packages, retrieved from registered repositories.
  
  @param  bool                                     $withDevReqs true to retrieve the locked dev packages
  @throws \RuntimeException
  @return \Composer\Repository\RepositoryInterface