From a7eed2273812332a8abd910a4f9ed990cf32ec5e Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Tue, 13 May 2025 16:02:40 +0200 Subject: [PATCH 1/2] RemovePropertyVariableNameDescriptionFixer: Support prefixed `@var` --- ...vePropertyVariableNameDescriptionFixer.php | 11 ++++++-- .../Fixture/phpstan_annotation.php.inc | 27 +++++++++++++++++++ .../Fixture/psalm_annotation.php.inc | 27 +++++++++++++++++++ 3 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 tests/Fixer/Annotation/RemovePropertyVariableNameDescriptionFixer/Fixture/phpstan_annotation.php.inc create mode 100644 tests/Fixer/Annotation/RemovePropertyVariableNameDescriptionFixer/Fixture/psalm_annotation.php.inc diff --git a/src/Fixer/Annotation/RemovePropertyVariableNameDescriptionFixer.php b/src/Fixer/Annotation/RemovePropertyVariableNameDescriptionFixer.php index 5746d291..a9c78464 100644 --- a/src/Fixer/Annotation/RemovePropertyVariableNameDescriptionFixer.php +++ b/src/Fixer/Annotation/RemovePropertyVariableNameDescriptionFixer.php @@ -24,6 +24,13 @@ final class RemovePropertyVariableNameDescriptionFixer extends AbstractSymplifyF */ private const ERROR_MESSAGE = 'Remove useless "$variable" from @var tag'; + /** + * @var string + * @see https://regex101.com/r/2PxeKF/1 + */ + private const VAR_REGEX = '#@(?:psalm-|phpstan-)?var#'; + + private readonly PropertyNameResolver $propertyNameResolver; public function __construct( @@ -73,11 +80,11 @@ public function fix(SplFileInfo $fileInfo, Tokens $tokens): void $docblockLines = explode("\n", $originalDocContent); foreach ($docblockLines as $key => $docblockLine) { - if (! str_contains($docblockLine, '@var')) { + if (! str_ends_with($docblockLine, ' ' . $propertyName)) { continue; } - if (! str_ends_with($docblockLine, ' ' . $propertyName)) { + if (!preg_match(self::VAR_REGEX, $docblockLine)) { continue; } diff --git a/tests/Fixer/Annotation/RemovePropertyVariableNameDescriptionFixer/Fixture/phpstan_annotation.php.inc b/tests/Fixer/Annotation/RemovePropertyVariableNameDescriptionFixer/Fixture/phpstan_annotation.php.inc new file mode 100644 index 00000000..b0bc5e02 --- /dev/null +++ b/tests/Fixer/Annotation/RemovePropertyVariableNameDescriptionFixer/Fixture/phpstan_annotation.php.inc @@ -0,0 +1,27 @@ + +----- + diff --git a/tests/Fixer/Annotation/RemovePropertyVariableNameDescriptionFixer/Fixture/psalm_annotation.php.inc b/tests/Fixer/Annotation/RemovePropertyVariableNameDescriptionFixer/Fixture/psalm_annotation.php.inc new file mode 100644 index 00000000..ebd996ad --- /dev/null +++ b/tests/Fixer/Annotation/RemovePropertyVariableNameDescriptionFixer/Fixture/psalm_annotation.php.inc @@ -0,0 +1,27 @@ + +----- + From 7e4ea3144d4e544f0b82da71c7a22c575851295d Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Tue, 13 May 2025 16:03:29 +0200 Subject: [PATCH 2/2] Update RemovePropertyVariableNameDescriptionFixer.php --- .../Annotation/RemovePropertyVariableNameDescriptionFixer.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Fixer/Annotation/RemovePropertyVariableNameDescriptionFixer.php b/src/Fixer/Annotation/RemovePropertyVariableNameDescriptionFixer.php index a9c78464..2a0f48a4 100644 --- a/src/Fixer/Annotation/RemovePropertyVariableNameDescriptionFixer.php +++ b/src/Fixer/Annotation/RemovePropertyVariableNameDescriptionFixer.php @@ -30,7 +30,6 @@ final class RemovePropertyVariableNameDescriptionFixer extends AbstractSymplifyF */ private const VAR_REGEX = '#@(?:psalm-|phpstan-)?var#'; - private readonly PropertyNameResolver $propertyNameResolver; public function __construct( @@ -84,7 +83,7 @@ public function fix(SplFileInfo $fileInfo, Tokens $tokens): void continue; } - if (!preg_match(self::VAR_REGEX, $docblockLine)) { + if (! preg_match(self::VAR_REGEX, $docblockLine)) { continue; }