Chris@0
|
1 <?php
|
Chris@0
|
2 /**
|
Chris@0
|
3 * Drupal_Sniffs_Functions_FunctionDeclarationSniff.
|
Chris@0
|
4 *
|
Chris@0
|
5 * @category PHP
|
Chris@0
|
6 * @package PHP_CodeSniffer
|
Chris@0
|
7 * @link http://pear.php.net/package/PHP_CodeSniffer
|
Chris@0
|
8 */
|
Chris@0
|
9
|
Chris@0
|
10 /**
|
Chris@0
|
11 * Ensure that there is only one space after the function keyword and no space
|
Chris@0
|
12 * before the opening parenthesis.
|
Chris@0
|
13 *
|
Chris@0
|
14 * @deprecated in Coder 8.x, will be removed in Coder 9.x.
|
Chris@0
|
15 * Squiz.Functions.MultiLineFunctionDeclaration is used instead, see ruleset.xml.
|
Chris@0
|
16 *
|
Chris@0
|
17 * @category PHP
|
Chris@0
|
18 * @package PHP_CodeSniffer
|
Chris@0
|
19 * @link http://pear.php.net/package/PHP_CodeSniffer
|
Chris@0
|
20 */
|
Chris@0
|
21 class Drupal_Sniffs_Functions_FunctionDeclarationSniff implements PHP_CodeSniffer_Sniff
|
Chris@0
|
22 {
|
Chris@0
|
23
|
Chris@0
|
24
|
Chris@0
|
25 /**
|
Chris@0
|
26 * Returns an array of tokens this test wants to listen for.
|
Chris@0
|
27 *
|
Chris@0
|
28 * @return array
|
Chris@0
|
29 */
|
Chris@0
|
30 public function register()
|
Chris@0
|
31 {
|
Chris@0
|
32 return array(T_FUNCTION);
|
Chris@0
|
33
|
Chris@0
|
34 }//end register()
|
Chris@0
|
35
|
Chris@0
|
36
|
Chris@0
|
37 /**
|
Chris@0
|
38 * Processes this test, when one of its tokens is encountered.
|
Chris@0
|
39 *
|
Chris@0
|
40 * @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
|
Chris@0
|
41 * @param int $stackPtr The position of the current token
|
Chris@0
|
42 * in the stack passed in $tokens.
|
Chris@0
|
43 *
|
Chris@0
|
44 * @return void
|
Chris@0
|
45 */
|
Chris@0
|
46 public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
|
Chris@0
|
47 {
|
Chris@0
|
48 $tokens = $phpcsFile->getTokens();
|
Chris@0
|
49
|
Chris@0
|
50 if ($tokens[($stackPtr + 1)]['content'] !== ' ') {
|
Chris@0
|
51 $error = 'Expected exactly one space after the function keyword';
|
Chris@0
|
52 $phpcsFile->addError($error, ($stackPtr + 1), 'SpaceAfter');
|
Chris@0
|
53 }
|
Chris@0
|
54
|
Chris@0
|
55 if (isset($tokens[($stackPtr + 3)]) === true
|
Chris@0
|
56 && $tokens[($stackPtr + 3)]['code'] === T_WHITESPACE
|
Chris@0
|
57 ) {
|
Chris@0
|
58 $error = 'Space before opening parenthesis of function definition prohibited';
|
Chris@0
|
59 $phpcsFile->addError($error, ($stackPtr + 3), 'SpaceBeforeParenthesis');
|
Chris@0
|
60 }
|
Chris@0
|
61
|
Chris@0
|
62 }//end process()
|
Chris@0
|
63
|
Chris@0
|
64
|
Chris@0
|
65 }//end class
|