Twig-1.3.0/lib/Twig/Node/Expression/Binary.php
changeset 4 9a001a04b634
equal deleted inserted replaced
3:6d109e3804ac 4:9a001a04b634
       
     1 <?php
       
     2 
       
     3 /*
       
     4  * This file is part of Twig.
       
     5  *
       
     6  * (c) 2009 Fabien Potencier
       
     7  * (c) 2009 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 abstract class Twig_Node_Expression_Binary extends Twig_Node_Expression
       
    13 {
       
    14     public function __construct(Twig_NodeInterface $left, Twig_NodeInterface $right, $lineno)
       
    15     {
       
    16         parent::__construct(array('left' => $left, 'right' => $right), array(), $lineno);
       
    17     }
       
    18 
       
    19     /**
       
    20      * Compiles the node to PHP.
       
    21      *
       
    22      * @param Twig_Compiler A Twig_Compiler instance
       
    23      */
       
    24     public function compile(Twig_Compiler $compiler)
       
    25     {
       
    26         $compiler
       
    27             ->raw('(')
       
    28             ->subcompile($this->getNode('left'))
       
    29             ->raw(' ')
       
    30         ;
       
    31         $this->operator($compiler);
       
    32         $compiler
       
    33             ->raw(' ')
       
    34             ->subcompile($this->getNode('right'))
       
    35             ->raw(')')
       
    36         ;
       
    37     }
       
    38 
       
    39     abstract public function operator(Twig_Compiler $compiler);
       
    40 }