]>
Commit | Line | Data |
---|---|---|
a4565e88 NL |
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 parent node. | |
15 | * | |
16 | * @author Fabien Potencier <fabien@symfony.com> | |
17 | */ | |
18 | class Twig_Node_Expression_Parent extends Twig_Node_Expression | |
19 | { | |
20 | public function __construct($name, $lineno, $tag = null) | |
21 | { | |
22 | parent::__construct(array(), array('output' => false, 'name' => $name), $lineno, $tag); | |
23 | } | |
24 | ||
25 | /** | |
26 | * Compiles the node to PHP. | |
27 | * | |
28 | * @param Twig_Compiler A Twig_Compiler instance | |
29 | */ | |
30 | public function compile(Twig_Compiler $compiler) | |
31 | { | |
32 | if ($this->getAttribute('output')) { | |
33 | $compiler | |
34 | ->addDebugInfo($this) | |
35 | ->write("\$this->displayParentBlock(") | |
36 | ->string($this->getAttribute('name')) | |
37 | ->raw(", \$context, \$blocks);\n") | |
38 | ; | |
39 | } else { | |
40 | $compiler | |
41 | ->raw("\$this->renderParentBlock(") | |
42 | ->string($this->getAttribute('name')) | |
43 | ->raw(", \$context, \$blocks)") | |
44 | ; | |
45 | } | |
46 | } | |
47 | } |