2021-03-01 01:28:35 +00:00
|
|
|
<?php
|
|
|
|
|
2021-05-09 20:15:43 +00:00
|
|
|
declare (strict_types=1);
|
2022-06-06 17:12:56 +00:00
|
|
|
namespace Rector\Naming\Matcher;
|
2021-03-01 01:28:35 +00:00
|
|
|
|
2022-06-06 17:12:56 +00:00
|
|
|
use PhpParser\Node;
|
|
|
|
use PhpParser\Node\Expr\Assign;
|
|
|
|
use PhpParser\Node\Expr\FuncCall;
|
|
|
|
use PhpParser\Node\Expr\MethodCall;
|
|
|
|
use PhpParser\Node\Expr\StaticCall;
|
|
|
|
use PhpParser\Node\Stmt\Foreach_;
|
2021-03-01 01:28:35 +00:00
|
|
|
final class CallMatcher
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* @return FuncCall|StaticCall|MethodCall|null
|
2021-08-23 00:20:32 +00:00
|
|
|
* @param \PhpParser\Node\Expr\Assign|\PhpParser\Node\Stmt\Foreach_ $node
|
2021-03-01 01:28:35 +00:00
|
|
|
*/
|
2022-06-07 08:22:29 +00:00
|
|
|
public function matchCall($node) : ?Node
|
2021-03-01 01:28:35 +00:00
|
|
|
{
|
2022-06-07 08:22:29 +00:00
|
|
|
if ($node->expr instanceof MethodCall) {
|
2021-03-01 01:28:35 +00:00
|
|
|
return $node->expr;
|
|
|
|
}
|
2022-06-07 08:22:29 +00:00
|
|
|
if ($node->expr instanceof StaticCall) {
|
2021-03-01 01:28:35 +00:00
|
|
|
return $node->expr;
|
|
|
|
}
|
2022-06-07 08:22:29 +00:00
|
|
|
if ($node->expr instanceof FuncCall) {
|
2021-03-01 01:28:35 +00:00
|
|
|
return $node->expr;
|
|
|
|
}
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|