Mercurial > hg > isophonics-drupal-site
comparison vendor/drupal/coder/coder_sniffer/Drupal/Sniffs/WhiteSpace/CommaSniff.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 129ea1e6d783 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4c8ae668cc8c |
---|---|
1 <?php | |
2 /** | |
3 * Drupal_Sniffs_WhiteSpace_CommaSniff. | |
4 * | |
5 * @category PHP | |
6 * @package PHP_CodeSniffer | |
7 * @link http://pear.php.net/package/PHP_CodeSniffer | |
8 */ | |
9 | |
10 /** | |
11 * Drupal_Sniffs_WhiteSpace_CommaSniff. | |
12 * | |
13 * Checks that there is one space after a comma. | |
14 * | |
15 * @category PHP | |
16 * @package PHP_CodeSniffer | |
17 * @link http://pear.php.net/package/PHP_CodeSniffer | |
18 */ | |
19 class Drupal_Sniffs_WhiteSpace_CommaSniff implements PHP_CodeSniffer_Sniff | |
20 { | |
21 | |
22 | |
23 /** | |
24 * Returns an array of tokens this test wants to listen for. | |
25 * | |
26 * @return array | |
27 */ | |
28 public function register() | |
29 { | |
30 return array(T_COMMA); | |
31 | |
32 }//end register() | |
33 | |
34 | |
35 /** | |
36 * Processes this test, when one of its tokens is encountered. | |
37 * | |
38 * @param PHP_CodeSniffer_File $phpcsFile The file being scanned. | |
39 * @param int $stackPtr The position of the current token | |
40 * in the stack passed in $tokens. | |
41 * | |
42 * @return void | |
43 */ | |
44 public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr) | |
45 { | |
46 $tokens = $phpcsFile->getTokens(); | |
47 | |
48 if (isset($tokens[($stackPtr + 1)]) === false) { | |
49 return; | |
50 } | |
51 | |
52 if ($tokens[($stackPtr + 1)]['code'] !== T_WHITESPACE | |
53 && $tokens[($stackPtr + 1)]['code'] !== T_COMMA | |
54 && $tokens[($stackPtr + 1)]['code'] !== T_CLOSE_PARENTHESIS | |
55 ) { | |
56 $error = 'Expected one space after the comma, 0 found'; | |
57 $fix = $phpcsFile->addFixableError($error, $stackPtr, 'NoSpace'); | |
58 if ($fix === true) { | |
59 $phpcsFile->fixer->addContent($stackPtr, ' '); | |
60 } | |
61 | |
62 return; | |
63 } | |
64 | |
65 if ($tokens[($stackPtr + 1)]['code'] === T_WHITESPACE | |
66 && isset($tokens[($stackPtr + 2)]) === true | |
67 && $tokens[($stackPtr + 2)]['line'] === $tokens[($stackPtr + 1)]['line'] | |
68 && $tokens[($stackPtr + 1)]['content'] !== ' ' | |
69 ) { | |
70 $error = 'Expected one space after the comma, %s found'; | |
71 $fix = $phpcsFile->addFixableError($error, $stackPtr, 'TooManySpaces', array(strlen($tokens[($stackPtr + 1)]['content']))); | |
72 if ($fix === true) { | |
73 $phpcsFile->fixer->replaceToken(($stackPtr + 1), ' '); | |
74 } | |
75 } | |
76 | |
77 }//end process() | |
78 | |
79 | |
80 }//end class |