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:
11: /**
12: * @api
13: */
14: final class BooleanOrNode extends Expr implements VirtualNode
15: {
16:
17: public function __construct(private BooleanOr|LogicalOr $originalNode, private Scope $rightScope)
18: {
19: parent::__construct($originalNode->getAttributes());
20: }
21:
22: public function getOriginalNode(): BooleanOr|LogicalOr
23: {
24: return $this->originalNode;
25: }
26:
27: public function getRightScope(): Scope
28: {
29: return $this->rightScope;
30: }
31:
32: #[Override]
33: public function getType(): string
34: {
35: return 'PHPStan_Node_BooleanOrNode';
36: }
37:
38: /**
39: * @return string[]
40: */
41: #[Override]
42: public function getSubNodeNames(): array
43: {
44: return [];
45: }
46:
47: }
48: