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