Chris@13
|
1 <?php declare(strict_types=1);
|
Chris@0
|
2
|
Chris@0
|
3 namespace PhpParser\Node\Expr;
|
Chris@0
|
4
|
Chris@0
|
5 use PhpParser\Node;
|
Chris@0
|
6 use PhpParser\Node\Expr;
|
Chris@13
|
7 use PhpParser\Node\Identifier;
|
Chris@0
|
8
|
Chris@0
|
9 class StaticCall extends Expr
|
Chris@0
|
10 {
|
Chris@0
|
11 /** @var Node\Name|Expr Class name */
|
Chris@0
|
12 public $class;
|
Chris@13
|
13 /** @var string|Identifier|Expr Method name */
|
Chris@0
|
14 public $name;
|
Chris@0
|
15 /** @var Node\Arg[] Arguments */
|
Chris@0
|
16 public $args;
|
Chris@0
|
17
|
Chris@0
|
18 /**
|
Chris@0
|
19 * Constructs a static method call node.
|
Chris@0
|
20 *
|
Chris@13
|
21 * @param Node\Name|Expr $class Class name
|
Chris@13
|
22 * @param string|Identifier|Expr $name Method name
|
Chris@13
|
23 * @param Node\Arg[] $args Arguments
|
Chris@13
|
24 * @param array $attributes Additional attributes
|
Chris@0
|
25 */
|
Chris@13
|
26 public function __construct($class, $name, array $args = [], array $attributes = []) {
|
Chris@0
|
27 parent::__construct($attributes);
|
Chris@0
|
28 $this->class = $class;
|
Chris@13
|
29 $this->name = \is_string($name) ? new Identifier($name) : $name;
|
Chris@0
|
30 $this->args = $args;
|
Chris@0
|
31 }
|
Chris@0
|
32
|
Chris@13
|
33 public function getSubNodeNames() : array {
|
Chris@13
|
34 return ['class', 'name', 'args'];
|
Chris@13
|
35 }
|
Chris@13
|
36
|
Chris@13
|
37 public function getType() : string {
|
Chris@13
|
38 return 'Expr_StaticCall';
|
Chris@0
|
39 }
|
Chris@0
|
40 }
|