91752ad2773f5ee1fdf56914181e372ef9e04b7b
[yaffs-website] / vendor / twig / twig / lib / Twig / Node / Block.php
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
13 /**
14  * Represents a block node.
15  *
16  * @author Fabien Potencier <fabien@symfony.com>
17  */
18 class Twig_Node_Block extends Twig_Node
19 {
20     public function __construct($name, Twig_NodeInterface $body, $lineno, $tag = null)
21     {
22         parent::__construct(array('body' => $body), array('name' => $name), $lineno, $tag);
23     }
24
25     public function compile(Twig_Compiler $compiler)
26     {
27         $compiler
28             ->addDebugInfo($this)
29             ->write(sprintf("public function block_%s(\$context, array \$blocks = array())\n", $this->getAttribute('name')), "{\n")
30             ->indent()
31         ;
32
33         $compiler
34             ->subcompile($this->getNode('body'))
35             ->outdent()
36             ->write("}\n\n")
37         ;
38     }
39 }
40
41 class_alias('Twig_Node_Block', 'Twig\Node\BlockNode', false);