REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 1.95 KB
Close
//opt/cpanel/ea-wappspector/vendor/rector/rector/vendor/rector/rector-phpunit/src/NodeFactory/UsedVariablesResolver.php
Text
Base64
<?php declare (strict_types=1); namespace Rector\PHPUnit\NodeFactory; use PhpParser\Node; use PhpParser\Node\Expr\MethodCall; use PhpParser\Node\Expr\Variable; use PhpParser\Node\Stmt; use Rector\NodeNameResolver\NodeNameResolver; use Rector\PhpParser\Node\BetterNodeFinder; use Rector\PHPUnit\Enum\ConsecutiveVariable; final class UsedVariablesResolver { /** * @readonly * @var \Rector\PhpParser\Node\BetterNodeFinder */ private $betterNodeFinder; /** * @readonly * @var \Rector\NodeNameResolver\NodeNameResolver */ private $nodeNameResolver; public function __construct(BetterNodeFinder $betterNodeFinder, NodeNameResolver $nodeNameResolver) { $this->betterNodeFinder = $betterNodeFinder; $this->nodeNameResolver = $nodeNameResolver; } /** * @return Variable[] */ public function resolveUsedVariables(MethodCall $withConsecutiveMethodCall, ?Stmt $returnStmt) : array { $consecutiveArgs = $withConsecutiveMethodCall->getArgs(); $stmtVariables = $returnStmt instanceof Stmt ? $this->resolveUniqueVariables([$returnStmt]) : []; return $this->resolveUniqueVariables(\array_merge($consecutiveArgs, $stmtVariables)); } /** * @param Node[] $nodes * @return Variable[] */ private function resolveUniqueVariables(array $nodes) : array { /** @var Variable[] $usedVariables */ $usedVariables = $this->betterNodeFinder->findInstancesOfScoped($nodes, Variable::class); $uniqueUsedVariables = []; foreach ($usedVariables as $usedVariable) { if ($this->nodeNameResolver->isNames($usedVariable, ['this', ConsecutiveVariable::MATCHER, ConsecutiveVariable::PARAMETERS])) { continue; } $usedVariableName = $this->nodeNameResolver->getName($usedVariable); $uniqueUsedVariables[$usedVariableName] = $usedVariable; } return $uniqueUsedVariables; } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 5
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
AssertCallFactory.php
588 B
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ConsecutiveIfsFactory.php
5.26 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ExpectExceptionMethodCallFactory.php
2.20 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
MatcherInvocationCountMethodCallNodeFactory.php
1.35 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
UsedVariablesResolver.php
1.95 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).