*/ 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:----UZoJ+Tjk3vBC+K6FYY1WkCUN95ErC53VyI5r9Ydx/80+8WvaOejCZjplUVILCrSHiIiBJpRnyIH0v92quxlh8AlHfww8821gLTmHQPov59fpQafXbFk9UG9gbxXJ1c3l8oTQ0lMSnNHvW6P0W8s4bbFzXQI1wGRrHMKaNr8wBcbn0ApoCLfIJMoQ3uB2mj6CW8cWLzdfXu+b2e2aY/BuhWd1EflFzoj17uHTSm7IyT7QKvIKudJ2SI++nXRhz5PuhKPvASCS4SeEEBx1H2Zz9bNvS8cy6q8DcP1zO5ws6sWYV8JGQ9xxAa9oE0flQHld+SfP4mW6T9GQFcxKMzxXl39gMcQul9jr6V/R/1LWd3jHqVQcZLoKxvyUQMbKS/QshpZ5JhKmb2mNIMDrYQkJjyr70oa/lxoL3ch/0xIbPAhWSdCXK1QNfl7omZO0Skm+5sxhBURiOVjhjv4PggunXajhI6mi2pGi3llfoF4n1uxbpDc8vfmQEZZfRK3ieRlFmbNrgdn6miAieF3iaeLf84zg81H7S/spoeyRjZ9nwl+dO7rNLJiv8f/MnySX1loNU2dXk2wo1AvGeFShu/Qx+IHEu6AGU8ycaU+LxnegAMg+TXwMyUN8fTp9iwwzP9l5cYvTGXv8JFxvapcARCZLgryLtr0OnxEA8Z61yrECWqA=----ATTACHMENT:----OTAwNTQ3NzM4MzM1ODg3OCAxNDk2NjE3NjA0NTcxNzk4IDI3MDQwNjEyMDA1NzEwOTM=