rector/rules/DowngradePhp73/Tokenizer/FollowedByCommaAnalyzer.php
Tomas Votruba 4a70b89e41 Updated Rector to commit 4456c4690bbe679448a02e20ebc521b1fa9b6b48
4456c4690b extend AutowiredClassMethodAnalyzer with property
2021-07-25 07:47:04 +00:00

31 lines
960 B
PHP

<?php
declare (strict_types=1);
namespace Rector\DowngradePhp73\Tokenizer;
use RectorPrefix20210725\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) || \RectorPrefix20210725\Nette\Utils\Strings::match($currentToken, '#\\s+#')) {
++$nextTokenPosition;
continue;
}
// without comma
if ($currentToken === ')') {
return \false;
}
break;
}
return \true;
}
}