getTokens(); if (isset($tokens[$stackPtr]['scope_closer']) === false) { // Probably an interface method. return; } $closeBrace = $tokens[$stackPtr]['scope_closer']; $prevContent = $phpcsFile->findPrevious(T_WHITESPACE, ($closeBrace - 1), null, true); $braceLine = $tokens[$closeBrace]['line']; $prevLine = $tokens[$prevContent]['line']; $found = ($braceLine - $prevLine - 1); if ($phpcsFile->hasCondition($stackPtr, T_FUNCTION) === true || isset($tokens[$stackPtr]['nested_parenthesis']) === true ) { // Nested function. if ($found < 0) { $error = 'Closing brace of nested function must be on a new line'; $phpcsFile->addError($error, $closeBrace, 'ContentBeforeClose'); } elseif ($found > 0) { $error = 'Expected 0 blank lines before closing brace of nested function; %s found'; $data = array($found); $phpcsFile->addError($error, $closeBrace, 'SpacingBeforeNestedClose', $data); } } else { if ($found !== 0) { $error = 'Expected 0 blank lines before closing function brace; %s found'; $data = array($found); $phpcsFile->addError($error, $closeBrace, 'SpacingBeforeClose', $data); } } } }