1<?php 2 3/* 4 * This file is part of Twig. 5 * 6 * (c) Fabien Potencier 7 * (c) Armin Ronacher 8 * 9 * For the full copyright and license information, please view the LICENSE 10 * file that was distributed with this source code. 11 */ 12 13namespace Twig\Node\Expression\Binary; 14 15use Twig\Compiler; 16use Twig\Node\Expression\AbstractExpression; 17use Twig\Node\Node; 18 19abstract class AbstractBinary extends AbstractExpression 20{ 21 public function __construct(Node $left, Node $right, int $lineno) 22 { 23 parent::__construct(['left' => $left, 'right' => $right], [], $lineno); 24 } 25 26 public function compile(Compiler $compiler) 27 { 28 $compiler 29 ->raw('(') 30 ->subcompile($this->getNode('left')) 31 ->raw(' ') 32 ; 33 $this->operator($compiler); 34 $compiler 35 ->raw(' ') 36 ->subcompile($this->getNode('right')) 37 ->raw(')') 38 ; 39 } 40 41 abstract public function operator(Compiler $compiler); 42} 43 44class_alias('Twig\Node\Expression\Binary\AbstractBinary', 'Twig_Node_Expression_Binary'); 45