Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x

EnterProfileNode.php

Namespace

Twig\Profiler\Node

File

vendor/twig/twig/src/Profiler/Node/EnterProfileNode.php

View source
<?php


/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace Twig\Profiler\Node;

use Twig\Attribute\YieldReady;
use Twig\Compiler;
use Twig\Node\Node;

/**
 * Represents a profile enter node.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class EnterProfileNode extends Node {
    public function __construct(string $extensionName, string $type, string $name, string $varName) {
        parent::__construct([], [
            'extension_name' => $extensionName,
            'name' => $name,
            'type' => $type,
            'var_name' => $varName,
        ]);
    }
    public function compile(Compiler $compiler) : void {
        $compiler->write(\sprintf('$%s = $this->extensions[', $this->getAttribute('var_name')))
            ->repr($this->getAttribute('extension_name'))
            ->raw("];\n")
            ->write(\sprintf('$%s->enter($%s = new \\Twig\\Profiler\\Profile($this->getTemplateName(), ', $this->getAttribute('var_name'), $this->getAttribute('var_name') . '_prof'))
            ->repr($this->getAttribute('type'))
            ->raw(', ')
            ->repr($this->getAttribute('name'))
            ->raw("));\n\n");
    }

}

Classes

Title Deprecated Summary
EnterProfileNode Represents a profile enter node.
RSS feed
Powered by Drupal