Updated Rector to commit 3addb8f8783cb5efbbbc80ef2a7c143487d19398

3addb8f878 [EarlyReturn] Skip else has inline html on RemoveAlwaysElseRector (#2870)
This commit is contained in:
Tomas Votruba 2022-08-31 10:15:08 +00:00
parent da925822fa
commit c6aab80b28
5 changed files with 26 additions and 16 deletions

View File

@ -12,6 +12,7 @@ use PhpParser\Node\Stmt\Expression;
use PhpParser\Node\Stmt\If_; use PhpParser\Node\Stmt\If_;
use PhpParser\Node\Stmt\Return_; use PhpParser\Node\Stmt\Return_;
use PhpParser\Node\Stmt\Throw_; use PhpParser\Node\Stmt\Throw_;
use Rector\Core\NodeAnalyzer\InlineHTMLAnalyzer;
use Rector\Core\Rector\AbstractRector; use Rector\Core\Rector\AbstractRector;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
@ -20,6 +21,15 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*/ */
final class RemoveAlwaysElseRector extends AbstractRector final class RemoveAlwaysElseRector extends AbstractRector
{ {
/**
* @readonly
* @var \Rector\Core\NodeAnalyzer\InlineHTMLAnalyzer
*/
private $inlineHTMLAnalyzer;
public function __construct(InlineHTMLAnalyzer $inlineHTMLAnalyzer)
{
$this->inlineHTMLAnalyzer = $inlineHTMLAnalyzer;
}
public function getRuleDefinition() : RuleDefinition public function getRuleDefinition() : RuleDefinition
{ {
return new RuleDefinition('Split if statement, when if condition always break execution flow', [new CodeSample(<<<'CODE_SAMPLE' return new RuleDefinition('Split if statement, when if condition always break execution flow', [new CodeSample(<<<'CODE_SAMPLE'
@ -77,13 +87,13 @@ CODE_SAMPLE
$node->stmts = $firstElseIf->stmts; $node->stmts = $firstElseIf->stmts;
$this->mirrorComments($node, $firstElseIf); $this->mirrorComments($node, $firstElseIf);
$nodesToReturnAfterNode = $this->getStatementsElseIfs($node); $nodesToReturnAfterNode = $this->getStatementsElseIfs($node);
if ($originalNode->else instanceof Else_) { if ($originalNode->else instanceof Else_ && !$this->inlineHTMLAnalyzer->hasInlineHTML($originalNode->else)) {
$node->else = null; $node->else = null;
$nodesToReturnAfterNode = \array_merge($nodesToReturnAfterNode, [$originalNode->else]); $nodesToReturnAfterNode = \array_merge($nodesToReturnAfterNode, [$originalNode->else]);
} }
return \array_merge([$if, $node], $nodesToReturnAfterNode); return \array_merge([$if, $node], $nodesToReturnAfterNode);
} }
if ($node->else !== null) { if ($node->else instanceof Else_ && !$this->inlineHTMLAnalyzer->hasInlineHTML($node->else)) {
$stmts = $node->else->stmts; $stmts = $node->else->stmts;
$node->else = null; $node->else = null;
return \array_merge([$node], $stmts); return \array_merge([$node], $stmts);

View File

@ -17,12 +17,12 @@ final class VersionResolver
* @api * @api
* @var string * @var string
*/ */
public const PACKAGE_VERSION = 'd2abf114ed5388698cc580a295899110570463ce'; public const PACKAGE_VERSION = '3addb8f8783cb5efbbbc80ef2a7c143487d19398';
/** /**
* @api * @api
* @var string * @var string
*/ */
public const RELEASE_DATE = '2022-08-31 12:07:39'; public const RELEASE_DATE = '2022-08-31 12:08:55';
/** /**
* @var int * @var int
*/ */

2
vendor/autoload.php vendored
View File

@ -9,4 +9,4 @@ if (PHP_VERSION_ID < 50600) {
require_once __DIR__ . '/composer/autoload_real.php'; require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit56fc294f4deb3a2d73b7defad0e9de46::getLoader(); return ComposerAutoloaderInitd35ca00b211d9318174eedda5c8ba661::getLoader();

View File

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer // autoload_real.php @generated by Composer
class ComposerAutoloaderInit56fc294f4deb3a2d73b7defad0e9de46 class ComposerAutoloaderInitd35ca00b211d9318174eedda5c8ba661
{ {
private static $loader; private static $loader;
@ -22,19 +22,19 @@ class ComposerAutoloaderInit56fc294f4deb3a2d73b7defad0e9de46
return self::$loader; return self::$loader;
} }
spl_autoload_register(array('ComposerAutoloaderInit56fc294f4deb3a2d73b7defad0e9de46', 'loadClassLoader'), true, true); spl_autoload_register(array('ComposerAutoloaderInitd35ca00b211d9318174eedda5c8ba661', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
spl_autoload_unregister(array('ComposerAutoloaderInit56fc294f4deb3a2d73b7defad0e9de46', 'loadClassLoader')); spl_autoload_unregister(array('ComposerAutoloaderInitd35ca00b211d9318174eedda5c8ba661', 'loadClassLoader'));
require __DIR__ . '/autoload_static.php'; require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit56fc294f4deb3a2d73b7defad0e9de46::getInitializer($loader)); call_user_func(\Composer\Autoload\ComposerStaticInitd35ca00b211d9318174eedda5c8ba661::getInitializer($loader));
$loader->setClassMapAuthoritative(true); $loader->setClassMapAuthoritative(true);
$loader->register(true); $loader->register(true);
$includeFiles = \Composer\Autoload\ComposerStaticInit56fc294f4deb3a2d73b7defad0e9de46::$files; $includeFiles = \Composer\Autoload\ComposerStaticInitd35ca00b211d9318174eedda5c8ba661::$files;
foreach ($includeFiles as $fileIdentifier => $file) { foreach ($includeFiles as $fileIdentifier => $file) {
composerRequire56fc294f4deb3a2d73b7defad0e9de46($fileIdentifier, $file); composerRequired35ca00b211d9318174eedda5c8ba661($fileIdentifier, $file);
} }
return $loader; return $loader;
@ -46,7 +46,7 @@ class ComposerAutoloaderInit56fc294f4deb3a2d73b7defad0e9de46
* @param string $file * @param string $file
* @return void * @return void
*/ */
function composerRequire56fc294f4deb3a2d73b7defad0e9de46($fileIdentifier, $file) function composerRequired35ca00b211d9318174eedda5c8ba661($fileIdentifier, $file)
{ {
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;

View File

@ -4,7 +4,7 @@
namespace Composer\Autoload; namespace Composer\Autoload;
class ComposerStaticInit56fc294f4deb3a2d73b7defad0e9de46 class ComposerStaticInitd35ca00b211d9318174eedda5c8ba661
{ {
public static $files = array ( public static $files = array (
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
@ -3146,9 +3146,9 @@ class ComposerStaticInit56fc294f4deb3a2d73b7defad0e9de46
public static function getInitializer(ClassLoader $loader) public static function getInitializer(ClassLoader $loader)
{ {
return \Closure::bind(function () use ($loader) { return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit56fc294f4deb3a2d73b7defad0e9de46::$prefixLengthsPsr4; $loader->prefixLengthsPsr4 = ComposerStaticInitd35ca00b211d9318174eedda5c8ba661::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit56fc294f4deb3a2d73b7defad0e9de46::$prefixDirsPsr4; $loader->prefixDirsPsr4 = ComposerStaticInitd35ca00b211d9318174eedda5c8ba661::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit56fc294f4deb3a2d73b7defad0e9de46::$classMap; $loader->classMap = ComposerStaticInitd35ca00b211d9318174eedda5c8ba661::$classMap;
}, null, ClassLoader::class); }, null, ClassLoader::class);
} }