123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- <?php declare(strict_types=1);
- /*
- * This file is part of sebastian/diff.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- namespace SebastianBergmann\Diff;
- use ArrayIterator;
- use IteratorAggregate;
- use Traversable;
- /**
- * @template-implements IteratorAggregate<int, Chunk>
- */
- final class Diff implements IteratorAggregate
- {
- /**
- * @psalm-var non-empty-string
- */
- private string $from;
- /**
- * @psalm-var non-empty-string
- */
- private string $to;
- /**
- * @psalm-var list<Chunk>
- */
- private array $chunks;
- /**
- * @psalm-param non-empty-string $from
- * @psalm-param non-empty-string $to
- * @psalm-param list<Chunk> $chunks
- */
- public function __construct(string $from, string $to, array $chunks = [])
- {
- $this->from = $from;
- $this->to = $to;
- $this->chunks = $chunks;
- }
- /**
- * @psalm-return non-empty-string
- */
- public function from(): string
- {
- return $this->from;
- }
- /**
- * @psalm-return non-empty-string
- */
- public function to(): string
- {
- return $this->to;
- }
- /**
- * @psalm-return list<Chunk>
- */
- public function chunks(): array
- {
- return $this->chunks;
- }
- /**
- * @psalm-param list<Chunk> $chunks
- */
- public function setChunks(array $chunks): void
- {
- $this->chunks = $chunks;
- }
- /**
- * @psalm-return non-empty-string
- *
- * @deprecated
- */
- public function getFrom(): string
- {
- return $this->from;
- }
- /**
- * @psalm-return non-empty-string
- *
- * @deprecated
- */
- public function getTo(): string
- {
- return $this->to;
- }
- /**
- * @psalm-return list<Chunk>
- *
- * @deprecated
- */
- public function getChunks(): array
- {
- return $this->chunks;
- }
- public function getIterator(): Traversable
- {
- return new ArrayIterator($this->chunks);
- }
- }
|