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