Preview: CallLike.php
Size: 1.01 KB
//opt/cpanel/ea-wappspector/vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/CallLike.php
<?php
declare (strict_types=1);
namespace PhpParser\Node\Expr;
use PhpParser\Node\Arg;
use PhpParser\Node\Expr;
use PhpParser\Node\VariadicPlaceholder;
abstract class CallLike extends Expr
{
/**
* Return raw arguments, which may be actual Args, or VariadicPlaceholders for first-class
* callables.
*
* @return array<Arg|VariadicPlaceholder>
*/
public abstract function getRawArgs() : array;
/**
* Returns whether this call expression is actually a first class callable.
*/
public function isFirstClassCallable() : bool
{
foreach ($this->getRawArgs() as $arg) {
if ($arg instanceof VariadicPlaceholder) {
return \true;
}
}
return \false;
}
/**
* Assert that this is not a first-class callable and return only ordinary Args.
*
* @return Arg[]
*/
public function getArgs() : array
{
\assert(!$this->isFirstClassCallable());
return $this->getRawArgs();
}
}
Directory Contents
Dirs: 3 × Files: 48