Skip to content

Conversation

@TomasVotruba
Copy link
Member

No description provided.

@TomasVotruba TomasVotruba force-pushed the tv-version-check-attribute branch from cf0a8a9 to f7bcc84 Compare December 2, 2025 23:35
@TomasVotruba TomasVotruba enabled auto-merge (squash) December 2, 2025 23:36
@TomasVotruba TomasVotruba merged commit 7486ed5 into main Dec 2, 2025
54 of 55 checks passed
@TomasVotruba TomasVotruba deleted the tv-version-check-attribute branch December 2, 2025 23:37
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\PhpParser\NodeTraverser\SimpleNodeTraverser;

final class PhpVersionConditionNodeVisitor extends NodeVisitorAbstract implements DecoratingNodeVisitorInterface
Copy link
Contributor

@staabm staabm Dec 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

instead of this, you might be interessted in $scope->getPhpVersion() which returns a version which can be narrowed by composer.json constraints and/or if(PHP_VERSION_ID > xy) check etc.

see also https://staabm.github.io/2024/11/14/phpstan-php-version-narrowing.html

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll give it a go today, thanks for heads-up 👌

Copy link
Member Author

@TomasVotruba TomasVotruba Dec 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just tested on the downgrade rule I've introduced this for: https://github.com/rectorphp/rector-downgrade-php/pull/349/files#diff-5f67d22ffde95a027219085ed3266b9ae5277dd85eecf7771c41881372cba9af

And it picks up local version (PHP 8.2), so it never downgrades to PHP 8.1. Not suitable for this kind of operation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants