Legoktm has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/327442 )
Change subject: Allow filtering documentation requirements based on visibility ...................................................................... Allow filtering documentation requirements based on visibility * Don't require documentation for private methods * Allow repos to opt-out of requiring documentation for protected methods Change-Id: Ib0eb21d300c5dc583022618dc140beaac08e6e38 --- M MediaWiki/Sniffs/Commenting/FunctionCommentSniff.php 1 file changed, 13 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/tools/codesniffer refs/changes/42/327442/1 diff --git a/MediaWiki/Sniffs/Commenting/FunctionCommentSniff.php b/MediaWiki/Sniffs/Commenting/FunctionCommentSniff.php index 60b2afe..f831d05 100644 --- a/MediaWiki/Sniffs/Commenting/FunctionCommentSniff.php +++ b/MediaWiki/Sniffs/Commenting/FunctionCommentSniff.php @@ -44,6 +44,18 @@ return; } $tokens = $phpcsFile->getTokens(); + // Identify the visiblity of the function + $visibility = $phpcsFile->findPrevious( [ T_PUBLIC, T_PROTECTED, T_PRIVATE ], $stackPtr - 1 ); + $visStr = 'Public'; + if ( $visibility && $visibility['line'] == $tokens[$stackPtr]['line'] ) { + if ( $visibility['code'] == T_PRIVATE ) { + // Don't check documentation for private functions + return; + } elseif ( $visibility['code'] == T_PROTECTED ) { + $visStr = 'Protected'; + } + } + $find = PHP_CodeSniffer_Tokens::$methodPrefixes; $find[] = T_WHITESPACE; $commentEnd = $phpcsFile->findPrevious( $find, ( $stackPtr - 1 ), null, true ); @@ -60,7 +72,7 @@ if ( $tokens[$commentEnd]['code'] !== T_DOC_COMMENT_CLOSE_TAG && $tokens[$commentEnd]['code'] !== T_COMMENT ) { - $phpcsFile->addError( 'Missing function doc comment', $stackPtr, 'Missing' ); + $phpcsFile->addError( 'Missing function doc comment', $stackPtr, "Missing.$visStr" ); $phpcsFile->recordMetric( $stackPtr, 'Function has doc comment', 'no' ); return; } else { -- To view, visit https://gerrit.wikimedia.org/r/327442 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib0eb21d300c5dc583022618dc140beaac08e6e38 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/tools/codesniffer Gerrit-Branch: master Gerrit-Owner: Legoktm <lego...@member.fsf.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits