* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace PHPUnit\TextUI\XmlConfiguration; use function count; use function iterator_count; use Countable; use Iterator; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ final class FileCollectionIterator implements Countable, Iterator { /** * @var File[] */ private $files; /** * @var int */ private $position; public function __construct(FileCollection $files) { $this->files = $files->asArray(); } public function count(): int { return iterator_count($this); } public function rewind(): void { $this->position = 0; } public function valid(): bool { return $this->position < count($this->files); } public function key(): int { return $this->position; } public function current(): File { return $this->files[$this->position]; } public function next(): void { $this->position++; } }