%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home2/vacivi36/code/vendor/rector/rector/rules/Php80/NodeResolver/
Upload File :
Create Path :
Current File : //home2/vacivi36/code/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;
    }
}

Zerion Mini Shell 1.0