From 39c70894f22ddda120799997365c589dd87deb7e Mon Sep 17 00:00:00 2001 From: jrfnl Date: Mon, 7 Apr 2025 00:18:37 +0200 Subject: [PATCH] PHP 8.4 | Squiz/VariableComment: add support for final properties If a property uses the `final` modifier keyword, the property docblock (providing there is one) would never be found, leading to false positives. Fixed now. Includes tests. --- .../Squiz/Sniffs/Commenting/VariableCommentSniff.php | 1 + .../Squiz/Tests/Commenting/VariableCommentUnitTest.inc | 7 +++++++ .../Tests/Commenting/VariableCommentUnitTest.inc.fixed | 7 +++++++ 3 files changed, 15 insertions(+) diff --git a/src/Standards/Squiz/Sniffs/Commenting/VariableCommentSniff.php b/src/Standards/Squiz/Sniffs/Commenting/VariableCommentSniff.php index edb388df0e..b9925757f4 100644 --- a/src/Standards/Squiz/Sniffs/Commenting/VariableCommentSniff.php +++ b/src/Standards/Squiz/Sniffs/Commenting/VariableCommentSniff.php @@ -36,6 +36,7 @@ public function processMemberVar(File $phpcsFile, $stackPtr) T_VAR => T_VAR, T_STATIC => T_STATIC, T_READONLY => T_READONLY, + T_FINAL => T_FINAL, T_WHITESPACE => T_WHITESPACE, T_STRING => T_STRING, T_NS_SEPARATOR => T_NS_SEPARATOR, diff --git a/src/Standards/Squiz/Tests/Commenting/VariableCommentUnitTest.inc b/src/Standards/Squiz/Tests/Commenting/VariableCommentUnitTest.inc index efb1834333..b849029e6d 100644 --- a/src/Standards/Squiz/Tests/Commenting/VariableCommentUnitTest.inc +++ b/src/Standards/Squiz/Tests/Commenting/VariableCommentUnitTest.inc @@ -462,3 +462,10 @@ class DNFTypes */ private (\Iterator&namespace\Countable)|false|null $variableName; } + +class PHP84FinalProperties { + /** + * @var integer + */ + final int $hasDocblock; +} diff --git a/src/Standards/Squiz/Tests/Commenting/VariableCommentUnitTest.inc.fixed b/src/Standards/Squiz/Tests/Commenting/VariableCommentUnitTest.inc.fixed index 06519bfd22..0a57d89e06 100644 --- a/src/Standards/Squiz/Tests/Commenting/VariableCommentUnitTest.inc.fixed +++ b/src/Standards/Squiz/Tests/Commenting/VariableCommentUnitTest.inc.fixed @@ -462,3 +462,10 @@ class DNFTypes */ private (\Iterator&namespace\Countable)|false|null $variableName; } + +class PHP84FinalProperties { + /** + * @var integer + */ + final int $hasDocblock; +}