4 * This file is part of Twig.
6 * (c) 2009 Fabien Potencier
7 * (c) 2009 Armin Ronacher
9 * For the full copyright and license information, please view the LICENSE
10 * file that was distributed with this source code.
14 * Represents a block call node.
16 * @author Fabien Potencier <fabien@symfony.com>
18 class Twig_Node_Expression_BlockReference
extends Twig_Node_Expression
20 public function __construct(Twig_NodeInterface
$name, $asString = false, $lineno, $tag = null)
22 parent
::__construct(array('name' => $name), array('as_string' => $asString, 'output' => false), $lineno, $tag);
26 * Compiles the node to PHP.
28 * @param Twig_Compiler A Twig_Compiler instance
30 public function compile(Twig_Compiler
$compiler)
32 if ($this->getAttribute('as_string')) {
33 $compiler->raw('(string) ');
36 if ($this->getAttribute('output')) {
39 ->write("\$this->displayBlock(")
40 ->subcompile($this->getNode('name'))
41 ->raw(", \$context, \$blocks);\n")
45 ->raw("\$this->renderBlock(")
46 ->subcompile($this->getNode('name'))
47 ->raw(", \$context, \$blocks)")