38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| 
								 | 
							
								<?php declare(strict_types=1);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace PhpParser\Node\Expr;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use PhpParser\Node\Expr;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								abstract class BinaryOp extends Expr {
							 | 
						||
| 
								 | 
							
								    /** @var Expr The left hand side expression */
							 | 
						||
| 
								 | 
							
								    public Expr $left;
							 | 
						||
| 
								 | 
							
								    /** @var Expr The right hand side expression */
							 | 
						||
| 
								 | 
							
								    public Expr $right;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Constructs a binary operator node.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param Expr $left The left hand side expression
							 | 
						||
| 
								 | 
							
								     * @param Expr $right The right hand side expression
							 | 
						||
| 
								 | 
							
								     * @param array<string, mixed> $attributes Additional attributes
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function __construct(Expr $left, Expr $right, array $attributes = []) {
							 | 
						||
| 
								 | 
							
								        $this->attributes = $attributes;
							 | 
						||
| 
								 | 
							
								        $this->left = $left;
							 | 
						||
| 
								 | 
							
								        $this->right = $right;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function getSubNodeNames(): array {
							 | 
						||
| 
								 | 
							
								        return ['left', 'right'];
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Get the operator sigil for this binary operation.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * In the case there are multiple possible sigils for an operator, this method does not
							 | 
						||
| 
								 | 
							
								     * necessarily return the one used in the parsed code.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    abstract public function getOperatorSigil(): string;
							 | 
						||
| 
								 | 
							
								}
							 |