Add BinaryInterface

This commit is contained in:
Fabien Potencier
2025-02-03 18:28:47 +01:00
parent 2cc081da2c
commit fa1ffb5b29
4 changed files with 35 additions and 3 deletions
@@ -16,7 +16,7 @@ use Twig\Compiler;
use Twig\Node\Expression\AbstractExpression;
use Twig\Node\Node;
abstract class AbstractBinary extends AbstractExpression
abstract class AbstractBinary extends AbstractExpression implements BinaryInterface
{
/**
* @param AbstractExpression $left
@@ -0,0 +1,22 @@
<?php
/*
* This file is part of Twig.
*
* (c) Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Twig\Node\Expression\Binary;
use Twig\Node\Expression\AbstractExpression;
/**
* @internal
*/
interface BinaryInterface
{
public function __construct(AbstractExpression $left, AbstractExpression $right, int $lineno);
}
+6 -1
View File
@@ -14,10 +14,15 @@ namespace Twig\Node\Expression\Binary;
use Twig\Compiler;
use Twig\Node\Expression\AbstractExpression;
use Twig\Node\Expression\OperatorEscapeInterface;
use Twig\Node\Node;
final class ElvisBinary extends AbstractBinary implements OperatorEscapeInterface
{
public function __construct(AbstractExpression $left, AbstractExpression $right, int $lineno)
/**
* @param AbstractExpression $left
* @param AbstractExpression $right
*/
public function __construct(Node $left, Node $right, int $lineno)
{
parent::__construct($left, $right, $lineno);
@@ -19,11 +19,16 @@ use Twig\Node\Expression\OperatorEscapeInterface;
use Twig\Node\Expression\Test\DefinedTest;
use Twig\Node\Expression\Test\NullTest;
use Twig\Node\Expression\Unary\NotUnary;
use Twig\Node\Node;
use Twig\TwigTest;
final class NullCoalesceBinary extends AbstractBinary implements OperatorEscapeInterface
{
public function __construct(AbstractExpression $left, AbstractExpression $right, int $lineno)
/**
* @param AbstractExpression $left
* @param AbstractExpression $right
*/
public function __construct(Node $left, Node $right, int $lineno)
{
parent::__construct($left, $right, $lineno);