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