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: /**
10: * @api
11: * @final
12: */
13: class StaticMethodCallableNode extends Expr implements VirtualNode
14: {
15:
16: public function __construct(
17: private Name|Expr $class,
18: private Identifier|Expr $name,
19: private Expr\StaticCall $originalNode,
20: )
21: {
22: parent::__construct($originalNode->getAttributes());
23: }
24:
25: /**
26: * @return Expr|Name
27: */
28: public function getClass()
29: {
30: return $this->class;
31: }
32:
33: /**
34: * @return Identifier|Expr
35: */
36: public function getName()
37: {
38: return $this->name;
39: }
40:
41: public function getOriginalNode(): Expr\StaticCall
42: {
43: return $this->originalNode;
44: }
45:
46: public function getType(): string
47: {
48: return 'PHPStan_Node_StaticMethodCallableNode';
49: }
50:
51: /**
52: * @return string[]
53: */
54: public function getSubNodeNames(): array
55: {
56: return [];
57: }
58:
59: }
60: