original_string: protected function findOrphanedHashes(): array
      {
          $queryBuilder = $this->entityManager->createQueryBuilder();
          $queryBuilder->select('if.hash AS hash')
                       ->from(IconFile::class, 'if')
                       ->leftJoin('if.icons', 'i')
                       ->andWhere('i.id IS NULL');
  
          $result = [];
          foreach ($queryBuilder->getQuery()->getResult() as $data) {
              $result[] = $data['hash'];
          }
          return $result;
      }
code: protected function findOrphanedHashes(): array
      {
          $queryBuilder = $this->entityManager->createQueryBuilder();
          $queryBuilder->select('if.hash AS hash')
                       ->from(IconFile::class, 'if')
                       ->leftJoin('if.icons', 'i')
                       ->andWhere('i.id IS NULL');
  
          $result = [];
          foreach ($queryBuilder->getQuery()->getResult() as $data) {
              $result[] = $data['hash'];
          }
          return $result;
      }
code_tokens: protected function findOrphanedHashes ( ) : array { $ queryBuilder = $ this -> entityManager -> createQueryBuilder ( ) ; $ queryBuilder -> select ( 'if.hash AS hash' ) -> from ( IconFile :: class , 'if' ) -> leftJoin ( 'if.icons' , 'i' ) -> andWhere ( 'i.id IS NULL' ) ; $ result = [ ] ; foreach ( $ queryBuilder -> getQuery ( ) -> getResult ( ) as $ data ) { $ result [ ] = $ data [ 'hash' ] ; } return $ result ; }
docstring: Returns the hashes of orphaned icon files, which are no longer used by any icon.
  @return array|string[]
docstring_tokens: Returns the hashes of orphaned icon files which are no longer used by any icon .