rector/rules/DowngradePhp73/Tokenizer/FollowedByCommaAnalyzer.php
Tomas Votruba 1666838b21 Updated Rector to commit 9575dd2231f38d6dd04606e53c51919527c9333c
9575dd2231 [CodingStyle] Skip indirect version number on VersionCompareFuncCallToConstantRector (#344)
2021-07-01 08:50:15 +00:00

31 lines
960 B
PHP

<?php
declare (strict_types=1);
namespace Rector\DowngradePhp73\Tokenizer;
use RectorPrefix20210701\Nette\Utils\Strings;
use PhpParser\Node;
use Rector\Core\ValueObject\Application\File;
final class FollowedByCommaAnalyzer
{
public function isFollowed(\Rector\Core\ValueObject\Application\File $file, \PhpParser\Node $node) : bool
{
$oldTokens = $file->getOldTokens();
$nextTokenPosition = $node->getEndTokenPos() + 1;
while (isset($oldTokens[$nextTokenPosition])) {
$currentToken = $oldTokens[$nextTokenPosition];
// only space
if (\is_array($currentToken) || \RectorPrefix20210701\Nette\Utils\Strings::match($currentToken, '#\\s+#')) {
++$nextTokenPosition;
continue;
}
// without comma
if ($currentToken === ')') {
return \false;
}
break;
}
return \true;
}
}