* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace RectorPrefix202411\SebastianBergmann\Diff; use ArrayIterator; use IteratorAggregate; use Traversable; /** * @template-implements IteratorAggregate */ final class Diff implements IteratorAggregate { /** * @psalm-var non-empty-string * @var string */ private $from; /** * @psalm-var non-empty-string * @var string */ private $to; /** * @psalm-var list * @var mixed[] */ private $chunks; /** * @psalm-param non-empty-string $from * @psalm-param non-empty-string $to * @psalm-param list $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 */ public function chunks() : array { return $this->chunks; } /** * @psalm-param list $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 * * @deprecated */ public function getChunks() : array { return $this->chunks; } public function getIterator() : Traversable { return new ArrayIterator($this->chunks); } }