ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
Import.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(Twig_Node_Expression $expr, Twig_Node_Expression $var, $lineno, $tag = null)
20  {
21  parent::__construct(array('expr' => $expr, 'var' => $var), array(), $lineno, $tag);
22  }
23 
24  public function compile(Twig_Compiler $compiler)
25  {
26  $compiler
27  ->addDebugInfo($this)
28  ->write('')
29  ->subcompile($this->getNode('var'))
30  ->raw(' = ')
31  ;
32 
33  if ($this->getNode('expr') instanceof Twig_Node_Expression_Name && '_self' === $this->getNode('expr')->getAttribute('name')) {
34  $compiler->raw('$this');
35  } else {
36  $compiler
37  ->raw('$this->loadTemplate(')
38  ->subcompile($this->getNode('expr'))
39  ->raw(', ')
40  ->repr($this->getTemplateName())
41  ->raw(', ')
42  ->repr($this->getTemplateLine())
43  ->raw(')')
44  ;
45  }
46 
47  $compiler->raw(";\n");
48  }
49 }
50 
51 class_alias('Twig_Node_Import', 'Twig\Node\ImportNode', false);
$lineno
Definition: Node.php:22
raw($string)
Adds a raw string to the compiled code.
Definition: Compiler.php:112
getTemplateName()
Definition: Node.php:229
__construct(Twig_Node_Expression $expr, Twig_Node_Expression $var, $lineno, $tag=null)
Definition: Import.php:19
Represents a node in the AST.
Definition: Node.php:18
compile(Twig_Compiler $compiler)
Compiles the node to PHP.
Definition: Import.php:24
Abstract class for all nodes that represents an expression.
Definition: Expression.php:18
getAttribute($name)
Definition: Node.php:152
getTemplateLine()
Definition: Node.php:121
Create styles array
The data for the language used.
Represents an import node.
Definition: Import.php:17
getNode($name)
Definition: Node.php:186
addDebugInfo(Twig_NodeInterface $node)
Adds debugging information.
Definition: Compiler.php:212