Add nikic/php-parser v5 support
I ran this over a code base that's still using php-parser 4. There's a problem with
usePHPParserV4, which I've commented on, but with that fixed it seems to work.Do we need to look at running tests against php-parser 4 as well?
Thanks. I added the CI "lowest" with php parser 4 and fixed the build.
I think this i ready to be review @orklah @weirdan
It would be really nice if we could merge this, currently it is not possible to install Psalm with PHPUnit 11 since it requires nikic/php-parser: ^5.0
Friendly ping @weirdan if you have time to take a look (or can ping another maintainer ?). This PR would be really helpful, by allowing to use both Psalm and PHPunit 11.
Yeah, it's on my todo list. The thing is big, so it'll take me some time.
Since we expose parts of PhpParser in our API this cannot go into 5.x line. So instead of merging this I'm going to fork 6.x from the current 5.x (not master) and then use this PR as a base for PhpParser 5.x upgrade. 6.x will be a transitional, hopefully short-lived, series with the same platform requirements as 5.x.
Thanks for all your work, this will make it easier.
If the branch-alias in the master branch is preventing you from using the 6.x branch (causing it to pull the master branch instead of referencing the correct commit from the 6.x branch), add #{commit_sha} to specify the correct branch.
For example:
"vimeo/psalm": "6.x-dev#0f796f1"
Replace 0f796f1 with the latest commit SHA for accurate results.
Any update on this? I'm unable to install vimeo/psalm due to not support version 5 of nikic/php-parser.
In addition to the dependency conflicts with various packages, nikic/php-parser 5 is required to parse new PHP 8.4 features: property hooks and asymmetric visibility.
PHP 8.4 releases in about a week. Currently Psalm is unable to parse these constructs, let alone type check them, so Psalm users will be blocked from adopting these new language features.
In addition to the dependency conflicts with various packages,
nikic/php-parser5 is required to parse new PHP 8.4 features: property hooks and asymmetric visibility.PHP 8.4 releases in about a week. Currently Psalm is unable to parse these constructs, let alone type check them, so Psalm users will be blocked from adopting these new language features.
It's this + that it's blocking anything else using nikic/php-parser 5 from being used with Psalm in the same package. PHPStan v2 and many more at this point.
Any update on this? I'm unable to install
vimeo/psalmdue to not support version 5 ofnikic/php-parser.
I installed phar with composer itself, but when I tried to install the laravel plugin, there was a conflict 🙃
+1, would love to see this one working
+1
Please use directly dev-master until I tag a v6 (hopefully in January)
JFYI: with property hooks (PHP 8.4) dev-master still not worked.
Any ETA for this? Can't upgrade some dependencies because psalm depends on v4.
Not merging this, please switch to dev-master/v6.
For those following along, I've asked for an update on #11112.