CallLike.php
Namespace
PhpParser\Node\ExprFile
-
vendor/
nikic/ php-parser/ lib/ PhpParser/ Node/ Expr/ CallLike.php
View source
<?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 {
$rawArgs = $this->getRawArgs();
return count($rawArgs) === 1 && current($rawArgs) instanceof VariadicPlaceholder;
}
/**
* 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();
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
CallLike |