3
* Squiz_Sniffs_WhiteSpace_FunctionOpeningBraceSpaceSniff.
8
* @package PHP_CodeSniffer
9
* @author Greg Sherwood <gsherwood@squiz.net>
10
* @author Marc McIntyre <mmcintyre@squiz.net>
11
* @copyright 2006 Squiz Pty Ltd (ABN 77 084 670 600)
12
* @license http://matrix.squiz.net/developer/tools/php_cs/licence BSD Licence
13
* @version CVS: $Id: FunctionOpeningBraceSpaceSniff.php,v 1.4 2007/10/23 05:14:03 squiz Exp $
14
* @link http://pear.php.net/package/PHP_CodeSniffer
18
* Squiz_Sniffs_WhiteSpace_FunctionOpeningBraceSpaceSniff.
20
* Checks that there is no empty line after the opening brace of a function.
23
* @package PHP_CodeSniffer
24
* @author Greg Sherwood <gsherwood@squiz.net>
25
* @author Marc McIntyre <mmcintyre@squiz.net>
26
* @copyright 2006 Squiz Pty Ltd (ABN 77 084 670 600)
27
* @license http://matrix.squiz.net/developer/tools/php_cs/licence BSD Licence
28
* @version Release: 1.1.0
29
* @link http://pear.php.net/package/PHP_CodeSniffer
31
class Squiz_Sniffs_WhiteSpace_FunctionOpeningBraceSpaceSniff implements PHP_CodeSniffer_Sniff
36
* Returns an array of tokens this test wants to listen for.
40
public function register()
42
return array(T_FUNCTION);
48
* Processes this test, when one of its tokens is encountered.
50
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
51
* @param int $stackPtr The position of the current token
52
* in the stack passed in $tokens.
56
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
58
$tokens = $phpcsFile->getTokens();
60
if (isset($tokens[$stackPtr]['scope_opener']) === false) {
61
// Probably an interface method.
65
$openBrace = $tokens[$stackPtr]['scope_opener'];
66
$nextContent = $phpcsFile->findNext(T_WHITESPACE, ($openBrace + 1), null, true);
68
if ($nextContent === $tokens[$stackPtr]['scope_closer']) {
69
// The next bit of content is the closing brace, so this
70
// is an empty function and should have a blank line
71
// between the opening and closing braces.
75
$braceLine = $tokens[$openBrace]['line'];
76
$nextLine = $tokens[$nextContent]['line'];
78
$found = ($nextLine - $braceLine - 1);
80
$error = "Expected 0 blank lines after opening function brace; $found found";
81
$phpcsFile->addError($error, $openBrace);