public function AsseticNode::compile

File

drupal/core/vendor/kriswallsmith/assetic/src/Assetic/Extension/Twig/AsseticNode.php, line 49

Class

AsseticNode

Namespace

Assetic\Extension\Twig

Code

public function compile(\Twig_Compiler $compiler) {
  $compiler
    ->addDebugInfo($this);
  $combine = $this
    ->getAttribute('combine');
  $debug = $this
    ->getAttribute('debug');
  if (null === $combine && null !== $debug) {
    $combine = !$debug;
  }
  if (null === $combine) {
    $compiler
      ->write("if (isset(\$context['assetic']['debug']) && \$context['assetic']['debug']) {\n")
      ->indent();
    $this
      ->compileDebug($compiler);
    $compiler
      ->outdent()
      ->write("} else {\n")
      ->indent();
    $this
      ->compileAsset($compiler, $this
      ->getAttribute('asset'), $this
      ->getAttribute('name'));
    $compiler
      ->outdent()
      ->write("}\n");
  }
  elseif ($combine) {
    $this
      ->compileAsset($compiler, $this
      ->getAttribute('asset'), $this
      ->getAttribute('name'));
  }
  else {
    $this
      ->compileDebug($compiler);
  }
  $compiler
    ->write('unset($context[')
    ->repr($this
    ->getAttribute('var_name'))
    ->raw("]);\n");
}