ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
EnterProfile.php
Go to the documentation of this file.
1 <?php
2 
3 /*
4  * This file is part of Twig.
5  *
6  * (c) Fabien Potencier
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11 
18 {
19  public function __construct($extensionName, $type, $name, $varName)
20  {
21  parent::__construct(array(), array('extension_name' => $extensionName, 'name' => $name, 'type' => $type, 'var_name' => $varName));
22  }
23 
24  public function compile(Twig_Compiler $compiler)
25  {
26  $compiler
27  ->write(sprintf('$%s = $this->env->getExtension(', $this->getAttribute('var_name')))
28  ->repr($this->getAttribute('extension_name'))
29  ->raw(");\n")
30  ->write(sprintf('$%s->enter($%s = new Twig_Profiler_Profile($this->getTemplateName(), ', $this->getAttribute('var_name'), $this->getAttribute('var_name').'_prof'))
31  ->repr($this->getAttribute('type'))
32  ->raw(', ')
33  ->repr($this->getAttribute('name'))
34  ->raw("));\n\n")
35  ;
36  }
37 }
38 
39 class_alias('Twig_Profiler_Node_EnterProfile', 'Twig\Profiler\Node\EnterProfileNode', false);
Represents a node in the AST.
Definition: Node.php:18
$type
compile(Twig_Compiler $compiler)
Compiles the node to PHP.
getAttribute($name)
Definition: Node.php:152
Represents a profile enter node.
__construct($extensionName, $type, $name, $varName)
write()
Writes a string to the compiled code by adding indentation.
Definition: Compiler.php:124