1 <?php declare(strict_types=1);
3 namespace PhpParser\Node\Expr;
6 use PhpParser\Node\Expr;
7 use PhpParser\Node\Identifier;
9 class StaticCall extends Expr
11 /** @var Node\Name|Expr Class name */
13 /** @var Identifier|Expr Method name */
15 /** @var Node\Arg[] Arguments */
19 * Constructs a static method call node.
21 * @param Node\Name|Expr $class Class name
22 * @param string|Identifier|Expr $name Method name
23 * @param Node\Arg[] $args Arguments
24 * @param array $attributes Additional attributes
26 public function __construct($class, $name, array $args = [], array $attributes = []) {
27 parent::__construct($attributes);
28 $this->class = $class;
29 $this->name = \is_string($name) ? new Identifier($name) : $name;
33 public function getSubNodeNames() : array {
34 return ['class', 'name', 'args'];
37 public function getType() : string {
38 return 'Expr_StaticCall';