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