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

Reply via email to