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