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