| @@ 172-189 (lines=18) @@ | ||
| 169 | } |
|
| 170 | ||
| 171 | $prev = $phpcsFile->findPrevious($empty, ($firstTag - 1), $stackPtr, true); |
|
| 172 | if ($tokens[$firstTag]['line'] !== ($tokens[$prev]['line'] + 2)) { |
|
| 173 | $error = 'There must be exactly one blank line before the tags in a doc comment'; |
|
| 174 | $fix = $phpcsFile->addFixableError($error, $firstTag, 'SpacingBeforeTags'); |
|
| 175 | if ($fix === true) { |
|
| 176 | $phpcsFile->fixer->beginChangeset(); |
|
| 177 | for ($i = ($prev + 1); $i < $firstTag; $i++) { |
|
| 178 | if ($tokens[$i]['line'] === $tokens[$firstTag]['line']) { |
|
| 179 | break; |
|
| 180 | } |
|
| 181 | ||
| 182 | $phpcsFile->fixer->replaceToken($i, ''); |
|
| 183 | } |
|
| 184 | ||
| 185 | $indent = str_repeat("\t", $tokens[$stackPtr]['column'] - 1) . ' '; |
|
| 186 | $phpcsFile->fixer->addContent($prev, $phpcsFile->eolChar . $indent . '*' . $phpcsFile->eolChar); |
|
| 187 | $phpcsFile->fixer->endChangeset(); |
|
| 188 | } |
|
| 189 | } |
|
| 190 | } |
|
| 191 | ||
| 192 | } |
|
| @@ 201-218 (lines=18) @@ | ||
| 198 | ||
| 199 | $firstTag = $tokens[$commentStart]['comment_tags'][0]; |
|
| 200 | $prev = $phpcsFile->findPrevious($empty, ($firstTag - 1), $stackPtr, true); |
|
| 201 | if ($tokens[$firstTag]['line'] !== ($tokens[$prev]['line'] + 2)) { |
|
| 202 | $error = 'There must be exactly one blank line before the tags in a doc comment'; |
|
| 203 | $fix = $phpcsFile->addFixableError($error, $firstTag, 'SpacingBeforeTags'); |
|
| 204 | if ($fix === true) { |
|
| 205 | $phpcsFile->fixer->beginChangeset(); |
|
| 206 | for ($i = ($prev + 1); $i < $firstTag; $i++) { |
|
| 207 | if ($tokens[$i]['line'] === $tokens[$firstTag]['line']) { |
|
| 208 | break; |
|
| 209 | } |
|
| 210 | ||
| 211 | $phpcsFile->fixer->replaceToken($i, ''); |
|
| 212 | } |
|
| 213 | ||
| 214 | $indent = str_repeat(' ', $tokens[$stackPtr]['column']); |
|
| 215 | $phpcsFile->fixer->addContent($prev, $phpcsFile->eolChar.$indent.'*'.$phpcsFile->eolChar); |
|
| 216 | $phpcsFile->fixer->endChangeset(); |
|
| 217 | } |
|
| 218 | } |
|
| 219 | ||
| 220 | // Break out the tags into groups and check alignment within each. |
|
| 221 | // A tag group is one where there are no blank lines between tags. |
|
| @@ 286-303 (lines=18) @@ | ||
| 283 | $next = $phpcsFile->findNext(T_DOC_COMMENT_TAG, ($lastTag + 3), $commentEnd); |
|
| 284 | if ($next !== false) { |
|
| 285 | $prev = $phpcsFile->findPrevious(array(T_DOC_COMMENT_TAG, T_DOC_COMMENT_STRING), ($next - 1), $commentStart); |
|
| 286 | if ($tokens[$next]['line'] !== ($tokens[$prev]['line'] + 2)) { |
|
| 287 | $error = 'There must be a single blank line after a tag group'; |
|
| 288 | $fix = $phpcsFile->addFixableError($error, $lastTag, 'SpacingAfterTagGroup'); |
|
| 289 | if ($fix === true) { |
|
| 290 | $phpcsFile->fixer->beginChangeset(); |
|
| 291 | for ($i = ($prev + 1); $i < $next; $i++) { |
|
| 292 | if ($tokens[$i]['line'] === $tokens[$next]['line']) { |
|
| 293 | break; |
|
| 294 | } |
|
| 295 | ||
| 296 | $phpcsFile->fixer->replaceToken($i, ''); |
|
| 297 | } |
|
| 298 | ||
| 299 | $indent = str_repeat(' ', $tokens[$stackPtr]['column']); |
|
| 300 | $phpcsFile->fixer->addContent($prev, $phpcsFile->eolChar.$indent.'*'.$phpcsFile->eolChar); |
|
| 301 | $phpcsFile->fixer->endChangeset(); |
|
| 302 | } |
|
| 303 | } |
|
| 304 | }//end if |
|
| 305 | ||
| 306 | // Now check paddings. |
|