mirror of
https://github.com/rectorphp/rector.git
synced 2024-05-31 16:30:51 +00:00
Updated Rector to commit 4815cd9643
4815cd9643
[DowngradePhp81/80] Skip combine check with is_resource and instanceof Object (#1192)
This commit is contained in:
parent
b8ef7203ef
commit
59fbea4817
|
@ -1,4 +1,4 @@
|
|||
# 476 Rules Overview
|
||||
# 480 Rules Overview
|
||||
|
||||
<br>
|
||||
|
||||
|
@ -24,6 +24,8 @@
|
|||
|
||||
- [DowngradePhp54](#downgradephp54) (1)
|
||||
|
||||
- [DowngradePhp56](#downgradephp56) (2)
|
||||
|
||||
- [DowngradePhp70](#downgradephp70) (11)
|
||||
|
||||
- [DowngradePhp71](#downgradephp71) (10)
|
||||
|
@ -34,9 +36,9 @@
|
|||
|
||||
- [DowngradePhp74](#downgradephp74) (11)
|
||||
|
||||
- [DowngradePhp80](#downgradephp80) (18)
|
||||
- [DowngradePhp80](#downgradephp80) (19)
|
||||
|
||||
- [DowngradePhp81](#downgradephp81) (1)
|
||||
- [DowngradePhp81](#downgradephp81) (2)
|
||||
|
||||
- [EarlyReturn](#earlyreturn) (11)
|
||||
|
||||
|
@ -4050,6 +4052,34 @@ Remove static from closure
|
|||
|
||||
<br>
|
||||
|
||||
## DowngradePhp56
|
||||
|
||||
### DowngradeExponentialAssignmentOperatorRector
|
||||
|
||||
Remove exponential assignment operator **=
|
||||
|
||||
- class: [`Rector\DowngradePhp56\Rector\Pow\DowngradeExponentialAssignmentOperatorRector`](../rules/DowngradePhp56/Rector/Pow/DowngradeExponentialAssignmentOperatorRector.php)
|
||||
|
||||
```diff
|
||||
-$a **= 3;
|
||||
+$a = pow($a, 3);
|
||||
```
|
||||
|
||||
<br>
|
||||
|
||||
### DowngradeExponentialOperatorRector
|
||||
|
||||
Changes ** (exp) operator to pow(val, val2)
|
||||
|
||||
- class: [`Rector\DowngradePhp56\Rector\Pow\DowngradeExponentialOperatorRector`](../rules/DowngradePhp56/Rector/Pow/DowngradeExponentialOperatorRector.php)
|
||||
|
||||
```diff
|
||||
-1**2;
|
||||
+pow(1, 2);
|
||||
```
|
||||
|
||||
<br>
|
||||
|
||||
## DowngradePhp70
|
||||
|
||||
### DowngradeAnonymousClassRector
|
||||
|
@ -5165,6 +5195,25 @@ Change nullsafe operator to ternary operator rector
|
|||
|
||||
<br>
|
||||
|
||||
### DowngradePhp80ResourceReturnToObjectRector
|
||||
|
||||
change instanceof Object to is_resource
|
||||
|
||||
- class: [`Rector\DowngradePhp80\Rector\Instanceof_\DowngradePhp80ResourceReturnToObjectRector`](../rules/DowngradePhp80/Rector/Instanceof_/DowngradePhp80ResourceReturnToObjectRector.php)
|
||||
|
||||
```diff
|
||||
class SomeClass
|
||||
{
|
||||
public function run($obj)
|
||||
{
|
||||
- $obj instanceof \CurlHandle;
|
||||
+ is_resource($obj);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
<br>
|
||||
|
||||
### DowngradePhpTokenRector
|
||||
|
||||
`"something()"` will be renamed to `"somethingElse()"`
|
||||
|
@ -5386,6 +5435,25 @@ Remove final from class constants
|
|||
|
||||
<br>
|
||||
|
||||
### DowngradePhp81ResourceReturnToObjectRector
|
||||
|
||||
change instanceof Object to is_resource
|
||||
|
||||
- class: [`Rector\DowngradePhp81\Rector\Instanceof_\DowngradePhp81ResourceReturnToObjectRector`](../rules/DowngradePhp81/Rector/Instanceof_/DowngradePhp81ResourceReturnToObjectRector.php)
|
||||
|
||||
```diff
|
||||
class SomeClass
|
||||
{
|
||||
public function run($obj)
|
||||
{
|
||||
- $obj instanceof \finfo;
|
||||
+ is_resource($obj);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
<br>
|
||||
|
||||
## EarlyReturn
|
||||
|
||||
### ChangeAndIfToEarlyReturnRector
|
||||
|
|
|
@ -3,18 +3,33 @@
|
|||
declare (strict_types=1);
|
||||
namespace Rector\DowngradePhp81\NodeManipulator;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PhpParser\Node\Expr\BinaryOp;
|
||||
use PhpParser\Node\Expr\FuncCall;
|
||||
use PhpParser\Node\Expr\Instanceof_;
|
||||
use PhpParser\Node\Name;
|
||||
use PhpParser\Node\Name\FullyQualified;
|
||||
use Rector\Core\PhpParser\Node\BetterNodeFinder;
|
||||
use Rector\Core\PhpParser\Node\NodeFactory;
|
||||
use Rector\NodeNameResolver\NodeNameResolver;
|
||||
final class ObjectToResourceReturn
|
||||
{
|
||||
/**
|
||||
* @var \Rector\Core\PhpParser\Node\BetterNodeFinder
|
||||
*/
|
||||
private $betterNodeFinder;
|
||||
/**
|
||||
* @var \Rector\NodeNameResolver\NodeNameResolver
|
||||
*/
|
||||
private $nodeNameResolver;
|
||||
/**
|
||||
* @var \Rector\Core\PhpParser\Node\NodeFactory
|
||||
*/
|
||||
private $nodeFactory;
|
||||
public function __construct(\Rector\Core\PhpParser\Node\NodeFactory $nodeFactory)
|
||||
public function __construct(\Rector\Core\PhpParser\Node\BetterNodeFinder $betterNodeFinder, \Rector\NodeNameResolver\NodeNameResolver $nodeNameResolver, \Rector\Core\PhpParser\Node\NodeFactory $nodeFactory)
|
||||
{
|
||||
$this->betterNodeFinder = $betterNodeFinder;
|
||||
$this->nodeNameResolver = $nodeNameResolver;
|
||||
$this->nodeFactory = $nodeFactory;
|
||||
}
|
||||
/**
|
||||
|
@ -27,10 +42,30 @@ final class ObjectToResourceReturn
|
|||
}
|
||||
$className = $instanceof->class->toString();
|
||||
foreach ($collectionObjectToResource as $singleCollectionObjectToResource) {
|
||||
if ($singleCollectionObjectToResource === $className) {
|
||||
return $this->nodeFactory->createFuncCall('is_resource', [$instanceof->expr]);
|
||||
if ($singleCollectionObjectToResource !== $className) {
|
||||
continue;
|
||||
}
|
||||
$binaryOp = $this->betterNodeFinder->findParentType($instanceof, \PhpParser\Node\Expr\BinaryOp::class);
|
||||
if ($this->hasIsResourceCheck($binaryOp)) {
|
||||
continue;
|
||||
}
|
||||
return $this->nodeFactory->createFuncCall('is_resource', [$instanceof->expr]);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
private function hasIsResourceCheck(?\PhpParser\Node\Expr\BinaryOp $binaryOp) : bool
|
||||
{
|
||||
if ($binaryOp instanceof \PhpParser\Node\Expr\BinaryOp) {
|
||||
return (bool) $this->betterNodeFinder->findFirst($binaryOp, function (\PhpParser\Node $subNode) : bool {
|
||||
if (!$subNode instanceof \PhpParser\Node\Expr\FuncCall) {
|
||||
return \false;
|
||||
}
|
||||
if (!$subNode->name instanceof \PhpParser\Node\Name) {
|
||||
return \false;
|
||||
}
|
||||
return $this->nodeNameResolver->isName($subNode->name, 'is_resource');
|
||||
});
|
||||
}
|
||||
return \false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,11 +16,11 @@ final class VersionResolver
|
|||
/**
|
||||
* @var string
|
||||
*/
|
||||
public const PACKAGE_VERSION = '4ac7fa44bd095eabf66386da273d7a84db8ee10e';
|
||||
public const PACKAGE_VERSION = '4815cd96435238908581d54a6d4dc80478750ee4';
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public const RELEASE_DATE = '2021-11-09 01:41:32';
|
||||
public const RELEASE_DATE = '2021-11-09 02:25:53';
|
||||
public static function resolvePackageVersion() : string
|
||||
{
|
||||
$process = new \RectorPrefix20211108\Symfony\Component\Process\Process(['git', 'log', '--pretty="%H"', '-n1', 'HEAD'], __DIR__);
|
||||
|
|
2
vendor/autoload.php
vendored
2
vendor/autoload.php
vendored
|
@ -4,4 +4,4 @@
|
|||
|
||||
require_once __DIR__ . '/composer/autoload_real.php';
|
||||
|
||||
return ComposerAutoloaderInitde4eeca911744423ff2265989c118a69::getLoader();
|
||||
return ComposerAutoloaderInit5d5a9001b8f794ae8f9e14e7645e0a25::getLoader();
|
||||
|
|
14
vendor/composer/autoload_real.php
vendored
14
vendor/composer/autoload_real.php
vendored
|
@ -2,7 +2,7 @@
|
|||
|
||||
// autoload_real.php @generated by Composer
|
||||
|
||||
class ComposerAutoloaderInitde4eeca911744423ff2265989c118a69
|
||||
class ComposerAutoloaderInit5d5a9001b8f794ae8f9e14e7645e0a25
|
||||
{
|
||||
private static $loader;
|
||||
|
||||
|
@ -22,15 +22,15 @@ class ComposerAutoloaderInitde4eeca911744423ff2265989c118a69
|
|||
return self::$loader;
|
||||
}
|
||||
|
||||
spl_autoload_register(array('ComposerAutoloaderInitde4eeca911744423ff2265989c118a69', 'loadClassLoader'), true, true);
|
||||
spl_autoload_register(array('ComposerAutoloaderInit5d5a9001b8f794ae8f9e14e7645e0a25', 'loadClassLoader'), true, true);
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInitde4eeca911744423ff2265989c118a69', 'loadClassLoader'));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInit5d5a9001b8f794ae8f9e14e7645e0a25', 'loadClassLoader'));
|
||||
|
||||
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
||||
if ($useStaticLoader) {
|
||||
require __DIR__ . '/autoload_static.php';
|
||||
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInitde4eeca911744423ff2265989c118a69::getInitializer($loader));
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInit5d5a9001b8f794ae8f9e14e7645e0a25::getInitializer($loader));
|
||||
} else {
|
||||
$classMap = require __DIR__ . '/autoload_classmap.php';
|
||||
if ($classMap) {
|
||||
|
@ -42,19 +42,19 @@ class ComposerAutoloaderInitde4eeca911744423ff2265989c118a69
|
|||
$loader->register(true);
|
||||
|
||||
if ($useStaticLoader) {
|
||||
$includeFiles = Composer\Autoload\ComposerStaticInitde4eeca911744423ff2265989c118a69::$files;
|
||||
$includeFiles = Composer\Autoload\ComposerStaticInit5d5a9001b8f794ae8f9e14e7645e0a25::$files;
|
||||
} else {
|
||||
$includeFiles = require __DIR__ . '/autoload_files.php';
|
||||
}
|
||||
foreach ($includeFiles as $fileIdentifier => $file) {
|
||||
composerRequirede4eeca911744423ff2265989c118a69($fileIdentifier, $file);
|
||||
composerRequire5d5a9001b8f794ae8f9e14e7645e0a25($fileIdentifier, $file);
|
||||
}
|
||||
|
||||
return $loader;
|
||||
}
|
||||
}
|
||||
|
||||
function composerRequirede4eeca911744423ff2265989c118a69($fileIdentifier, $file)
|
||||
function composerRequire5d5a9001b8f794ae8f9e14e7645e0a25($fileIdentifier, $file)
|
||||
{
|
||||
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
||||
require $file;
|
||||
|
|
8
vendor/composer/autoload_static.php
vendored
8
vendor/composer/autoload_static.php
vendored
|
@ -4,7 +4,7 @@
|
|||
|
||||
namespace Composer\Autoload;
|
||||
|
||||
class ComposerStaticInitde4eeca911744423ff2265989c118a69
|
||||
class ComposerStaticInit5d5a9001b8f794ae8f9e14e7645e0a25
|
||||
{
|
||||
public static $files = array (
|
||||
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
|
||||
|
@ -3530,9 +3530,9 @@ class ComposerStaticInitde4eeca911744423ff2265989c118a69
|
|||
public static function getInitializer(ClassLoader $loader)
|
||||
{
|
||||
return \Closure::bind(function () use ($loader) {
|
||||
$loader->prefixLengthsPsr4 = ComposerStaticInitde4eeca911744423ff2265989c118a69::$prefixLengthsPsr4;
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInitde4eeca911744423ff2265989c118a69::$prefixDirsPsr4;
|
||||
$loader->classMap = ComposerStaticInitde4eeca911744423ff2265989c118a69::$classMap;
|
||||
$loader->prefixLengthsPsr4 = ComposerStaticInit5d5a9001b8f794ae8f9e14e7645e0a25::$prefixLengthsPsr4;
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInit5d5a9001b8f794ae8f9e14e7645e0a25::$prefixDirsPsr4;
|
||||
$loader->classMap = ComposerStaticInit5d5a9001b8f794ae8f9e14e7645e0a25::$classMap;
|
||||
|
||||
}, null, ClassLoader::class);
|
||||
}
|
||||
|
|
4
vendor/nette/utils/src/Utils/Image.php
vendored
4
vendor/nette/utils/src/Utils/Image.php
vendored
|
@ -258,7 +258,7 @@ class Image
|
|||
*/
|
||||
protected function setImageResource($image)
|
||||
{
|
||||
if (!\is_resource($image) && !(\is_resource($image) && \get_resource_type($image) === 'gd')) {
|
||||
if (!$image instanceof \GdImage && !(\is_resource($image) && \get_resource_type($image) === 'gd')) {
|
||||
throw new \RectorPrefix20211108\Nette\InvalidArgumentException('Image is not valid.');
|
||||
}
|
||||
$this->image = $image;
|
||||
|
@ -585,7 +585,7 @@ class Image
|
|||
}
|
||||
}
|
||||
$res = $function($this->image, ...$args);
|
||||
return \is_resource($res) || \is_resource($res) && \get_resource_type($res) === 'gd' ? $this->setImageResource($res) : $res;
|
||||
return $res instanceof \GdImage || \is_resource($res) && \get_resource_type($res) === 'gd' ? $this->setImageResource($res) : $res;
|
||||
}
|
||||
public function __clone()
|
||||
{
|
||||
|
|
10
vendor/scoper-autoload.php
vendored
10
vendor/scoper-autoload.php
vendored
|
@ -9,8 +9,8 @@ $loader = require_once __DIR__.'/autoload.php';
|
|||
if (!class_exists('AutoloadIncluder', false) && !interface_exists('AutoloadIncluder', false) && !trait_exists('AutoloadIncluder', false)) {
|
||||
spl_autoload_call('RectorPrefix20211108\AutoloadIncluder');
|
||||
}
|
||||
if (!class_exists('ComposerAutoloaderInitde4eeca911744423ff2265989c118a69', false) && !interface_exists('ComposerAutoloaderInitde4eeca911744423ff2265989c118a69', false) && !trait_exists('ComposerAutoloaderInitde4eeca911744423ff2265989c118a69', false)) {
|
||||
spl_autoload_call('RectorPrefix20211108\ComposerAutoloaderInitde4eeca911744423ff2265989c118a69');
|
||||
if (!class_exists('ComposerAutoloaderInit5d5a9001b8f794ae8f9e14e7645e0a25', false) && !interface_exists('ComposerAutoloaderInit5d5a9001b8f794ae8f9e14e7645e0a25', false) && !trait_exists('ComposerAutoloaderInit5d5a9001b8f794ae8f9e14e7645e0a25', false)) {
|
||||
spl_autoload_call('RectorPrefix20211108\ComposerAutoloaderInit5d5a9001b8f794ae8f9e14e7645e0a25');
|
||||
}
|
||||
if (!class_exists('Helmich\TypoScriptParser\Parser\AST\Statement', false) && !interface_exists('Helmich\TypoScriptParser\Parser\AST\Statement', false) && !trait_exists('Helmich\TypoScriptParser\Parser\AST\Statement', false)) {
|
||||
spl_autoload_call('RectorPrefix20211108\Helmich\TypoScriptParser\Parser\AST\Statement');
|
||||
|
@ -3306,9 +3306,9 @@ if (!function_exists('print_node')) {
|
|||
return \RectorPrefix20211108\print_node(...func_get_args());
|
||||
}
|
||||
}
|
||||
if (!function_exists('composerRequirede4eeca911744423ff2265989c118a69')) {
|
||||
function composerRequirede4eeca911744423ff2265989c118a69() {
|
||||
return \RectorPrefix20211108\composerRequirede4eeca911744423ff2265989c118a69(...func_get_args());
|
||||
if (!function_exists('composerRequire5d5a9001b8f794ae8f9e14e7645e0a25')) {
|
||||
function composerRequire5d5a9001b8f794ae8f9e14e7645e0a25() {
|
||||
return \RectorPrefix20211108\composerRequire5d5a9001b8f794ae8f9e14e7645e0a25(...func_get_args());
|
||||
}
|
||||
}
|
||||
if (!function_exists('parseArgs')) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user