HEX
Server: LiteSpeed
System: Linux sg-cp4.cloudnetwork.vn 4.18.0-553.69.1.lve.el8.x86_64 #1 SMP Wed Aug 13 19:53:59 UTC 2025 x86_64
User: thu28850 (1134)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: //opt/cpanel/ea-wappspector/vendor/rector/rector/rules/Php80/NodeResolver/ArgumentSorter.php
<?php

declare (strict_types=1);
namespace Rector\Php80\NodeResolver;

use PhpParser\Node\Arg;
use PhpParser\Node\Param;
final class ArgumentSorter
{
    /**
     * @template T as Arg|Param
     * @param array<int, int> $oldToNewPositions
     * @param T[] $argOrParams
     * @return T[]
     */
    public function sortArgsByExpectedParamOrder(array $argOrParams, array $oldToNewPositions) : array
    {
        $newArgsOrParams = [];
        foreach (\array_keys($argOrParams) as $position) {
            \assert(\is_int($position));
            $newPosition = $oldToNewPositions[$position] ?? null;
            if ($newPosition === null) {
                continue;
            }
            $newArgsOrParams[$position] = $argOrParams[$newPosition];
        }
        return $newArgsOrParams;
    }
}