Mercurial > hg > isophonics-drupal-site
comparison vendor/drupal/coder/coder_sniffer/Drupal/Sniffs/WhiteSpace/CloseBracketSpacingSniff.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_CloseBracketSpacingSniff. | |
4 * | |
5 * @category PHP | |
6 * @package PHP_CodeSniffer | |
7 * @link http://pear.php.net/package/PHP_CodeSniffer | |
8 */ | |
9 | |
10 /** | |
11 * Checks that there is no white space before a closing bracket, for ")" and "}". | |
12 * Square Brackets are handled by Squiz_Sniffs_Arrays_ArrayBracketSpacingSniff. | |
13 * | |
14 * @category PHP | |
15 * @package PHP_CodeSniffer | |
16 * @link http://pear.php.net/package/PHP_CodeSniffer | |
17 */ | |
18 class Drupal_Sniffs_WhiteSpace_CloseBracketSpacingSniff implements PHP_CodeSniffer_Sniff | |
19 { | |
20 | |
21 /** | |
22 * A list of tokenizers this sniff supports. | |
23 * | |
24 * @var array | |
25 */ | |
26 public $supportedTokenizers = array( | |
27 'PHP', | |
28 'JS', | |
29 ); | |
30 | |
31 | |
32 /** | |
33 * Returns an array of tokens this test wants to listen for. | |
34 * | |
35 * @return array | |
36 */ | |
37 public function register() | |
38 { | |
39 return array( | |
40 T_CLOSE_CURLY_BRACKET, | |
41 T_CLOSE_PARENTHESIS, | |
42 T_CLOSE_SHORT_ARRAY, | |
43 ); | |
44 | |
45 }//end register() | |
46 | |
47 | |
48 /** | |
49 * Processes this test, when one of its tokens is encountered. | |
50 * | |
51 * @param PHP_CodeSniffer_File $phpcsFile The file being scanned. | |
52 * @param int $stackPtr The position of the current token | |
53 * in the stack passed in $tokens. | |
54 * | |
55 * @return void | |
56 */ | |
57 public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr) | |
58 { | |
59 $tokens = $phpcsFile->getTokens(); | |
60 | |
61 // Ignore curly brackets in javascript files. | |
62 if ($tokens[$stackPtr]['code'] === T_CLOSE_CURLY_BRACKET | |
63 && $phpcsFile->tokenizerType === 'JS' | |
64 ) { | |
65 return; | |
66 } | |
67 | |
68 if (isset($tokens[($stackPtr - 1)]) === true | |
69 && $tokens[($stackPtr - 1)]['code'] === T_WHITESPACE | |
70 ) { | |
71 $before = $phpcsFile->findPrevious(PHP_CodeSniffer_Tokens::$emptyTokens, ($stackPtr - 1), null, true); | |
72 if ($before !== false && $tokens[$stackPtr]['line'] === $tokens[$before]['line']) { | |
73 $error = 'There should be no white space before a closing "%s"'; | |
74 $fix = $phpcsFile->addFixableError( | |
75 $error, | |
76 ($stackPtr - 1), | |
77 'ClosingWhitespace', | |
78 array($tokens[$stackPtr]['content']) | |
79 ); | |
80 if ($fix === true) { | |
81 $phpcsFile->fixer->replaceToken(($stackPtr - 1), ''); | |
82 } | |
83 } | |
84 } | |
85 | |
86 }//end process() | |
87 | |
88 | |
89 }//end class |