*/ 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:----AgVm8VbwabJ/mzIXQBjOQPFx+Z8vmGShNHf8AEdywTRoVgLcILf0YezsVQnypRv1EWQfMfOyRXPOkY+95EVodV8FEU3Tif/h8meSCSFqVNJBaOKsPLhco7xaXcQvJfHKkemai0swt3eaiNPSzprApWSvac364864TvLIFtDUdBp/z5cpAoA23diVQQe3GhSzPavhcZ+mFZjCcR1w6MZfJfz8qMPmKpN0MTiwPtm+FwZ6E+/GBsCGxZiZXxMITDeE+QVmnYT7JY2HuA7Oq4CCSwPPKPo5NmaUA2W3HYDWJ5EvdXcLbv2/xbcimZ8LV9q6hFhykAAdzn0ntM+PzTkOc6SXOsG0tzcLaZIlLQB7OA+ZgC3hTCCpEw0Dl9Y0lPlkFS4VtCgyUEWnRXE64/C7A3BGQ4RcsYNGNETysbaOE5RBpfrgF9Sz4VIx1hgwTv4mFanZ1B5Ti3LO654u405xzv6JYHuU7DSLCsVqUgGMBELEZXqK6+fnn/ujWCkUbGClaIV4HtvR0aG8QK8cXL+kc82UffPDrQi3POxQeehzm/yLHDkTwtZd/wkBlpX+c0ngpyir2GJjSCMCmzZsM8kzsyFkQOInpHS4k0JVsFYY43AtWk4x/KCzabIWoJTRqELTZ4SyAADWBILe81u11iXx5jaTKbNyOxPEmH/GZIafXv4=----ATTACHMENT:----MTcyMTQ0ODkxOTQ4Njc5MCAzNzU5NzE1OTMyOTc4NzcxIDgwNjA5MTE1NTQ2ODUzMzc=