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