2021-03-01 02:28:35 +01:00
|
|
|
<?php
|
|
|
|
|
2021-05-09 20:15:43 +00:00
|
|
|
declare (strict_types=1);
|
2021-03-01 02:28:35 +01:00
|
|
|
namespace Rector\Naming\Matcher;
|
|
|
|
|
|
|
|
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_;
|
|
|
|
final class CallMatcher
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* @param Assign|Foreach_ $node
|
|
|
|
* @return FuncCall|StaticCall|MethodCall|null
|
|
|
|
*/
|
2021-05-10 22:23:08 +00:00
|
|
|
public function matchCall(\PhpParser\Node $node) : ?\PhpParser\Node
|
2021-03-01 02:28:35 +01:00
|
|
|
{
|
2021-05-10 22:23:08 +00:00
|
|
|
if ($node->expr instanceof \PhpParser\Node\Expr\MethodCall) {
|
2021-03-01 02:28:35 +01:00
|
|
|
return $node->expr;
|
|
|
|
}
|
2021-05-10 22:23:08 +00:00
|
|
|
if ($node->expr instanceof \PhpParser\Node\Expr\StaticCall) {
|
2021-03-01 02:28:35 +01:00
|
|
|
return $node->expr;
|
|
|
|
}
|
2021-05-10 22:23:08 +00:00
|
|
|
if ($node->expr instanceof \PhpParser\Node\Expr\FuncCall) {
|
2021-03-01 02:28:35 +01:00
|
|
|
return $node->expr;
|
|
|
|
}
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|