From b0477da67f822aa1d476b27028dde6c80185beb7 Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Sat, 13 Jun 2026 21:15:23 +0200 Subject: [PATCH] Add RemoveDeadVarThisFixer --- .../Commenting/RemoveDeadVarThisFixer.php | 51 +++++++++++++++++++ .../Fixture/multi_line_var_this.php.inc | 24 +++++++++ .../Fixture/single_line_var_this.php.inc | 22 ++++++++ .../Fixture/skip_var_other_variable.php.inc | 9 ++++ .../RemoveDeadVarThisFixerTest.php | 28 ++++++++++ .../config/configured_rule.php | 10 ++++ src/Config/Level/DocblockLevel.php | 3 ++ 7 files changed, 147 insertions(+) create mode 100644 packages/coding-standard/src/Fixer/Commenting/RemoveDeadVarThisFixer.php create mode 100644 packages/coding-standard/tests/Fixer/Commenting/RemoveDeadVarThisFixer/Fixture/multi_line_var_this.php.inc create mode 100644 packages/coding-standard/tests/Fixer/Commenting/RemoveDeadVarThisFixer/Fixture/single_line_var_this.php.inc create mode 100644 packages/coding-standard/tests/Fixer/Commenting/RemoveDeadVarThisFixer/Fixture/skip_var_other_variable.php.inc create mode 100644 packages/coding-standard/tests/Fixer/Commenting/RemoveDeadVarThisFixer/RemoveDeadVarThisFixerTest.php create mode 100644 packages/coding-standard/tests/Fixer/Commenting/RemoveDeadVarThisFixer/config/configured_rule.php diff --git a/packages/coding-standard/src/Fixer/Commenting/RemoveDeadVarThisFixer.php b/packages/coding-standard/src/Fixer/Commenting/RemoveDeadVarThisFixer.php new file mode 100644 index 0000000000..22107295b9 --- /dev/null +++ b/packages/coding-standard/src/Fixer/Commenting/RemoveDeadVarThisFixer.php @@ -0,0 +1,51 @@ + $tokens + */ + protected function processDocContent(string $docContent, Tokens $tokens, int $position): string + { + $docBlock = new DocBlock($docContent); + + foreach ($docBlock->getLines() as $line) { + if (! Regex::match($line->getContent(), self::VAR_THIS_REGEX)) { + continue; + } + + $line->remove(); + } + + return $docBlock->getContent(); + } +} diff --git a/packages/coding-standard/tests/Fixer/Commenting/RemoveDeadVarThisFixer/Fixture/multi_line_var_this.php.inc b/packages/coding-standard/tests/Fixer/Commenting/RemoveDeadVarThisFixer/Fixture/multi_line_var_this.php.inc new file mode 100644 index 0000000000..1d6fe9850d --- /dev/null +++ b/packages/coding-standard/tests/Fixer/Commenting/RemoveDeadVarThisFixer/Fixture/multi_line_var_this.php.inc @@ -0,0 +1,24 @@ +run(); +} + +?> +----- +run(); +} + +?> diff --git a/packages/coding-standard/tests/Fixer/Commenting/RemoveDeadVarThisFixer/Fixture/single_line_var_this.php.inc b/packages/coding-standard/tests/Fixer/Commenting/RemoveDeadVarThisFixer/Fixture/single_line_var_this.php.inc new file mode 100644 index 0000000000..a011ccc436 --- /dev/null +++ b/packages/coding-standard/tests/Fixer/Commenting/RemoveDeadVarThisFixer/Fixture/single_line_var_this.php.inc @@ -0,0 +1,22 @@ +run(); +} + +?> +----- +run(); +} + +?> diff --git a/packages/coding-standard/tests/Fixer/Commenting/RemoveDeadVarThisFixer/Fixture/skip_var_other_variable.php.inc b/packages/coding-standard/tests/Fixer/Commenting/RemoveDeadVarThisFixer/Fixture/skip_var_other_variable.php.inc new file mode 100644 index 0000000000..424b935240 --- /dev/null +++ b/packages/coding-standard/tests/Fixer/Commenting/RemoveDeadVarThisFixer/Fixture/skip_var_other_variable.php.inc @@ -0,0 +1,9 @@ +doTestFile($filePath); + } + + public static function provideData(): Iterator + { + return self::yieldFiles(__DIR__ . '/Fixture'); + } + + public function provideConfig(): string + { + return __DIR__ . '/config/configured_rule.php'; + } +} diff --git a/packages/coding-standard/tests/Fixer/Commenting/RemoveDeadVarThisFixer/config/configured_rule.php b/packages/coding-standard/tests/Fixer/Commenting/RemoveDeadVarThisFixer/config/configured_rule.php new file mode 100644 index 0000000000..55cf6f6a8c --- /dev/null +++ b/packages/coding-standard/tests/Fixer/Commenting/RemoveDeadVarThisFixer/config/configured_rule.php @@ -0,0 +1,10 @@ +rule(RemoveDeadVarThisFixer::class); +}; diff --git a/src/Config/Level/DocblockLevel.php b/src/Config/Level/DocblockLevel.php index 7c4e6e3ed2..23ca458a5d 100644 --- a/src/Config/Level/DocblockLevel.php +++ b/src/Config/Level/DocblockLevel.php @@ -22,6 +22,7 @@ use Symplify\CodingStandard\Fixer\Commenting\DoubleAsteriskInlineVarFixer; use Symplify\CodingStandard\Fixer\Commenting\FixParamNameTypoFixer; use Symplify\CodingStandard\Fixer\Commenting\RemoveDeadParamFixer; +use Symplify\CodingStandard\Fixer\Commenting\RemoveDeadVarThisFixer; use Symplify\CodingStandard\Fixer\Commenting\RemoveParamNameReferenceFixer; use Symplify\CodingStandard\Fixer\Commenting\RemoveSuperfluousReturnNameFixer; use Symplify\CodingStandard\Fixer\Commenting\RemoveSuperfluousVarNameFixer; @@ -44,7 +45,9 @@ final class DocblockLevel public const array RULES = [ // inline @var DoubleAsteriskInlineVarFixer::class, + RemoveDeadVarThisFixer::class, SingleLineInlineVarDocBlockFixer::class, + AddMissingVarNameFixer::class, // @param