mirror of https://github.com/rectorphp/rector.git
Updated Rector to commit 861a8808e7516c74b7e41a884076eac35f60a14f
861a8808e7
[Php82] Skip usage of already RecursiveDirectoryIterator::SKIP_DOTS on FilesystemIteratorSkipDotsRector (#5712)
This commit is contained in:
parent
7660d5730f
commit
ecd615137e
|
@ -3,7 +3,6 @@
|
|||
declare (strict_types=1);
|
||||
namespace Rector\Php82\Rector\New_;
|
||||
|
||||
use FilesystemIterator;
|
||||
use PhpParser\Node;
|
||||
use PhpParser\Node\Arg;
|
||||
use PhpParser\Node\Expr;
|
||||
|
@ -12,29 +11,29 @@ use PhpParser\Node\Expr\ClassConstFetch;
|
|||
use PhpParser\Node\Expr\New_;
|
||||
use PhpParser\Node\Name\FullyQualified;
|
||||
use PHPStan\Type\ObjectType;
|
||||
use Rector\NodeNameResolver\NodeNameResolver\ClassConstFetchNameResolver;
|
||||
use Rector\PhpParser\Node\Value\ValueResolver;
|
||||
use Rector\Rector\AbstractRector;
|
||||
use Rector\ValueObject\PhpVersionFeature;
|
||||
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
|
||||
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
|
||||
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
|
||||
/**
|
||||
* @see \Rector\Tests\Php82\Rector\New_\FilesystemIteratorSkipDots\FilesystemIteratorSkipDotsRectorTest
|
||||
* @see \Rector\Tests\Php82\Rector\New_\FilesystemIteratorSkipDotsRector\FilesystemIteratorSkipDotsRectorTest
|
||||
*/
|
||||
final class FilesystemIteratorSkipDotsRector extends AbstractRector implements MinPhpVersionInterface
|
||||
{
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\NodeNameResolver\NodeNameResolver\ClassConstFetchNameResolver
|
||||
* @var \Rector\PhpParser\Node\Value\ValueResolver
|
||||
*/
|
||||
private $classConstFetchNameResolver;
|
||||
public function __construct(ClassConstFetchNameResolver $classConstFetchNameResolver)
|
||||
private $valueResolver;
|
||||
public function __construct(ValueResolver $valueResolver)
|
||||
{
|
||||
$this->classConstFetchNameResolver = $classConstFetchNameResolver;
|
||||
$this->valueResolver = $valueResolver;
|
||||
}
|
||||
public function getRuleDefinition() : RuleDefinition
|
||||
{
|
||||
return new RuleDefinition('Prior PHP 8.2 FilesystemIterator::SKIP_DOTS was always set and could not be removed, therefore FilesystemIterator::SKIP_DOTS is added in order to keep this behaviour.', [new CodeSample('new ' . FilesystemIterator::class . '(__DIR__, ' . FilesystemIterator::class . '::KEY_AS_FILENAME);', 'new ' . FilesystemIterator::class . '(__DIR__, ' . FilesystemIterator::class . '::KEY_AS_FILENAME | ' . FilesystemIterator::class . '::SKIP_DOTS);')]);
|
||||
return new RuleDefinition('Prior PHP 8.2 FilesystemIterator::SKIP_DOTS was always set and could not be removed, therefore FilesystemIterator::SKIP_DOTS is added in order to keep this behaviour.', [new CodeSample('new FilesystemIterator(__DIR__, FilesystemIterator::KEY_AS_FILENAME);', 'new FilesystemIterator(__DIR__, FilesystemIterator::KEY_AS_FILENAME | FilesystemIterator::SKIP_DOTS);')]);
|
||||
}
|
||||
public function getNodeTypes() : array
|
||||
{
|
||||
|
@ -90,6 +89,10 @@ final class FilesystemIteratorSkipDotsRector extends AbstractRector implements M
|
|||
// can be anything
|
||||
return \true;
|
||||
}
|
||||
return $this->classConstFetchNameResolver->resolve($expr, null) === 'FilesystemIterator::SKIP_DOTS';
|
||||
if (!\defined('FilesystemIterator::SKIP_DOTS')) {
|
||||
return \true;
|
||||
}
|
||||
$value = \constant('FilesystemIterator::SKIP_DOTS');
|
||||
return $this->valueResolver->isValue($expr, $value);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,12 +19,12 @@ final class VersionResolver
|
|||
* @api
|
||||
* @var string
|
||||
*/
|
||||
public const PACKAGE_VERSION = '8ade0b9e46aff3e6f755a9561579cdc0c9eb9b0e';
|
||||
public const PACKAGE_VERSION = '861a8808e7516c74b7e41a884076eac35f60a14f';
|
||||
/**
|
||||
* @api
|
||||
* @var string
|
||||
*/
|
||||
public const RELEASE_DATE = '2024-03-11 09:21:31';
|
||||
public const RELEASE_DATE = '2024-03-11 10:05:54';
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
declare (strict_types=1);
|
||||
namespace Rector\Autoloading;
|
||||
|
||||
use FilesystemIterator;
|
||||
use Rector\Configuration\Option;
|
||||
use Rector\Configuration\Parameter\SimpleParameterProvider;
|
||||
use Rector\Exception\ShouldNotHappenException;
|
||||
|
@ -40,7 +39,7 @@ final class BootstrapFilesIncluder
|
|||
if ($stubsRectorDirectory === \false) {
|
||||
return;
|
||||
}
|
||||
$dir = new RecursiveDirectoryIterator($stubsRectorDirectory, RecursiveDirectoryIterator::SKIP_DOTS | FilesystemIterator::SKIP_DOTS);
|
||||
$dir = new RecursiveDirectoryIterator($stubsRectorDirectory, RecursiveDirectoryIterator::SKIP_DOTS);
|
||||
/** @var SplFileInfo[] $stubs */
|
||||
$stubs = new RecursiveIteratorIterator($dir);
|
||||
foreach ($stubs as $stub) {
|
||||
|
|
Loading…
Reference in New Issue