PluginProbe
Code Engine – PHP Snippets, AI Functions & Automation for WordPress / 0.5.1
Code Engine – PHP Snippets, AI Functions & Automation for WordPress v0.5.1
0.5.7 0.5.6 0.5.5 0.5.4 0.5.3 0.5.2 0.5.1 0.5.0 0.4.9 0.4.8 0.4.7 0.4.6 trunk 0.0.1 0.0.2 0.2.8 0.2.9 0.3.0 0.3.1 0.3.2 0.3.3 0.3.4 0.3.5 0.3.6 0.3.7 All 33 releases
code-engine / vendor / nikic / php-parser / lib / PhpParser / Node / Expr / CallLike.php

CallLike.php in Code Engine – PHP Snippets, AI Functions & Automation for WordPress 0.5.1, at vendor/nikic/php-parser/lib/PhpParser/Node/Expr/CallLike.php

36 lines 970 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php declare(strict_types=1);
2
3 namespace PhpParser\Node\Expr;
4
5 use PhpParser\Node\Arg;
6 use PhpParser\Node\Expr;
7 use PhpParser\Node\VariadicPlaceholder;
8
9 abstract class CallLike extends Expr {
10 /**
11 * Return raw arguments, which may be actual Args, or VariadicPlaceholders for first-class
12 * callables.
13 *
14 * @return array<Arg|VariadicPlaceholder>
15 */
16 abstract public function getRawArgs(): array;
17
18 /**
19 * Returns whether this call expression is actually a first class callable.
20 */
21 public function isFirstClassCallable(): bool {
22 $rawArgs = $this->getRawArgs();
23 return count($rawArgs) === 1 && current($rawArgs) instanceof VariadicPlaceholder;
24 }
25
26 /**
27 * Assert that this is not a first-class callable and return only ordinary Args.
28 *
29 * @return Arg[]
30 */
31 public function getArgs(): array {
32 assert(!$this->isFirstClassCallable());
33 return $this->getRawArgs();
34 }
35 }
36