mirror of
https://github.com/rectorphp/rector.git
synced 2024-06-03 18:00:50 +00:00
Updated Rector to commit 1848724bf2308c31e53d0937013715fa7a40a9c3
1848724bf2
[EarlyReturn] Skip append variable in PreparedValueToEarlyReturnRector (#8390) (#5545)
This commit is contained in:
parent
5c93328f48
commit
2080c1456d
|
@ -93,19 +93,20 @@ CODE_SAMPLE
|
|||
if ($node->stmts === null) {
|
||||
return null;
|
||||
}
|
||||
/** @var BareSingleAssignIf[] $bareSingleAssignIfs */
|
||||
$bareSingleAssignIfs = [];
|
||||
/** @var If_[] $ifs */
|
||||
$ifs = [];
|
||||
$initialAssign = null;
|
||||
$initialAssignPosition = null;
|
||||
foreach ($node->stmts as $key => $stmt) {
|
||||
$bareSingleAssignIf = $this->matchBareSingleAssignIf($stmt, $key, $node);
|
||||
if ($bareSingleAssignIf instanceof BareSingleAssignIf) {
|
||||
$bareSingleAssignIfs[] = $bareSingleAssignIf;
|
||||
if ($stmt instanceof If_) {
|
||||
$ifs[$key] = $stmt;
|
||||
continue;
|
||||
}
|
||||
if ($stmt instanceof Expression && $stmt->expr instanceof Assign) {
|
||||
$initialAssign = $stmt->expr;
|
||||
$initialAssignPosition = $key;
|
||||
$ifs = [];
|
||||
continue;
|
||||
}
|
||||
if (!$stmt instanceof Return_) {
|
||||
continue;
|
||||
|
@ -121,16 +122,33 @@ CODE_SAMPLE
|
|||
if (!$initialAssign instanceof Assign) {
|
||||
return null;
|
||||
}
|
||||
if ($bareSingleAssignIfs === []) {
|
||||
$matchingBareSingleAssignIfs = $this->getMatchingBareSingleAssignIfs($ifs, $node);
|
||||
if ($matchingBareSingleAssignIfs === []) {
|
||||
return null;
|
||||
}
|
||||
if (!$this->isVariableSharedInAssignIfsAndReturn($bareSingleAssignIfs, $return->expr, $initialAssign)) {
|
||||
if (!$this->isVariableSharedInAssignIfsAndReturn($matchingBareSingleAssignIfs, $return->expr, $initialAssign)) {
|
||||
return null;
|
||||
}
|
||||
return $this->refactorToDirectReturns($node, $initialAssignPosition, $bareSingleAssignIfs, $initialAssign, $return);
|
||||
return $this->refactorToDirectReturns($node, $initialAssignPosition, $matchingBareSingleAssignIfs, $initialAssign, $return);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
/**
|
||||
* @param If_[] $ifs
|
||||
* @return BareSingleAssignIf[]
|
||||
*/
|
||||
private function getMatchingBareSingleAssignIfs(array $ifs, StmtsAwareInterface $stmtsAware) : array
|
||||
{
|
||||
$bareSingleAssignIfs = [];
|
||||
foreach ($ifs as $key => $if) {
|
||||
$bareSingleAssignIf = $this->matchBareSingleAssignIf($if, $key, $stmtsAware);
|
||||
if (!$bareSingleAssignIf instanceof BareSingleAssignIf) {
|
||||
return [];
|
||||
}
|
||||
$bareSingleAssignIfs[] = $bareSingleAssignIf;
|
||||
}
|
||||
return $bareSingleAssignIfs;
|
||||
}
|
||||
/**
|
||||
* @param BareSingleAssignIf[] $bareSingleAssignIfs
|
||||
*/
|
||||
|
|
|
@ -19,12 +19,12 @@ final class VersionResolver
|
|||
* @api
|
||||
* @var string
|
||||
*/
|
||||
public const PACKAGE_VERSION = 'cdc57233696fd680c8ebe3040b02c54d1da9c779';
|
||||
public const PACKAGE_VERSION = '1848724bf2308c31e53d0937013715fa7a40a9c3';
|
||||
/**
|
||||
* @api
|
||||
* @var string
|
||||
*/
|
||||
public const RELEASE_DATE = '2024-02-02 13:43:27';
|
||||
public const RELEASE_DATE = '2024-02-03 04:54:25';
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue
Block a user