Skip to content

Commit

Permalink
Refactor reorderArgs with Law of Demeter
Browse files Browse the repository at this point in the history
  • Loading branch information
ondrejmirtes committed May 17, 2024
1 parent 16d5b01 commit 0159d34
Showing 1 changed file with 8 additions and 9 deletions.
17 changes: 8 additions & 9 deletions src/Analyser/ArgumentsNormalizer.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
namespace PHPStan\Analyser;

use PhpParser\Node\Arg;
use PhpParser\Node\Expr\CallLike;
use PhpParser\Node\Expr\FuncCall;
use PhpParser\Node\Expr\MethodCall;
use PhpParser\Node\Expr\New_;
Expand Down Expand Up @@ -85,7 +84,7 @@ public static function reorderFuncArguments(
FuncCall $functionCall,
): ?FuncCall
{
$reorderedArgs = self::reorderArgs($parametersAcceptor, $functionCall);
$reorderedArgs = self::reorderArgs($parametersAcceptor, $functionCall->getArgs());

if ($reorderedArgs === null) {
return null;
Expand All @@ -103,7 +102,7 @@ public static function reorderMethodArguments(
MethodCall $methodCall,
): ?MethodCall
{
$reorderedArgs = self::reorderArgs($parametersAcceptor, $methodCall);
$reorderedArgs = self::reorderArgs($parametersAcceptor, $methodCall->getArgs());

if ($reorderedArgs === null) {
return null;
Expand All @@ -122,7 +121,7 @@ public static function reorderStaticCallArguments(
StaticCall $staticCall,
): ?StaticCall
{
$reorderedArgs = self::reorderArgs($parametersAcceptor, $staticCall);
$reorderedArgs = self::reorderArgs($parametersAcceptor, $staticCall->getArgs());

if ($reorderedArgs === null) {
return null;
Expand All @@ -141,7 +140,7 @@ public static function reorderNewArguments(
New_ $new,
): ?New_
{
$reorderedArgs = self::reorderArgs($parametersAcceptor, $new);
$reorderedArgs = self::reorderArgs($parametersAcceptor, $new->getArgs());

if ($reorderedArgs === null) {
return null;
Expand All @@ -155,17 +154,17 @@ public static function reorderNewArguments(
}

/**
* @param Arg[] $callArgs
* @return ?array<int, Arg>
*/
private static function reorderArgs(ParametersAcceptor $parametersAcceptor, CallLike $callLike): ?array
private static function reorderArgs(ParametersAcceptor $parametersAcceptor, array $callArgs): ?array
{
$signatureParameters = $parametersAcceptor->getParameters();
$callArgs = $callLike->getArgs();

if (count($callArgs) === 0) {
return [];
}

$signatureParameters = $parametersAcceptor->getParameters();

$hasNamedArgs = false;
foreach ($callArgs as $arg) {
if ($arg->name !== null) {
Expand Down

0 comments on commit 0159d34

Please sign in to comment.