function ForLoopNode::compile
Overrides Node::compile
File
-
vendor/
twig/ twig/ src/ Node/ ForLoopNode.php, line 30
Class
- ForLoopNode
- Internal node used by the for node.
Namespace
Twig\NodeCode
public function compile(Compiler $compiler) : void {
if ($this->getAttribute('else')) {
$compiler->write("\$context['_iterated'] = true;\n");
}
if ($this->getAttribute('with_loop')) {
$compiler->write("++\$context['loop']['index0'];\n")
->write("++\$context['loop']['index'];\n")
->write("\$context['loop']['first'] = false;\n")
->write("if (isset(\$context['loop']['revindex0'], \$context['loop']['revindex'])) {\n")
->indent()
->write("--\$context['loop']['revindex0'];\n")
->write("--\$context['loop']['revindex'];\n")
->write("\$context['loop']['last'] = 0 === \$context['loop']['revindex0'];\n")
->outdent()
->write("}\n");
}
}