You are here

public function Twig_Node_Import::compile in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/twig/twig/lib/Twig/Node/Import.php \Twig_Node_Import::compile()

Compiles the node to PHP.

Parameters

Twig_Compiler $compiler A Twig_Compiler instance:

Overrides Twig_Node::compile

File

vendor/twig/twig/lib/Twig/Node/Import.php, line 24

Class

Twig_Node_Import
Represents an import node.

Code

public function compile(Twig_Compiler $compiler) {
  $compiler
    ->addDebugInfo($this)
    ->write('')
    ->subcompile($this
    ->getNode('var'))
    ->raw(' = ');
  if ($this
    ->getNode('expr') instanceof Twig_Node_Expression_Name && '_self' === $this
    ->getNode('expr')
    ->getAttribute('name')) {
    $compiler
      ->raw('$this');
  }
  else {
    $compiler
      ->raw('$this->loadTemplate(')
      ->subcompile($this
      ->getNode('expr'))
      ->raw(', ')
      ->repr($compiler
      ->getFilename())
      ->raw(', ')
      ->repr($this
      ->getLine())
      ->raw(')');
  }
  $compiler
    ->raw(";\n");
}