Mercurial > hg > isophonics-drupal-site
annotate vendor/drupal/coder/coder_sniffer/Drupal/Sniffs/Commenting/GenderNeutralCommentSniff.php @ 19:fa3358dc1485 tip
Add ndrum files
author | Chris Cannam |
---|---|
date | Wed, 28 Aug 2019 13:14:47 +0100 |
parents | af1871eacc83 |
children |
rev | line source |
---|---|
Chris@18 | 1 <?php |
Chris@18 | 2 /** |
Chris@18 | 3 * Parses and verifies comment language. |
Chris@18 | 4 * |
Chris@18 | 5 * @category PHP |
Chris@18 | 6 * @package PHP_CodeSniffer |
Chris@18 | 7 * @link http://pear.php.net/package/PHP_CodeSniffer |
Chris@18 | 8 */ |
Chris@18 | 9 |
Chris@18 | 10 namespace Drupal\Sniffs\Commenting; |
Chris@18 | 11 |
Chris@18 | 12 use PHP_CodeSniffer\Files\File; |
Chris@18 | 13 use PHP_CodeSniffer\Sniffs\Sniff; |
Chris@18 | 14 |
Chris@18 | 15 /** |
Chris@18 | 16 * Parses and verifies that comments use gender neutral language. |
Chris@18 | 17 * |
Chris@18 | 18 * @category PHP |
Chris@18 | 19 * @package PHP_CodeSniffer |
Chris@18 | 20 * @link http://pear.php.net/package/PHP_CodeSniffer |
Chris@18 | 21 */ |
Chris@18 | 22 class GenderNeutralCommentSniff implements Sniff |
Chris@18 | 23 { |
Chris@18 | 24 |
Chris@18 | 25 |
Chris@18 | 26 /** |
Chris@18 | 27 * Returns an array of tokens this test wants to listen for. |
Chris@18 | 28 * |
Chris@18 | 29 * @return array |
Chris@18 | 30 */ |
Chris@18 | 31 public function register() |
Chris@18 | 32 { |
Chris@18 | 33 return array( |
Chris@18 | 34 T_COMMENT, |
Chris@18 | 35 T_DOC_COMMENT_STRING, |
Chris@18 | 36 ); |
Chris@18 | 37 |
Chris@18 | 38 }//end register() |
Chris@18 | 39 |
Chris@18 | 40 |
Chris@18 | 41 /** |
Chris@18 | 42 * Processes this test, when one of its tokens is encountered. |
Chris@18 | 43 * |
Chris@18 | 44 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned. |
Chris@18 | 45 * @param int $stackPtr The position of the current token |
Chris@18 | 46 * in the stack passed in $tokens. |
Chris@18 | 47 * |
Chris@18 | 48 * @return void |
Chris@18 | 49 */ |
Chris@18 | 50 public function process(File $phpcsFile, $stackPtr) |
Chris@18 | 51 { |
Chris@18 | 52 $tokens = $phpcsFile->getTokens(); |
Chris@18 | 53 if ((bool) preg_match('/(^|\W)(he|her|hers|him|his|she)($|\W)/i', $tokens[$stackPtr]['content']) === true) { |
Chris@18 | 54 $phpcsFile->addError('Unnecessarily gendered language in a comment', $stackPtr, 'GenderNeutral'); |
Chris@18 | 55 } |
Chris@18 | 56 |
Chris@18 | 57 }//end process() |
Chris@18 | 58 |
Chris@18 | 59 |
Chris@18 | 60 }//end class |