File Manager Lite
Dir:
/home/codewavebd/public_html/vendor/nikic/php-parser/lib/PhpParser
Upload
[..]
Builder/
Rename
Del
Builder.php (202 B)
Edit
Rename
Del
BuilderFactory.php (10.3 KB)
Edit
Rename
Del
BuilderHelpers.php (9.73 KB)
Edit
Rename
Del
Comment/
Rename
Del
Comment.php (6.75 KB)
Edit
Rename
Del
ConstExprEvaluationException.php (112 B)
Edit
Rename
Del
ConstExprEvaluator.php (9.33 KB)
Edit
Rename
Del
Error.php (4.84 KB)
Edit
Rename
Del
ErrorHandler/
Rename
Del
Internal/
Rename
Del
Lexer/
Rename
Del
Lexer.php (4.26 KB)
Edit
Rename
Del
NameContext.php (9.82 KB)
Edit
Rename
Del
Node/
Rename
Del
Node.php (4.03 KB)
Edit
Rename
Del
NodeDumper.php (10.24 KB)
Edit
Rename
Del
NodeFinder.php (2.55 KB)
Edit
Rename
Del
NodeTraverser.php (10.09 KB)
Edit
Rename
Del
NodeVisitor/
Rename
Del
NodeVisitor.php (4.08 KB)
Edit
Rename
Del
Parser/
Rename
Del
Parser.php (765 B)
Edit
Rename
Del
ParserFactory.php (1.41 KB)
Edit
Rename
Del
PhpVersion.php (4.73 KB)
Edit
Rename
Del
PrettyPrinter/
Rename
Del
PrettyPrinter.php (1.66 KB)
Edit
Rename
Del
Token.php (487 B)
Edit
Rename
Del
compatibility_tokens.php (2.46 KB)
Edit
Rename
Del
Edit: NodeFinder.php
<?php declare(strict_types=1); namespace PhpParser; use PhpParser\NodeVisitor\FindingVisitor; use PhpParser\NodeVisitor\FirstFindingVisitor; class NodeFinder { /** * Find all nodes satisfying a filter callback. * * @param Node|Node[] $nodes Single node or array of nodes to search in * @param callable $filter Filter callback: function(Node $node) : bool * * @return Node[] Found nodes satisfying the filter callback */ public function find($nodes, callable $filter): array { if ($nodes === []) { return []; } if (!is_array($nodes)) { $nodes = [$nodes]; } $visitor = new FindingVisitor($filter); $traverser = new NodeTraverser($visitor); $traverser->traverse($nodes); return $visitor->getFoundNodes(); } /** * Find all nodes that are instances of a certain class. * @template TNode as Node * * @param Node|Node[] $nodes Single node or array of nodes to search in * @param class-string<TNode> $class Class name * * @return TNode[] Found nodes (all instances of $class) */ public function findInstanceOf($nodes, string $class): array { return $this->find($nodes, function ($node) use ($class) { return $node instanceof $class; }); } /** * Find first node satisfying a filter callback. * * @param Node|Node[] $nodes Single node or array of nodes to search in * @param callable $filter Filter callback: function(Node $node) : bool * * @return null|Node Found node (or null if none found) */ public function findFirst($nodes, callable $filter): ?Node { if ($nodes === []) { return null; } if (!is_array($nodes)) { $nodes = [$nodes]; } $visitor = new FirstFindingVisitor($filter); $traverser = new NodeTraverser($visitor); $traverser->traverse($nodes); return $visitor->getFoundNode(); } /** * Find first node that is an instance of a certain class. * * @template TNode as Node * * @param Node|Node[] $nodes Single node or array of nodes to search in * @param class-string<TNode> $class Class name * * @return null|TNode Found node, which is an instance of $class (or null if none found) */ public function findFirstInstanceOf($nodes, string $class): ?Node { return $this->findFirst($nodes, function ($node) use ($class) { return $node instanceof $class; }); } }
Simpan