<?php /* * This file is part of Twig. * * (c) Fabien Potencier * (c) Armin Ronacher * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Twig\Node\Expression; use Twig\Compiler; /** * Represents a parent node. * * @author Fabien Potencier <fabien@symfony.com> */ class ParentExpression extends AbstractExpression { public function __construct(string $name, int $lineno, string $tag = null) { parent::__construct([], ['output' => false, 'name' => $name], $lineno, $tag); } public function compile(Compiler $compiler): void { if ($this->getAttribute('output')) { $compiler ->addDebugInfo($this) ->write('$this->displayParentBlock(') ->string($this->getAttribute('name')) ->raw(", \$context, \$blocks);\n") ; } else { $compiler ->raw('$this->renderParentBlock(') ->string($this->getAttribute('name')) ->raw(', $context, $blocks)') ; } } }