1: <?php declare(strict_types = 1);
2:
3: namespace PHPStan\Node;
4:
5: use PhpParser\Node\Expr;
6: use PhpParser\Node\Identifier;
7: use PhpParser\Node\Name;
8:
9: /** @api */
10: class StaticMethodCallableNode extends Expr implements VirtualNode
11: {
12:
13: public function __construct(
14: private Name|Expr $class,
15: private Identifier|Expr $name,
16: private Expr\StaticCall $originalNode,
17: )
18: {
19: parent::__construct($originalNode->getAttributes());
20: }
21:
22: /**
23: * @return Expr|Name
24: */
25: public function getClass()
26: {
27: return $this->class;
28: }
29:
30: /**
31: * @return Identifier|Expr
32: */
33: public function getName()
34: {
35: return $this->name;
36: }
37:
38: public function getOriginalNode(): Expr\StaticCall
39: {
40: return $this->originalNode;
41: }
42:
43: public function getType(): string
44: {
45: return 'PHPStan_Node_StaticMethodCallableNode';
46: }
47:
48: /**
49: * @return string[]
50: */
51: public function getSubNodeNames(): array
52: {
53: return [];
54: }
55:
56: }
57: