Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ForLoopNode.php

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\Node

Code

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");
    }
}
RSS feed
Powered by Drupal