__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
/*
* This file is part of Twig.
*
* (c) Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Twig;
use Twig\Node\Node;
use Twig\NodeVisitor\NodeVisitorInterface;
/**
* A node traverser.
*
* It visits all nodes and their children and calls the given visitor for each.
*
* @author Fabien Potencier <fabien@symfony.com>
*/
final class NodeTraverser
{
private $env;
private $visitors = [];
/**
* @param NodeVisitorInterface[] $visitors
*/
public function __construct(Environment $env, array $visitors = [])
{
$this->env = $env;
foreach ($visitors as $visitor) {
$this->addVisitor($visitor);
}
}
public function addVisitor(NodeVisitorInterface $visitor): void
{
$this->visitors[$visitor->getPriority()][] = $visitor;
}
/**
* Traverses a node and calls the registered visitors.
*/
public function traverse(Node $node): Node
{
ksort($this->visitors);
foreach ($this->visitors as $visitors) {
foreach ($visitors as $visitor) {
$node = $this->traverseForVisitor($visitor, $node);
}
}
return $node;
}
private function traverseForVisitor(NodeVisitorInterface $visitor, Node $node): ?Node
{
$node = $visitor->enterNode($node, $this->env);
foreach ($node as $k => $n) {
if (null !== $m = $this->traverseForVisitor($visitor, $n)) {
if ($m !== $n) {
$node->setNode($k, $m);
}
} else {
$node->removeNode($k);
}
}
return $visitor->leaveNode($node, $this->env);
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Cache | Folder | 0755 |
|
|
| Error | Folder | 0755 |
|
|
| Extension | Folder | 0755 |
|
|
| Loader | Folder | 0755 |
|
|
| Node | Folder | 0755 |
|
|
| NodeVisitor | Folder | 0755 |
|
|
| Profiler | Folder | 0755 |
|
|
| RuntimeLoader | Folder | 0755 |
|
|
| Sandbox | Folder | 0755 |
|
|
| Test | Folder | 0755 |
|
|
| TokenParser | Folder | 0755 |
|
|
| Util | Folder | 0755 |
|
|
| Compiler.php | File | 4.94 KB | 0644 |
|
| Environment.php | File | 24.3 KB | 0644 |
|
| ExpressionParser.php | File | 32.77 KB | 0644 |
|
| ExtensionSet.php | File | 13.07 KB | 0644 |
|
| FileExtensionEscapingStrategy.php | File | 1.41 KB | 0644 |
|
| Lexer.php | File | 19.49 KB | 0644 |
|
| Markup.php | File | 939 B | 0644 |
|
| NodeTraverser.php | File | 1.78 KB | 0644 |
|
| Parser.php | File | 10.99 KB | 0644 |
|
| Source.php | File | 1023 B | 0644 |
|
| Template.php | File | 12.52 KB | 0644 |
|
| TemplateWrapper.php | File | 2.48 KB | 0644 |
|
| Token.php | File | 5.38 KB | 0644 |
|
| TokenStream.php | File | 3.45 KB | 0644 |
|
| TwigFilter.php | File | 3.11 KB | 0644 |
|
| TwigFunction.php | File | 2.85 KB | 0644 |
|
| TwigTest.php | File | 2.3 KB | 0644 |
|
| autoload.php | File | 16.15 KB | 0644 |
|