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