8 use PHP_CodeSniffer\Sniffs\Sniff;
9 use PHP_CodeSniffer\Files\File;
10 use PHP_CodeSniffer\Util\Tokens;
32 public function register()
34 return [T_OPEN_CURLY_BRACKET, T_CLOSE_CURLY_BRACKET];
40 public function process(File $phpcsFile, $stackPtr)
42 $tokens = $phpcsFile->getTokens();
44 if (T_OPEN_CURLY_BRACKET ===
$tokens[$stackPtr][
'code']) {
46 $phpcsFile->addError(
'Space before opening brace is missing', $stackPtr,
'SpacingBeforeOpen');
52 $next = $phpcsFile->findNext(T_WHITESPACE, ($stackPtr + 1),
null,
true);
53 if ($next ===
false) {
57 if (!in_array(
$tokens[$next][
'code'], [T_CLOSE_TAG, T_CLOSE_CURLY_BRACKET])) {
58 $found = ((
$tokens[$next][
'line'] -
$tokens[$stackPtr][
'line']) - 1);
60 $error =
'Expected one blank line after closing brace of class definition; %s found';
70 $found = $phpcsFile->findPrevious(
71 T_CLOSE_CURLY_BRACKET,
73 $tokens[$stackPtr][
'bracket_opener']
76 if ($found !==
false) {
80 $prev = $phpcsFile->findPrevious(Tokens::$emptyTokens, ($stackPtr - 1),
null,
true);
81 if ($prev !==
false &&
$tokens[$prev][
'line'] !== (
$tokens[$stackPtr][
'line'] - 1)) {
83 $error =
'Expected 0 blank lines before closing brace of class definition; %s found';
85 $phpcsFile->addError($error, $stackPtr,
'SpacingBeforeClose',
$data);