tolerant-php-parser
tolerant-php-parser copied to clipboard
An early-stage PHP parser designed for IDE usage scenarios.
Currently, there is a lot of variance with performance tests - we need to set up an environment where: * we can understand the impact of our work on multiple...
We should consider creating a separate parse context for delimited list types, so we can handle them as we do in `parseList`
`match` can still be used as a method name and as a class constant name in PHP 8.0, but tolerant-php-parser gives an error. ``` $parser = new Microsoft\PhpParser\Parser; $ast =...
:wave: in [Phpactor](https://github.com/phpactor/phpactor) one of the most common types of error is accessing a member on NULL on TP parser nodes. So I thought I'd try and increase the type...
- Perform a shallow clone of submodules analyzed in validation test suite in GitHub workflows (should take around 30 seconds) - Switch badge in README.md to GitHub Workflows and update...
See https://github.com/microsoft/tolerant-php-parser/pull/379 --- I think the above PR causes a regression when calling `$node->getNamespacedName()` where the namespace has a `MissingToken` for `name`: ``` Fatal error: Uncaught TypeError: Microsoft\PhpParser\ResolvedName::buildName(): Argument #1...
NOTE: In my own use case (https://github.com/phan/phan), I use tolerant-php-parser as part of a polyfill that I convert to `ast\Node` and I end up associating dynamic information with `ast\Node` instances,...
**In a new major/0.(x+1) release** On a best effort basis, convert groups of names/keywords/reserved words separated by `\` without whitespace to T_NAME_QUALIFIED/T_NAME_RELATIVE/T_NAME_FULLY_QUALIFIED in php < 8.0, do nothing in 8.0+...
Using a class-like member in the wrong class-like is a compile-time error, not a parsing error. Tolerate it and parse the current/remaining statements and leave it to the applications to...
https://wiki.php.net/rfc/typed_class_constants#inheritance_and_variance As of php 8.3, class constants can have the same types as parameters (including union, intersection, and DNF types) Start testing with php 8.3