public function Twig_Compiler::addDebugInfo in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/twig/twig/lib/Twig/Compiler.php \Twig_Compiler::addDebugInfo()
Adds debugging information.
Parameters
Twig_NodeInterface $node The related twig node:
Return value
Twig_Compiler The current compiler instance
File
- vendor/
twig/ twig/ lib/ Twig/ Compiler.php, line 208
Class
- Twig_Compiler
- Compiles a node to PHP code.
Code
public function addDebugInfo(Twig_NodeInterface $node) {
if ($node
->getLine() != $this->lastLine) {
$this
->write(sprintf("// line %d\n", $node
->getLine()));
// 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;
}