forked from Wavyzz/dolibarr
Enhance rector
This commit is contained in:
@@ -6,6 +6,7 @@ use PhpParser\Node;
|
|||||||
use PhpParser\Node\Arg;
|
use PhpParser\Node\Arg;
|
||||||
use PhpParser\Node\Expr\ArrayItem;
|
use PhpParser\Node\Expr\ArrayItem;
|
||||||
use PhpParser\Node\Expr\ArrayDimFetch;
|
use PhpParser\Node\Expr\ArrayDimFetch;
|
||||||
|
use PhpParser\Node\Expr\Assign;
|
||||||
use PhpParser\Node\Expr\BinaryOp\BooleanAnd;
|
use PhpParser\Node\Expr\BinaryOp\BooleanAnd;
|
||||||
use PhpParser\Node\Expr\BinaryOp\Concat;
|
use PhpParser\Node\Expr\BinaryOp\Concat;
|
||||||
use PhpParser\Node\Expr\BinaryOp\Equal;
|
use PhpParser\Node\Expr\BinaryOp\Equal;
|
||||||
@@ -74,7 +75,7 @@ class GlobalToFunction extends AbstractRector
|
|||||||
*/
|
*/
|
||||||
public function getNodeTypes(): array
|
public function getNodeTypes(): array
|
||||||
{
|
{
|
||||||
return [FuncCall::class, MethodCall::class, Equal::class, NotEqual::class, Greater::class, GreaterOrEqual::class, Smaller::class, SmallerOrEqual::class, NotIdentical::class, BooleanAnd::class, Concat::class, ArrayItem::class, ArrayDimFetch::class];
|
return [Assign::class, FuncCall::class, MethodCall::class, Equal::class, NotEqual::class, Greater::class, GreaterOrEqual::class, Smaller::class, SmallerOrEqual::class, NotIdentical::class, BooleanAnd::class, Concat::class, ArrayItem::class, ArrayDimFetch::class];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -86,6 +87,22 @@ class GlobalToFunction extends AbstractRector
|
|||||||
*/
|
*/
|
||||||
public function refactor(Node $node)
|
public function refactor(Node $node)
|
||||||
{
|
{
|
||||||
|
if ($node instanceof Node\Expr\Assign) {
|
||||||
|
if (!isset($node->var)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if ($this->isGlobalVar($node->expr)) {
|
||||||
|
$constName = $this->getConstName($node->expr);
|
||||||
|
if (empty($constName)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$node->expr = new FuncCall(
|
||||||
|
new Name('getDolGlobalString'),
|
||||||
|
[new Arg($constName)]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return $node;
|
||||||
|
}
|
||||||
if ($node instanceof Node\Expr\ArrayItem) {
|
if ($node instanceof Node\Expr\ArrayItem) {
|
||||||
if (!isset($node->key)) {
|
if (!isset($node->key)) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user