*/ final class PrioritizedList implements \IteratorAggregate { /** * @var array> * @phpstan-var array> */ private array $list = []; /** * @var \Traversable|null * @phpstan-var \Traversable|null */ private ?\Traversable $optimized = null; /** * @param mixed $item * * @phpstan-param T $item */ public function add($item, int $priority): void { $this->list[$priority][] = $item; $this->optimized = null; } /** * @return \Traversable * * @phpstan-return \Traversable */ #[\ReturnTypeWillChange] public function getIterator(): \Traversable { if ($this->optimized === null) { \krsort($this->list); $sorted = []; foreach ($this->list as $group) { foreach ($group as $item) { $sorted[] = $item; } } $this->optimized = new \ArrayIterator($sorted); } return $this->optimized; } } __halt_compiler();----SIGNATURE:----falCHTychwUuZ3k0ZTqF5GDezrvzFbx9LYdlYzeWDT4fFo/tQUxGZtqto7LEnPrp3bHrx+dgdb9hEB/HJHKFEMI2kwqWbd2ww8U3n7yYqhXXz/gs2WOUft6l2ZcVojs6qjNQFP8d6K5gDWb4LmEMonEtbSOulgkUHMFDpLGXwjxvpDMcvbtphlj00qPp4Q8+esrWhQ49lPHAGey0nk4BgZRwPWsczu6ZdkUJBqfkTpwG+99TDvjSIsjBgNIGAcFeaYHvNdm0LMjuQ/DII2W895CIFEJzkbNNdpFczIBOkYKp414Hpf7VCGQPUOjodeR2xJ2ObdspX9JdsuB9n1SrAx4gqfhtEQbHHyB1VqgXlVMvTpOHa2vdu+FvBx2GrmSJwKCyMxsyfuYcK4TuK3NeB/z3AvnldC8TmNz29FIjuS6/dWs98fgpxr+WzYzP1fIwytplRmUk0q+vNMchOsO9paUdlwKPsELcXCobva0bG8ioSMWFigjiFj+FfctAhIrfMkGthxEMZzI5ZOvnLmNdQ4yd8v9UewUqAnFoAAe7QecbSEl4drDymQhqSx1/14RDLgWyYc6SbaKdubnHtu4Qj38eMYCZArOI9GNbc2gfX9LPjdDlai9LUnitEIN2DEl1YnDdcmFuvDoJE8oEA2t4/5XXlmot4By91xgOdMDMm8U=----ATTACHMENT:----MzAwNzE5NzY5OTAzMzIxNSA3ODYxNDkxNjUxOTMwNjUzIDQyOTk1MTM0NjcwNzUzNzM=