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 13namespace Twig\Node\Expression; 14 15use Twig\Compiler; 16 17/** 18 * Represents a parent node. 19 * 20 * @author Fabien Potencier <fabien@symfony.com> 21 */ 22class ParentExpression extends AbstractExpression 23{ 24 public function __construct($name, $lineno, $tag = null) 25 { 26 parent::__construct([], ['output' => false, 'name' => $name], $lineno, $tag); 27 } 28 29 public function compile(Compiler $compiler) 30 { 31 if ($this->getAttribute('output')) { 32 $compiler 33 ->addDebugInfo($this) 34 ->write('$this->displayParentBlock(') 35 ->string($this->getAttribute('name')) 36 ->raw(", \$context, \$blocks);\n") 37 ; 38 } else { 39 $compiler 40 ->raw('$this->renderParentBlock(') 41 ->string($this->getAttribute('name')) 42 ->raw(', $context, $blocks)') 43 ; 44 } 45 } 46} 47 48class_alias('Twig\Node\Expression\ParentExpression', 'Twig_Node_Expression_Parent'); 49