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