shop.balmet.com

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

BlockReference.php (1323B)


      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 
     13 /**
     14  * Represents a block call node.
     15  *
     16  * @author Fabien Potencier <fabien@symfony.com>
     17  */
     18 class Twig_Node_Expression_BlockReference extends Twig_Node_Expression
     19 {
     20     public function __construct(Twig_NodeInterface $name, $asString = false, $lineno, $tag = null)
     21     {
     22         parent::__construct(array('name' => $name), array('as_string' => $asString, 'output' => false), $lineno, $tag);
     23     }
     24 
     25     public function compile(Twig_Compiler $compiler)
     26     {
     27         if ($this->getAttribute('as_string')) {
     28             $compiler->raw('(string) ');
     29         }
     30 
     31         if ($this->getAttribute('output')) {
     32             $compiler
     33                 ->addDebugInfo($this)
     34                 ->write('$this->displayBlock(')
     35                 ->subcompile($this->getNode('name'))
     36                 ->raw(", \$context, \$blocks);\n")
     37             ;
     38         } else {
     39             $compiler
     40                 ->raw('$this->renderBlock(')
     41                 ->subcompile($this->getNode('name'))
     42                 ->raw(', $context, $blocks)')
     43             ;
     44         }
     45     }
     46 }