Updated Rector to commit 6a2af1878843ade4b1890f9a1a04f815cc600fa4

6a2af18788 [TypeDeclaration] Skip echo-ed on StrictArrayParamDimFetchRector (#5260)
This commit is contained in:
Tomas Votruba 2023-11-18 13:54:46 +00:00
parent 4cf16f617f
commit b83524f932
2 changed files with 30 additions and 7 deletions

View File

@ -17,6 +17,7 @@ use PhpParser\Node\Identifier;
use PhpParser\Node\Param;
use PhpParser\Node\Stmt\Class_;
use PhpParser\Node\Stmt\ClassMethod;
use PhpParser\Node\Stmt\Echo_;
use PhpParser\Node\Stmt\Expression;
use PhpParser\Node\Stmt\Function_;
use PhpParser\NodeTraverser;
@ -132,6 +133,18 @@ CODE_SAMPLE
});
return $isParamAccessedArrayDimFetch;
}
private function isEchoed(Node $node, string $paramName) : bool
{
if (!$node instanceof Echo_) {
return \false;
}
foreach ($node->exprs as $expr) {
if ($expr instanceof Variable && $this->isName($expr, $paramName)) {
return \true;
}
}
return \false;
}
private function shouldStop(Node $node, string $paramName) : bool
{
$nodeToCheck = null;
@ -148,12 +161,22 @@ CODE_SAMPLE
if ($node instanceof AssignOpCoalesce) {
$nodeToCheck = $node->var;
}
if ($nodeToCheck instanceof MethodCall) {
return $nodeToCheck->var instanceof Variable && $this->isName($nodeToCheck->var, $paramName);
if ($this->isMethodCallOrArrayDimFetch($paramName, $nodeToCheck)) {
return \true;
}
if ($nodeToCheck instanceof ArrayDimFetch) {
return $nodeToCheck->var instanceof Variable && $this->isName($nodeToCheck->var, $paramName);
if ($nodeToCheck instanceof Variable && $this->isName($nodeToCheck, $paramName)) {
return \true;
}
return $nodeToCheck instanceof Variable && $this->isName($nodeToCheck, $paramName);
return $this->isEchoed($node, $paramName);
}
private function isMethodCallOrArrayDimFetch(string $paramName, ?Node $node) : bool
{
if ($node instanceof MethodCall) {
return $node->var instanceof Variable && $this->isName($node->var, $paramName);
}
if ($node instanceof ArrayDimFetch) {
return $node->var instanceof Variable && $this->isName($node->var, $paramName);
}
return \false;
}
}

View File

@ -19,12 +19,12 @@ final class VersionResolver
* @api
* @var string
*/
public const PACKAGE_VERSION = '03c7ab7a0f3b7a2ba106bef1ccf508d1b9b63850';
public const PACKAGE_VERSION = '6a2af1878843ade4b1890f9a1a04f815cc600fa4';
/**
* @api
* @var string
*/
public const RELEASE_DATE = '2023-11-18 20:39:36';
public const RELEASE_DATE = '2023-11-18 20:52:32';
/**
* @var int
*/