diff --git a/src/Standards/Squiz/Sniffs/Commenting/FunctionCommentSniff.php b/src/Standards/Squiz/Sniffs/Commenting/FunctionCommentSniff.php index 3531758a4d..c7003faaf2 100644 --- a/src/Standards/Squiz/Sniffs/Commenting/FunctionCommentSniff.php +++ b/src/Standards/Squiz/Sniffs/Commenting/FunctionCommentSniff.php @@ -76,7 +76,7 @@ protected function processReturn(File $phpcsFile, $stackPtr, $commentStart) $phpcsFile->addError($error, $return, 'MissingReturnType'); } else { // Support both a return type and a description. - preg_match('`^((?:\|?(?:array\([^\)]*\)|[\\\\a-z0-9\[\]]+))*)( .*)?`i', $content, $returnParts); + preg_match('`^((?:\|?(?:array\([^\)]*\)|[\\\\a-z0-9_\[\]]+))*)( .*)?`i', $content, $returnParts); if (isset($returnParts[1]) === false) { return; } diff --git a/src/Standards/Squiz/Tests/Commenting/FunctionCommentUnitTest.inc b/src/Standards/Squiz/Tests/Commenting/FunctionCommentUnitTest.inc index 79060f4fe7..f5312c60dc 100644 --- a/src/Standards/Squiz/Tests/Commenting/FunctionCommentUnitTest.inc +++ b/src/Standards/Squiz/Tests/Commenting/FunctionCommentUnitTest.inc @@ -1167,3 +1167,30 @@ public function setTranslator($a): void { $this->translator = $translator; } + +/** + * Issue PHPCSStandards/PHP_CodeSniffer#1197. + * + * @return int|WP_Error + */ +function doNotTruncateClassNamesContainingUnderscoresAtEndOfType() { + return 0; +} + +/** + * Issue PHPCSStandards/PHP_CodeSniffer#1197. + * + * @return WP_Error|int + */ +function doNotTruncateClassNamesContainingUnderscoresAtStartOfType() { + return 0; +} + +/** + * Issue PHPCSStandards/PHP_CodeSniffer#1197. + * + * @return int|WP_Error|false + */ +function doNotTruncateClassNamesContainingUnderscoresInTheMiddelOfType() { + return 0; +} diff --git a/src/Standards/Squiz/Tests/Commenting/FunctionCommentUnitTest.inc.fixed b/src/Standards/Squiz/Tests/Commenting/FunctionCommentUnitTest.inc.fixed index 76fa862ab0..b0d9fa0e7b 100644 --- a/src/Standards/Squiz/Tests/Commenting/FunctionCommentUnitTest.inc.fixed +++ b/src/Standards/Squiz/Tests/Commenting/FunctionCommentUnitTest.inc.fixed @@ -1167,3 +1167,30 @@ public function setTranslator($a): void { $this->translator = $translator; } + +/** + * Issue PHPCSStandards/PHP_CodeSniffer#1197. + * + * @return integer|WP_Error + */ +function doNotTruncateClassNamesContainingUnderscoresAtEndOfType() { + return 0; +} + +/** + * Issue PHPCSStandards/PHP_CodeSniffer#1197. + * + * @return WP_Error|integer + */ +function doNotTruncateClassNamesContainingUnderscoresAtStartOfType() { + return 0; +} + +/** + * Issue PHPCSStandards/PHP_CodeSniffer#1197. + * + * @return integer|WP_Error|false + */ +function doNotTruncateClassNamesContainingUnderscoresInTheMiddelOfType() { + return 0; +} diff --git a/src/Standards/Squiz/Tests/Commenting/FunctionCommentUnitTest.php b/src/Standards/Squiz/Tests/Commenting/FunctionCommentUnitTest.php index 036bdc622b..66f48e2ecb 100644 --- a/src/Standards/Squiz/Tests/Commenting/FunctionCommentUnitTest.php +++ b/src/Standards/Squiz/Tests/Commenting/FunctionCommentUnitTest.php @@ -141,6 +141,9 @@ public function getErrorList() 1144 => 1, 1145 => 1, 1151 => 1, + 1174 => 1, + 1183 => 1, + 1192 => 1, ]; // Scalar type hints only work from PHP 7 onwards.