* * This source file is subject to the MIT license that is bundled * with this source code in the file LICENSE. */ namespace Symfony\CS\Fixer\Contrib; use Symfony\CS\AbstractFixer; use Symfony\CS\Tokenizer\Tokens; /** * @author Graham Campbell */ class MultilineSpacesBeforeSemicolonFixer extends AbstractFixer { /** * {@inheritdoc} */ public function fix(\SplFileInfo $file, $content) { $tokens = Tokens::fromCode($content); foreach ($tokens as $index => $token) { if (!$token->equals(';')) { continue; } $previous = $tokens[$index - 1]; if ($previous->isWhitespace() && false !== strpos($previous->getContent(), "\n")) { $previous->clear(); } } return $tokens->generateCode(); } /** * {@inheritdoc} */ public function getDescription() { return 'Multi-line whitespace before closing semicolon are prohibited.'; } }