Faster node traversal and updated PHPStan stack 🚀
This release brings performance improvements to node visitors, reducing unnecessary traversals and reflection resolution during analysis.
It also updates PHPStan to 2.3.4 and phpstan/phpdoc-parser to 2.4, with compatibility fixes for the updated PHPDoc type nodes.
Performance Improvements 🚀
- Avoid nested traversals in
ByRefNodeVisitorby tracking by-reference variable names perFunctionLike(#8879) Thanks @samsonasik - Only resolve call reflection for 2-item array arguments in
CallLikeReflectionNodeVisitor(#8880) Thanks @samsonasik
Bugfixes 🐛
- [TypeDeclaration]
AddArrayFunctionClosureParamTypeRector: resolve array item types from unions of arrays (#8877) Thanks @SanderMuller - Lock the fixture directory itself to prevent conflicts between parallel test workers using different
TMPDIRvalues (#8878) Thanks @SanderMuller
Internals ⚙️
- Bump PHPStan to 2.3.4 and
phpstan/phpdoc-parserto 2.4, adapting PHPDoc node handling for the newNameNode,FullyQualifiedNameNode, andRelativeNameNodetypes (#8883) Thanks @ondrejmirtes