public function fix(\SplFileInfo $file, Tokens $tokens)
{
foreach ($tokens as $index => $token) {
if (!$token->isWhitespace()) {
continue;
}
$content = $token->getContent();
$lines = preg_split("/(\r\n|\n)/", $content);
if (count($lines) > 2 || count($lines) > 1 && !isset($tokens[$index + 1])) {
$lMax = count($lines) - 1;
if (!isset($tokens[$index + 1])) {
++$lMax;
}
$lStart = 1;
if (isset($tokens[$index - 1]) && $tokens[$index - 1]->isGivenKind(T_OPEN_TAG) && "\n" === substr($tokens[$index - 1]->getContent(), -1)) {
$lStart = 0;
}
for ($l = $lStart; $l < $lMax; ++$l) {
$lines[$l] = preg_replace('/^\\h+$/', '', $lines[$l]);
}
$token->setContent(implode($this->whitespacesConfig->getLineEnding(), $lines));
}
}
}