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