sekjun9878 / scope-resolver
Scope Resolver for PHP-Parser
dev-master
2015-11-07 10:05 UTC
Requires
- nikic/php-parser: ^2.0.0beta1
This package is not auto-updated.
Last update: 2024-12-21 20:30:24 UTC
README
This is a NodeVisitor component for nikic/PHP-Parser that resolves the scope of classes, functions, namespace and closures, and appends them to every node as an attribute.
This can be useful if you need a unique scope identifier for anything, e.g. checking the scope of a variable.
Currently, only PHP5 is supported but I'm working on PHP7 support.
Usage
Usage is really really really simple.
use sekjun9878\ScopeResolver\NodeVisitor\ScopeResolver; $parser = (new ParserFactory)->create(ParserFactory::PREFER_PHP5); $traverser = new NodeTraverser; // Add the ScopeResolver visitor $traverser->addVisitor(new ScopeResolver); $stmts = $parser->parse($code); $stmts = $traverser->traverse($stmts); // Now every node will have a "scope" attribute attached.