1: <?php declare(strict_types=1);
2:
3: namespace PhpParser\Node\Expr;
4:
5: use PhpParser\Node\Expr;
6:
7: abstract class BinaryOp extends Expr
8: {
9: /** @var Expr The left hand side expression */
10: public $left;
11: /** @var Expr The right hand side expression */
12: public $right;
13:
14: /**
15: * Constructs a binary operator node.
16: *
17: * @param Expr $left The left hand side expression
18: * @param Expr $right The right hand side expression
19: * @param array $attributes Additional attributes
20: */
21: public function __construct(Expr $left, Expr $right, array $attributes = []) {
22: $this->attributes = $attributes;
23: $this->left = $left;
24: $this->right = $right;
25: }
26:
27: public function getSubNodeNames() : array {
28: return ['left', 'right'];
29: }
30:
31: /**
32: * Get the operator sigil for this binary operation.
33: *
34: * In the case there are multiple possible sigils for an operator, this method does not
35: * necessarily return the one used in the parsed code.
36: *
37: * @return string
38: */
39: abstract public function getOperatorSigil() : string;
40: }
41: