Skip to content

Commit cf79ef7

Browse files
committed
PHP 8.2 | Squiz/VariableComment: bug fix - allow for DNF typed properties
If a property was typed with a DNF type, the `Squiz.Commenting.VariableComment` would not be able to find the docblock (providing there is one). Fixed now. Includes tests.
1 parent c288675 commit cf79ef7

File tree

3 files changed

+37
-19
lines changed

3 files changed

+37
-19
lines changed

src/Standards/Squiz/Sniffs/Commenting/VariableCommentSniff.php

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -30,25 +30,27 @@ public function processMemberVar(File $phpcsFile, $stackPtr)
3030
{
3131
$tokens = $phpcsFile->getTokens();
3232
$ignore = [
33-
T_PUBLIC => T_PUBLIC,
34-
T_PRIVATE => T_PRIVATE,
35-
T_PROTECTED => T_PROTECTED,
36-
T_VAR => T_VAR,
37-
T_STATIC => T_STATIC,
38-
T_READONLY => T_READONLY,
39-
T_WHITESPACE => T_WHITESPACE,
40-
T_STRING => T_STRING,
41-
T_NAME_QUALIFIED => T_NAME_QUALIFIED,
42-
T_NAME_FULLY_QUALIFIED => T_NAME_FULLY_QUALIFIED,
43-
T_NAME_RELATIVE => T_NAME_RELATIVE,
44-
T_NULLABLE => T_NULLABLE,
45-
T_TYPE_UNION => T_TYPE_UNION,
46-
T_TYPE_INTERSECTION => T_TYPE_INTERSECTION,
47-
T_NULL => T_NULL,
48-
T_TRUE => T_TRUE,
49-
T_FALSE => T_FALSE,
50-
T_SELF => T_SELF,
51-
T_PARENT => T_PARENT,
33+
T_PUBLIC => T_PUBLIC,
34+
T_PRIVATE => T_PRIVATE,
35+
T_PROTECTED => T_PROTECTED,
36+
T_VAR => T_VAR,
37+
T_STATIC => T_STATIC,
38+
T_READONLY => T_READONLY,
39+
T_WHITESPACE => T_WHITESPACE,
40+
T_STRING => T_STRING,
41+
T_NAME_QUALIFIED => T_NAME_QUALIFIED,
42+
T_NAME_FULLY_QUALIFIED => T_NAME_FULLY_QUALIFIED,
43+
T_NAME_RELATIVE => T_NAME_RELATIVE,
44+
T_NULLABLE => T_NULLABLE,
45+
T_TYPE_UNION => T_TYPE_UNION,
46+
T_TYPE_INTERSECTION => T_TYPE_INTERSECTION,
47+
T_TYPE_OPEN_PARENTHESIS => T_TYPE_OPEN_PARENTHESIS,
48+
T_TYPE_CLOSE_PARENTHESIS => T_TYPE_CLOSE_PARENTHESIS,
49+
T_NULL => T_NULL,
50+
T_TRUE => T_TRUE,
51+
T_FALSE => T_FALSE,
52+
T_SELF => T_SELF,
53+
T_PARENT => T_PARENT,
5254
];
5355

5456
for ($commentEnd = ($stackPtr - 1); $commentEnd >= 0; $commentEnd--) {

src/Standards/Squiz/Tests/Commenting/VariableCommentUnitTest.inc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -470,3 +470,11 @@ class MoreMissingButSupportedTypes
470470
*/
471471
private namespace\SomeClass $variableName;
472472
}
473+
474+
class DNFTypes
475+
{
476+
/**
477+
* @var mixed
478+
*/
479+
private (\Iterator&namespace\Countable)|false|null $variableName;
480+
}

src/Standards/Squiz/Tests/Commenting/VariableCommentUnitTest.inc.fixed

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -470,3 +470,11 @@ class MoreMissingButSupportedTypes
470470
*/
471471
private namespace\SomeClass $variableName;
472472
}
473+
474+
class DNFTypes
475+
{
476+
/**
477+
* @var mixed
478+
*/
479+
private (\Iterator&namespace\Countable)|false|null $variableName;
480+
}

0 commit comments

Comments
 (0)