public function Twig_Compiler::addDebugInfo

Adds debugging information.

Parameters

Twig_NodeInterface $node The related twig node:

Return value

Twig_Compiler The current compiler instance

File

drupal/core/vendor/twig/twig/lib/Twig/Compiler.php, line 207

Class

Twig_Compiler
Compiles a node to PHP code.

Code

public function addDebugInfo(Twig_NodeInterface $node) {
  if ($node
    ->getLine() != $this->lastLine) {
    $this
      ->write("// line {$node->getLine()}\n");

    // when mbstring.func_overload is set to 2
    // mb_substr_count() replaces substr_count()
    // but they have different signatures!
    if ((int) ini_get('mbstring.func_overload') & 2) {

      // this is much slower than the "right" version
      $this->sourceLine += mb_substr_count(mb_substr($this->source, $this->sourceOffset), "\n");
    }
    else {
      $this->sourceLine += substr_count($this->source, "\n", $this->sourceOffset);
    }
    $this->sourceOffset = strlen($this->source);
    $this->debugInfo[$this->sourceLine] = $node
      ->getLine();
    $this->lastLine = $node
      ->getLine();
  }
  return $this;
}