1: <?php declare(strict_types = 1);
2:
3: namespace PHPStan\Node;
4:
5: use PhpParser\Node;
6: use PhpParser\NodeAbstract;
7: use PHPStan\Analyser\StatementResult;
8:
9: /**
10: * @api
11: * @final
12: */
13: class ExecutionEndNode extends NodeAbstract implements VirtualNode
14: {
15:
16: public function __construct(
17: private Node\Stmt $node,
18: private StatementResult $statementResult,
19: private bool $hasNativeReturnTypehint,
20: )
21: {
22: parent::__construct($node->getAttributes());
23: }
24:
25: public function getNode(): Node\Stmt
26: {
27: return $this->node;
28: }
29:
30: public function getStatementResult(): StatementResult
31: {
32: return $this->statementResult;
33: }
34:
35: public function hasNativeReturnTypehint(): bool
36: {
37: return $this->hasNativeReturnTypehint;
38: }
39:
40: public function getType(): string
41: {
42: return 'PHPStan_Node_ExecutionEndNode';
43: }
44:
45: /**
46: * @return string[]
47: */
48: public function getSubNodeNames(): array
49: {
50: return [];
51: }
52:
53: }
54: