Add single plugins
This commit is contained in:
parent
434928f417
commit
0b1fff5936
|
@ -93,7 +93,7 @@ class Context
|
|||
} while ($argument instanceof ArrayDimFetch && $argument->var instanceof ArrayDimFetch);
|
||||
if ($argument instanceof Variable && \is_string($argument->name)) {
|
||||
$this->variables->top()->addVar($argument->name);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -61,7 +61,7 @@ class IssetExpressionFixer extends Plugin
|
|||
{
|
||||
foreach ($isset->vars as $key => &$var) {
|
||||
/** @var array<string, array<class-string<Expr>, true>> */
|
||||
$subNodes = $this->getConfig(\get_class($var), false)
|
||||
$subNodes = $this->getConfig(\get_class($var), false);
|
||||
if (!$subNodes) {
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ use PhpParser\Node\Scalar\LNumber;
|
|||
class NestedExpressionFixer extends Plugin
|
||||
{
|
||||
/**
|
||||
* Recursively extract bottom ArrayDimFetch
|
||||
* Recursively extract bottom ArrayDimFetch.
|
||||
*
|
||||
* @param Node $var
|
||||
* @return Node
|
||||
|
@ -100,11 +100,11 @@ class NestedExpressionFixer extends Plugin
|
|||
}
|
||||
|
||||
/**
|
||||
* Check if a is instance of b
|
||||
* Check if a is instance of b.
|
||||
*
|
||||
* @param class-string|object $a
|
||||
* @param class-string|object $b
|
||||
*
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public static function instanceOf($a, $b): bool
|
||||
|
|
|
@ -96,10 +96,10 @@ class ReGenerator implements \Iterator
|
|||
}
|
||||
|
||||
/**
|
||||
* Send value into generator
|
||||
* Send value into generator.
|
||||
*
|
||||
* @param mixed $value Value
|
||||
*
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function send($value)
|
||||
|
@ -120,10 +120,10 @@ class ReGenerator implements \Iterator
|
|||
return $value;
|
||||
}
|
||||
/**
|
||||
* Throw value into generator
|
||||
* Throw value into generator.
|
||||
*
|
||||
* @param \Throwable $throwable Excpeption
|
||||
*
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function throw(\Throwable $throwable)
|
||||
|
@ -145,7 +145,7 @@ class ReGenerator implements \Iterator
|
|||
}
|
||||
|
||||
/**
|
||||
* Get current value
|
||||
* Get current value.
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
|
@ -155,7 +155,7 @@ class ReGenerator implements \Iterator
|
|||
return $this->yieldValue;
|
||||
}
|
||||
/**
|
||||
* Get current key
|
||||
* Get current key.
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
|
@ -165,7 +165,7 @@ class ReGenerator implements \Iterator
|
|||
return $this->yieldKey;
|
||||
}
|
||||
/**
|
||||
* Advance generator
|
||||
* Advance generator.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
@ -174,7 +174,7 @@ class ReGenerator implements \Iterator
|
|||
$this->send(null);
|
||||
}
|
||||
/**
|
||||
* Rewind generator
|
||||
* Rewind generator.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
@ -195,7 +195,7 @@ class ReGenerator implements \Iterator
|
|||
$this->start();
|
||||
}
|
||||
/**
|
||||
* Check if generator is valid
|
||||
* Check if generator is valid.
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
|
|
|
@ -41,6 +41,5 @@ class ReGeneratorInternal extends Plugin
|
|||
}
|
||||
public function enterRoot(FunctionLike $func)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,6 +8,8 @@ use Phabel\Target\Php70\ClosureCallReplacer;
|
|||
use Phabel\Target\Php70\CompoundAccess;
|
||||
use Phabel\Target\Php70\DefineArrayReplacer;
|
||||
use Phabel\Target\Php70\GroupUseReplacer;
|
||||
use Phabel\Target\Php70\IssetExpressionFixer;
|
||||
use Phabel\Target\Php70\NestedExpressionFixer;
|
||||
use Phabel\Target\Php70\NullCoalesceReplacer;
|
||||
use Phabel\Target\Php70\ReservedNameReplacer;
|
||||
use Phabel\Target\Php70\ScalarTypeHintsRemover;
|
||||
|
@ -30,6 +32,8 @@ class Php70 extends Plugin
|
|||
public static function runWithAfter(): array
|
||||
{
|
||||
return [
|
||||
IssetExpressionFixer::class,
|
||||
NestedExpressionFixer::class,
|
||||
AnonymousClassReplacer::class,
|
||||
ClosureCallReplacer::class,
|
||||
CompoundAccess::class,
|
||||
|
|
|
@ -0,0 +1,299 @@
|
|||
<?php
|
||||
|
||||
namespace Phabel\Target\Php70;
|
||||
|
||||
use Phabel\Plugin;
|
||||
use Phabel\Plugin\IssetExpressionFixer as fixer;
|
||||
|
||||
class IssetExpressionFixer extends Plugin
|
||||
{
|
||||
/**
|
||||
* Expression fixer for PHP 70.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function runAfter(): array
|
||||
{
|
||||
return [
|
||||
fixer::class => [
|
||||
'PhpParser\\Node\\Expr\\ArrayDimFetch' =>
|
||||
[
|
||||
'var' =>
|
||||
[
|
||||
'PhpParser\\Node\\Expr\\Array_' => true,
|
||||
'PhpParser\\Node\\Expr\\Assign' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignRef' => true,
|
||||
'PhpParser\\Node\\Expr\\BitwiseNot' => true,
|
||||
'PhpParser\\Node\\Expr\\BooleanNot' => true,
|
||||
'PhpParser\\Node\\Expr\\Clone_' => true,
|
||||
'PhpParser\\Node\\Expr\\Closure' => true,
|
||||
'PhpParser\\Node\\Expr\\ClosureUse' => true,
|
||||
'PhpParser\\Node\\Expr\\ConstFetch' => true,
|
||||
'PhpParser\\Node\\Expr\\Empty_' => true,
|
||||
'PhpParser\\Node\\Expr\\ErrorSuppress' => true,
|
||||
'PhpParser\\Node\\Expr\\Eval_' => true,
|
||||
'PhpParser\\Node\\Expr\\Include_' => true,
|
||||
'PhpParser\\Node\\Expr\\Instanceof_' => true,
|
||||
'PhpParser\\Node\\Expr\\Isset_' => true,
|
||||
'PhpParser\\Node\\Expr\\New_' => true,
|
||||
'PhpParser\\Node\\Expr\\PostDec' => true,
|
||||
'PhpParser\\Node\\Expr\\PostInc' => true,
|
||||
'PhpParser\\Node\\Expr\\PreDec' => true,
|
||||
'PhpParser\\Node\\Expr\\PreInc' => true,
|
||||
'PhpParser\\Node\\Expr\\Print_' => true,
|
||||
'PhpParser\\Node\\Expr\\ShellExec' => true,
|
||||
'PhpParser\\Node\\Expr\\Ternary' => true,
|
||||
'PhpParser\\Node\\Expr\\UnaryMinus' => true,
|
||||
'PhpParser\\Node\\Expr\\UnaryPlus' => true,
|
||||
'PhpParser\\Node\\Expr\\Yield_' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Div' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Array_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Bool_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Double' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Int_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Object_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\String_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Unset_' => true,
|
||||
'PhpParser\\Node\\Scalar\\DNumber' => true,
|
||||
'PhpParser\\Node\\Scalar\\Encapsed' => true,
|
||||
'PhpParser\\Node\\Scalar\\LNumber' => true,
|
||||
'PhpParser\\Node\\Scalar\\String_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\File' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true,
|
||||
],
|
||||
],
|
||||
'PhpParser\\Node\\Expr\\ClassConstFetch' =>
|
||||
[
|
||||
'class' =>
|
||||
[
|
||||
'PhpParser\\Node\\Expr\\ClassConstFetch' => true,
|
||||
'PhpParser\\Node\\Expr\\FuncCall' => true,
|
||||
'PhpParser\\Node\\Expr\\MethodCall' => true,
|
||||
'PhpParser\\Node\\Expr\\PropertyFetch' => true,
|
||||
'PhpParser\\Node\\Expr\\StaticCall' => true,
|
||||
'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true,
|
||||
'PhpParser\\Node\\Expr\\Yield_' => true,
|
||||
'PhpParser\\Node\\Scalar\\String_' => true,
|
||||
],
|
||||
],
|
||||
'PhpParser\\Node\\Expr\\PropertyFetch' =>
|
||||
[
|
||||
'var' =>
|
||||
[
|
||||
'PhpParser\\Node\\Expr\\Array_' => true,
|
||||
'PhpParser\\Node\\Expr\\Assign' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignRef' => true,
|
||||
'PhpParser\\Node\\Expr\\BitwiseNot' => true,
|
||||
'PhpParser\\Node\\Expr\\BooleanNot' => true,
|
||||
'PhpParser\\Node\\Expr\\Clone_' => true,
|
||||
'PhpParser\\Node\\Expr\\Closure' => true,
|
||||
'PhpParser\\Node\\Expr\\ClosureUse' => true,
|
||||
'PhpParser\\Node\\Expr\\Empty_' => true,
|
||||
'PhpParser\\Node\\Expr\\ErrorSuppress' => true,
|
||||
'PhpParser\\Node\\Expr\\Eval_' => true,
|
||||
'PhpParser\\Node\\Expr\\Include_' => true,
|
||||
'PhpParser\\Node\\Expr\\Instanceof_' => true,
|
||||
'PhpParser\\Node\\Expr\\Isset_' => true,
|
||||
'PhpParser\\Node\\Expr\\New_' => true,
|
||||
'PhpParser\\Node\\Expr\\PostDec' => true,
|
||||
'PhpParser\\Node\\Expr\\PostInc' => true,
|
||||
'PhpParser\\Node\\Expr\\PreDec' => true,
|
||||
'PhpParser\\Node\\Expr\\PreInc' => true,
|
||||
'PhpParser\\Node\\Expr\\Print_' => true,
|
||||
'PhpParser\\Node\\Expr\\ShellExec' => true,
|
||||
'PhpParser\\Node\\Expr\\Ternary' => true,
|
||||
'PhpParser\\Node\\Expr\\UnaryMinus' => true,
|
||||
'PhpParser\\Node\\Expr\\UnaryPlus' => true,
|
||||
'PhpParser\\Node\\Expr\\Yield_' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Div' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Array_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Bool_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Double' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Int_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Object_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\String_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Unset_' => true,
|
||||
'PhpParser\\Node\\Scalar\\DNumber' => true,
|
||||
'PhpParser\\Node\\Scalar\\Encapsed' => true,
|
||||
'PhpParser\\Node\\Scalar\\LNumber' => true,
|
||||
'PhpParser\\Node\\Scalar\\String_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\File' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true,
|
||||
],
|
||||
],
|
||||
'PhpParser\\Node\\Expr\\StaticPropertyFetch' =>
|
||||
[
|
||||
'class' =>
|
||||
[
|
||||
'PhpParser\\Node\\Expr\\Assign' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignRef' => true,
|
||||
'PhpParser\\Node\\Expr\\BitwiseNot' => true,
|
||||
'PhpParser\\Node\\Expr\\BooleanNot' => true,
|
||||
'PhpParser\\Node\\Expr\\ClassConstFetch' => true,
|
||||
'PhpParser\\Node\\Expr\\Clone_' => true,
|
||||
'PhpParser\\Node\\Expr\\Closure' => true,
|
||||
'PhpParser\\Node\\Expr\\ClosureUse' => true,
|
||||
'PhpParser\\Node\\Expr\\Empty_' => true,
|
||||
'PhpParser\\Node\\Expr\\ErrorSuppress' => true,
|
||||
'PhpParser\\Node\\Expr\\Eval_' => true,
|
||||
'PhpParser\\Node\\Expr\\FuncCall' => true,
|
||||
'PhpParser\\Node\\Expr\\Include_' => true,
|
||||
'PhpParser\\Node\\Expr\\Instanceof_' => true,
|
||||
'PhpParser\\Node\\Expr\\Isset_' => true,
|
||||
'PhpParser\\Node\\Expr\\MethodCall' => true,
|
||||
'PhpParser\\Node\\Expr\\New_' => true,
|
||||
'PhpParser\\Node\\Expr\\PostDec' => true,
|
||||
'PhpParser\\Node\\Expr\\PostInc' => true,
|
||||
'PhpParser\\Node\\Expr\\PreDec' => true,
|
||||
'PhpParser\\Node\\Expr\\PreInc' => true,
|
||||
'PhpParser\\Node\\Expr\\PropertyFetch' => true,
|
||||
'PhpParser\\Node\\Expr\\ShellExec' => true,
|
||||
'PhpParser\\Node\\Expr\\StaticCall' => true,
|
||||
'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true,
|
||||
'PhpParser\\Node\\Expr\\Ternary' => true,
|
||||
'PhpParser\\Node\\Expr\\UnaryMinus' => true,
|
||||
'PhpParser\\Node\\Expr\\UnaryPlus' => true,
|
||||
'PhpParser\\Node\\Expr\\Yield_' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Div' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Array_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Bool_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Double' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Int_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Object_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\String_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Unset_' => true,
|
||||
'PhpParser\\Node\\Scalar\\Encapsed' => true,
|
||||
'PhpParser\\Node\\Scalar\\String_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\File' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true,
|
||||
],
|
||||
],
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
|
@ -0,0 +1,562 @@
|
|||
<?php
|
||||
|
||||
namespace Phabel\Target\Php70;
|
||||
|
||||
use Phabel\Plugin;
|
||||
use Phabel\Plugin\NestedExpressionFixer as fixer;
|
||||
|
||||
class NestedExpressionFixer extends Plugin
|
||||
{
|
||||
/**
|
||||
* Expression fixer for PHP 70.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function runAfter(): array
|
||||
{
|
||||
return [
|
||||
fixer::class => [
|
||||
'PhpParser\\Node\\Expr\\ArrayDimFetch' =>
|
||||
[
|
||||
'var' =>
|
||||
[
|
||||
'PhpParser\\Node\\Expr\\Assign' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignRef' => true,
|
||||
'PhpParser\\Node\\Expr\\BitwiseNot' => true,
|
||||
'PhpParser\\Node\\Expr\\BooleanNot' => true,
|
||||
'PhpParser\\Node\\Expr\\Clone_' => true,
|
||||
'PhpParser\\Node\\Expr\\Closure' => true,
|
||||
'PhpParser\\Node\\Expr\\ClosureUse' => true,
|
||||
'PhpParser\\Node\\Expr\\Empty_' => true,
|
||||
'PhpParser\\Node\\Expr\\ErrorSuppress' => true,
|
||||
'PhpParser\\Node\\Expr\\Eval_' => true,
|
||||
'PhpParser\\Node\\Expr\\Include_' => true,
|
||||
'PhpParser\\Node\\Expr\\Instanceof_' => true,
|
||||
'PhpParser\\Node\\Expr\\Isset_' => true,
|
||||
'PhpParser\\Node\\Expr\\PostDec' => true,
|
||||
'PhpParser\\Node\\Expr\\PostInc' => true,
|
||||
'PhpParser\\Node\\Expr\\PreDec' => true,
|
||||
'PhpParser\\Node\\Expr\\PreInc' => true,
|
||||
'PhpParser\\Node\\Expr\\Print_' => true,
|
||||
'PhpParser\\Node\\Expr\\ShellExec' => true,
|
||||
'PhpParser\\Node\\Expr\\Ternary' => true,
|
||||
'PhpParser\\Node\\Expr\\UnaryMinus' => true,
|
||||
'PhpParser\\Node\\Expr\\UnaryPlus' => true,
|
||||
'PhpParser\\Node\\Expr\\Yield_' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Div' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Array_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Bool_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Double' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Int_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Object_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\String_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Unset_' => true,
|
||||
'PhpParser\\Node\\Scalar\\DNumber' => true,
|
||||
'PhpParser\\Node\\Scalar\\Encapsed' => true,
|
||||
'PhpParser\\Node\\Scalar\\LNumber' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\File' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true,
|
||||
],
|
||||
],
|
||||
'PhpParser\\Node\\Expr\\ClassConstFetch' =>
|
||||
[
|
||||
'class' =>
|
||||
[
|
||||
'PhpParser\\Node\\Expr\\ClassConstFetch' => true,
|
||||
'PhpParser\\Node\\Expr\\FuncCall' => true,
|
||||
'PhpParser\\Node\\Expr\\MethodCall' => true,
|
||||
'PhpParser\\Node\\Expr\\PropertyFetch' => true,
|
||||
'PhpParser\\Node\\Expr\\StaticCall' => true,
|
||||
'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true,
|
||||
'PhpParser\\Node\\Expr\\Yield_' => true,
|
||||
'PhpParser\\Node\\Scalar\\String_' => true,
|
||||
],
|
||||
],
|
||||
'PhpParser\\Node\\Expr\\FuncCall' =>
|
||||
[
|
||||
'name' =>
|
||||
[
|
||||
'PhpParser\\Node\\Expr\\Array_' => true,
|
||||
'PhpParser\\Node\\Expr\\Assign' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignRef' => true,
|
||||
'PhpParser\\Node\\Expr\\BitwiseNot' => true,
|
||||
'PhpParser\\Node\\Expr\\BooleanNot' => true,
|
||||
'PhpParser\\Node\\Expr\\ClassConstFetch' => true,
|
||||
'PhpParser\\Node\\Expr\\Clone_' => true,
|
||||
'PhpParser\\Node\\Expr\\Closure' => true,
|
||||
'PhpParser\\Node\\Expr\\ClosureUse' => true,
|
||||
'PhpParser\\Node\\Expr\\ConstFetch' => true,
|
||||
'PhpParser\\Node\\Expr\\Empty_' => true,
|
||||
'PhpParser\\Node\\Expr\\ErrorSuppress' => true,
|
||||
'PhpParser\\Node\\Expr\\Eval_' => true,
|
||||
'PhpParser\\Node\\Expr\\FuncCall' => true,
|
||||
'PhpParser\\Node\\Expr\\Include_' => true,
|
||||
'PhpParser\\Node\\Expr\\Instanceof_' => true,
|
||||
'PhpParser\\Node\\Expr\\Isset_' => true,
|
||||
'PhpParser\\Node\\Expr\\MethodCall' => true,
|
||||
'PhpParser\\Node\\Expr\\New_' => true,
|
||||
'PhpParser\\Node\\Expr\\PostDec' => true,
|
||||
'PhpParser\\Node\\Expr\\PostInc' => true,
|
||||
'PhpParser\\Node\\Expr\\PreDec' => true,
|
||||
'PhpParser\\Node\\Expr\\PreInc' => true,
|
||||
'PhpParser\\Node\\Expr\\Print_' => true,
|
||||
'PhpParser\\Node\\Expr\\PropertyFetch' => true,
|
||||
'PhpParser\\Node\\Expr\\ShellExec' => true,
|
||||
'PhpParser\\Node\\Expr\\StaticCall' => true,
|
||||
'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true,
|
||||
'PhpParser\\Node\\Expr\\Ternary' => true,
|
||||
'PhpParser\\Node\\Expr\\UnaryMinus' => true,
|
||||
'PhpParser\\Node\\Expr\\UnaryPlus' => true,
|
||||
'PhpParser\\Node\\Expr\\Yield_' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Div' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Array_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Bool_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Double' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Int_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Object_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\String_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Unset_' => true,
|
||||
'PhpParser\\Node\\Scalar\\DNumber' => true,
|
||||
'PhpParser\\Node\\Scalar\\Encapsed' => true,
|
||||
'PhpParser\\Node\\Scalar\\LNumber' => true,
|
||||
'PhpParser\\Node\\Scalar\\String_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\File' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true,
|
||||
],
|
||||
],
|
||||
'PhpParser\\Node\\Expr\\MethodCall' =>
|
||||
[
|
||||
'var' =>
|
||||
[
|
||||
'PhpParser\\Node\\Expr\\Array_' => true,
|
||||
'PhpParser\\Node\\Expr\\Assign' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignRef' => true,
|
||||
'PhpParser\\Node\\Expr\\BitwiseNot' => true,
|
||||
'PhpParser\\Node\\Expr\\BooleanNot' => true,
|
||||
'PhpParser\\Node\\Expr\\Clone_' => true,
|
||||
'PhpParser\\Node\\Expr\\Closure' => true,
|
||||
'PhpParser\\Node\\Expr\\ClosureUse' => true,
|
||||
'PhpParser\\Node\\Expr\\Empty_' => true,
|
||||
'PhpParser\\Node\\Expr\\ErrorSuppress' => true,
|
||||
'PhpParser\\Node\\Expr\\Eval_' => true,
|
||||
'PhpParser\\Node\\Expr\\Include_' => true,
|
||||
'PhpParser\\Node\\Expr\\Instanceof_' => true,
|
||||
'PhpParser\\Node\\Expr\\Isset_' => true,
|
||||
'PhpParser\\Node\\Expr\\PostDec' => true,
|
||||
'PhpParser\\Node\\Expr\\PostInc' => true,
|
||||
'PhpParser\\Node\\Expr\\PreDec' => true,
|
||||
'PhpParser\\Node\\Expr\\PreInc' => true,
|
||||
'PhpParser\\Node\\Expr\\Print_' => true,
|
||||
'PhpParser\\Node\\Expr\\ShellExec' => true,
|
||||
'PhpParser\\Node\\Expr\\Ternary' => true,
|
||||
'PhpParser\\Node\\Expr\\UnaryMinus' => true,
|
||||
'PhpParser\\Node\\Expr\\UnaryPlus' => true,
|
||||
'PhpParser\\Node\\Expr\\Yield_' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Div' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Array_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Bool_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Double' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Int_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Object_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\String_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Unset_' => true,
|
||||
'PhpParser\\Node\\Scalar\\DNumber' => true,
|
||||
'PhpParser\\Node\\Scalar\\Encapsed' => true,
|
||||
'PhpParser\\Node\\Scalar\\LNumber' => true,
|
||||
'PhpParser\\Node\\Scalar\\String_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\File' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true,
|
||||
],
|
||||
],
|
||||
'PhpParser\\Node\\Expr\\PropertyFetch' =>
|
||||
[
|
||||
'var' =>
|
||||
[
|
||||
'PhpParser\\Node\\Expr\\Array_' => true,
|
||||
'PhpParser\\Node\\Expr\\Assign' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignRef' => true,
|
||||
'PhpParser\\Node\\Expr\\BitwiseNot' => true,
|
||||
'PhpParser\\Node\\Expr\\BooleanNot' => true,
|
||||
'PhpParser\\Node\\Expr\\Clone_' => true,
|
||||
'PhpParser\\Node\\Expr\\Closure' => true,
|
||||
'PhpParser\\Node\\Expr\\ClosureUse' => true,
|
||||
'PhpParser\\Node\\Expr\\Empty_' => true,
|
||||
'PhpParser\\Node\\Expr\\ErrorSuppress' => true,
|
||||
'PhpParser\\Node\\Expr\\Eval_' => true,
|
||||
'PhpParser\\Node\\Expr\\Include_' => true,
|
||||
'PhpParser\\Node\\Expr\\Instanceof_' => true,
|
||||
'PhpParser\\Node\\Expr\\Isset_' => true,
|
||||
'PhpParser\\Node\\Expr\\PostDec' => true,
|
||||
'PhpParser\\Node\\Expr\\PostInc' => true,
|
||||
'PhpParser\\Node\\Expr\\PreDec' => true,
|
||||
'PhpParser\\Node\\Expr\\PreInc' => true,
|
||||
'PhpParser\\Node\\Expr\\Print_' => true,
|
||||
'PhpParser\\Node\\Expr\\ShellExec' => true,
|
||||
'PhpParser\\Node\\Expr\\Ternary' => true,
|
||||
'PhpParser\\Node\\Expr\\UnaryMinus' => true,
|
||||
'PhpParser\\Node\\Expr\\UnaryPlus' => true,
|
||||
'PhpParser\\Node\\Expr\\Yield_' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Div' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Array_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Bool_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Double' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Int_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Object_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\String_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Unset_' => true,
|
||||
'PhpParser\\Node\\Scalar\\DNumber' => true,
|
||||
'PhpParser\\Node\\Scalar\\Encapsed' => true,
|
||||
'PhpParser\\Node\\Scalar\\LNumber' => true,
|
||||
'PhpParser\\Node\\Scalar\\String_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\File' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true,
|
||||
],
|
||||
],
|
||||
'PhpParser\\Node\\Expr\\StaticCall' =>
|
||||
[
|
||||
'class' =>
|
||||
[
|
||||
'PhpParser\\Node\\Expr\\Assign' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignRef' => true,
|
||||
'PhpParser\\Node\\Expr\\BitwiseNot' => true,
|
||||
'PhpParser\\Node\\Expr\\BooleanNot' => true,
|
||||
'PhpParser\\Node\\Expr\\ClassConstFetch' => true,
|
||||
'PhpParser\\Node\\Expr\\Clone_' => true,
|
||||
'PhpParser\\Node\\Expr\\Closure' => true,
|
||||
'PhpParser\\Node\\Expr\\ClosureUse' => true,
|
||||
'PhpParser\\Node\\Expr\\Empty_' => true,
|
||||
'PhpParser\\Node\\Expr\\ErrorSuppress' => true,
|
||||
'PhpParser\\Node\\Expr\\Eval_' => true,
|
||||
'PhpParser\\Node\\Expr\\FuncCall' => true,
|
||||
'PhpParser\\Node\\Expr\\Include_' => true,
|
||||
'PhpParser\\Node\\Expr\\Instanceof_' => true,
|
||||
'PhpParser\\Node\\Expr\\Isset_' => true,
|
||||
'PhpParser\\Node\\Expr\\MethodCall' => true,
|
||||
'PhpParser\\Node\\Expr\\New_' => true,
|
||||
'PhpParser\\Node\\Expr\\PostDec' => true,
|
||||
'PhpParser\\Node\\Expr\\PostInc' => true,
|
||||
'PhpParser\\Node\\Expr\\PreDec' => true,
|
||||
'PhpParser\\Node\\Expr\\PreInc' => true,
|
||||
'PhpParser\\Node\\Expr\\PropertyFetch' => true,
|
||||
'PhpParser\\Node\\Expr\\ShellExec' => true,
|
||||
'PhpParser\\Node\\Expr\\StaticCall' => true,
|
||||
'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true,
|
||||
'PhpParser\\Node\\Expr\\Ternary' => true,
|
||||
'PhpParser\\Node\\Expr\\UnaryMinus' => true,
|
||||
'PhpParser\\Node\\Expr\\UnaryPlus' => true,
|
||||
'PhpParser\\Node\\Expr\\Yield_' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Div' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Array_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Bool_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Double' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Int_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Object_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\String_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Unset_' => true,
|
||||
'PhpParser\\Node\\Scalar\\Encapsed' => true,
|
||||
'PhpParser\\Node\\Scalar\\String_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\File' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true,
|
||||
],
|
||||
],
|
||||
'PhpParser\\Node\\Expr\\StaticPropertyFetch' =>
|
||||
[
|
||||
'class' =>
|
||||
[
|
||||
'PhpParser\\Node\\Expr\\Assign' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignRef' => true,
|
||||
'PhpParser\\Node\\Expr\\BitwiseNot' => true,
|
||||
'PhpParser\\Node\\Expr\\BooleanNot' => true,
|
||||
'PhpParser\\Node\\Expr\\ClassConstFetch' => true,
|
||||
'PhpParser\\Node\\Expr\\Clone_' => true,
|
||||
'PhpParser\\Node\\Expr\\Closure' => true,
|
||||
'PhpParser\\Node\\Expr\\ClosureUse' => true,
|
||||
'PhpParser\\Node\\Expr\\Empty_' => true,
|
||||
'PhpParser\\Node\\Expr\\ErrorSuppress' => true,
|
||||
'PhpParser\\Node\\Expr\\Eval_' => true,
|
||||
'PhpParser\\Node\\Expr\\FuncCall' => true,
|
||||
'PhpParser\\Node\\Expr\\Include_' => true,
|
||||
'PhpParser\\Node\\Expr\\Instanceof_' => true,
|
||||
'PhpParser\\Node\\Expr\\Isset_' => true,
|
||||
'PhpParser\\Node\\Expr\\MethodCall' => true,
|
||||
'PhpParser\\Node\\Expr\\New_' => true,
|
||||
'PhpParser\\Node\\Expr\\PostDec' => true,
|
||||
'PhpParser\\Node\\Expr\\PostInc' => true,
|
||||
'PhpParser\\Node\\Expr\\PreDec' => true,
|
||||
'PhpParser\\Node\\Expr\\PreInc' => true,
|
||||
'PhpParser\\Node\\Expr\\PropertyFetch' => true,
|
||||
'PhpParser\\Node\\Expr\\ShellExec' => true,
|
||||
'PhpParser\\Node\\Expr\\StaticCall' => true,
|
||||
'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true,
|
||||
'PhpParser\\Node\\Expr\\Ternary' => true,
|
||||
'PhpParser\\Node\\Expr\\UnaryMinus' => true,
|
||||
'PhpParser\\Node\\Expr\\UnaryPlus' => true,
|
||||
'PhpParser\\Node\\Expr\\Yield_' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Div' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Array_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Bool_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Double' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Int_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Object_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\String_' => true,
|
||||
'PhpParser\\Node\\Expr\\Cast\\Unset_' => true,
|
||||
'PhpParser\\Node\\Scalar\\Encapsed' => true,
|
||||
'PhpParser\\Node\\Scalar\\String_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\File' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true,
|
||||
],
|
||||
],
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
|
@ -5,9 +5,12 @@ namespace Phabel\Target;
|
|||
use Phabel\Plugin;
|
||||
use Phabel\Target\Php71\ArrayList;
|
||||
use Phabel\Target\Php71\ClassConstantVisibilityModifiersRemover;
|
||||
use Phabel\Target\Php71\IssetExpressionFixer;
|
||||
use Phabel\Target\Php71\ListKey;
|
||||
use Phabel\Target\Php71\MultipleCatchReplacer;
|
||||
use Spatie\Php7to5\NodeVisitors\NullableTypeRemover;
|
||||
use Phabel\Target\Php71\NestedExpressionFixer;
|
||||
use Phabel\Target\Php71\NullableType;
|
||||
use Phabel\Target\Php71\VoidReturnType;
|
||||
|
||||
/**
|
||||
* Makes changes necessary to polyfill PHP 7.1 and run on PHP 7.0 and below.
|
||||
|
@ -19,16 +22,19 @@ class Php71 extends Plugin
|
|||
{
|
||||
public static function composerRequires(): array
|
||||
{
|
||||
return ['symfony/polyfill-php70' => '*'];
|
||||
return ['symfony/polyfill-php71' => '*'];
|
||||
}
|
||||
public static function runWithAfter(): array
|
||||
{
|
||||
return [
|
||||
IssetExpressionFixer::class,
|
||||
NestedExpressionFixer::class,
|
||||
ArrayList::class,
|
||||
ClassConstantVisibilityModifiersRemover::class,
|
||||
ListKey::class,
|
||||
MultipleCatchReplacer::class,
|
||||
NullableTypeRemover::class
|
||||
VoidReturnType::class,
|
||||
NullableType::class
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
<?php
|
||||
|
||||
namespace Phabel\Target\Php71;
|
||||
|
||||
use Phabel\Plugin;
|
||||
|
||||
class IssetExpressionFixer extends Plugin
|
||||
{
|
||||
}
|
|
@ -86,7 +86,7 @@ class ListKey extends Plugin
|
|||
return [new List_($newList), $keys];
|
||||
}
|
||||
/**
|
||||
* Destructure array of arrays
|
||||
* Destructure array of arrays.
|
||||
*
|
||||
* @param array $keys Custom keys
|
||||
* @param array $array Array
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
<?php
|
||||
|
||||
namespace Phabel\Target\Php71;
|
||||
|
||||
use Phabel\Plugin;
|
||||
|
||||
class NestedExpressionFixer extends Plugin
|
||||
{
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace Spatie\Php7to5\NodeVisitors;
|
||||
namespace Phabel\Target\Php71;
|
||||
|
||||
use Phabel\Plugin;
|
||||
use Phabel\Plugin\TypeHintStripper;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace Spatie\Php7to5\NodeVisitors;
|
||||
namespace Phabel\Target\Php71;
|
||||
|
||||
use Phabel\Plugin;
|
||||
use Phabel\Plugin\TypeHintStripper;
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
namespace Phabel\Target;
|
||||
|
||||
use Phabel\Plugin;
|
||||
use Phabel\Target\Php72\IssetExpressionFixer;
|
||||
use Phabel\Target\Php72\NestedExpressionFixer;
|
||||
use Phabel\Target\Php72\ObjectTypeHintReplacer;
|
||||
|
||||
/**
|
||||
|
@ -21,6 +23,8 @@ class Php72 extends Plugin
|
|||
public static function runWithAfter(): array
|
||||
{
|
||||
return [
|
||||
IssetExpressionFixer::class,
|
||||
NestedExpressionFixer::class,
|
||||
ObjectTypeHintReplacer::class
|
||||
];
|
||||
}
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
<?php
|
||||
|
||||
namespace Phabel\Target\Php72;
|
||||
|
||||
use Phabel\Plugin;
|
||||
|
||||
class IssetExpressionFixer extends Plugin
|
||||
{
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
<?php
|
||||
|
||||
namespace Phabel\Target\Php72;
|
||||
|
||||
use Phabel\Plugin;
|
||||
|
||||
class NestedExpressionFixer extends Plugin
|
||||
{
|
||||
}
|
|
@ -3,6 +3,8 @@
|
|||
namespace Phabel\Target;
|
||||
|
||||
use Phabel\Plugin;
|
||||
use Phabel\Target\Php73\IssetExpressionFixer;
|
||||
use Phabel\Target\Php73\NestedExpressionFixer;
|
||||
|
||||
/**
|
||||
* Makes changes necessary to polyfill PHP 7.3 and run on PHP 7.2 and below.
|
||||
|
@ -14,6 +16,13 @@ class Php73 extends Plugin
|
|||
{
|
||||
public static function composerRequires(): array
|
||||
{
|
||||
return ['symfony/polyfill-php72' => '*'];
|
||||
return ['symfony/polyfill-php73' => '*'];
|
||||
}
|
||||
public static function runWithAfter(): array
|
||||
{
|
||||
return [
|
||||
IssetExpressionFixer::class,
|
||||
NestedExpressionFixer::class,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
<?php
|
||||
|
||||
namespace Phabel\Target\Php73;
|
||||
|
||||
use Phabel\Plugin;
|
||||
|
||||
class IssetExpressionFixer extends Plugin
|
||||
{
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
<?php
|
||||
|
||||
namespace Phabel\Target\Php73;
|
||||
|
||||
use Phabel\Plugin;
|
||||
use Phabel\Plugin\NestedExpressionFixer as fixer;
|
||||
|
||||
class NestedExpressionFixer extends Plugin
|
||||
{
|
||||
/**
|
||||
* Expression fixer for PHP 73.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function runAfter(): array
|
||||
{
|
||||
return [
|
||||
fixer::class => [
|
||||
'PhpParser\\Node\\Expr\\Instanceof_' =>
|
||||
[
|
||||
'expr' =>
|
||||
[
|
||||
'PhpParser\\Node\\Scalar\\DNumber' => true,
|
||||
'PhpParser\\Node\\Scalar\\LNumber' => true,
|
||||
'PhpParser\\Node\\Scalar\\String_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\File' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true,
|
||||
'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true,
|
||||
],
|
||||
],
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
|
@ -3,6 +3,12 @@
|
|||
namespace Phabel\Target;
|
||||
|
||||
use Phabel\Plugin;
|
||||
use Phabel\Target\Php74\ArrayUnpack;
|
||||
use Phabel\Target\Php74\ArrowClosure;
|
||||
use Phabel\Target\Php74\IssetExpressionFixer;
|
||||
use Phabel\Target\Php74\NestedExpressionFixer;
|
||||
use Phabel\Target\Php74\NullCoalesceAssignment;
|
||||
use Phabel\Target\Php74\TypedProperty;
|
||||
|
||||
/**
|
||||
* Makes changes necessary to polyfill PHP 7.4 and run on PHP 7.3 and below.
|
||||
|
@ -14,6 +20,17 @@ class Php74 extends Plugin
|
|||
{
|
||||
public static function composerRequires(): array
|
||||
{
|
||||
return ['symfony/polyfill-php72' => '*'];
|
||||
return ['symfony/polyfill-php74' => '*'];
|
||||
}
|
||||
public static function runWithAfter(): array
|
||||
{
|
||||
return [
|
||||
IssetExpressionFixer::class,
|
||||
NestedExpressionFixer::class,
|
||||
ArrayUnpack::class,
|
||||
ArrowClosure::class,
|
||||
NullCoalesceAssignment::class,
|
||||
TypedProperty::class
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,6 @@ namespace Phabel\Target\Php74;
|
|||
use Phabel\Plugin;
|
||||
use PhpParser\Node\Arg;
|
||||
use PhpParser\Node\Expr\Array_;
|
||||
use PhpParser\Node\Expr\ArrayItem;
|
||||
use PhpParser\Node\Expr\FuncCall;
|
||||
|
||||
class ArrayUnpack extends Plugin
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
<?php
|
||||
|
||||
namespace Phabel\Target\Php74;
|
||||
|
||||
use Phabel\Plugin;
|
||||
|
||||
class IssetExpressionFixer extends Plugin
|
||||
{
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
<?php
|
||||
|
||||
namespace Phabel\Target\Php74;
|
||||
|
||||
use Phabel\Plugin;
|
||||
|
||||
class NestedExpressionFixer extends Plugin
|
||||
{
|
||||
}
|
|
@ -5,9 +5,8 @@ namespace Phabel\Target\Php74;
|
|||
use Phabel\Plugin;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
class TypedProperty extends Plugin
|
||||
{
|
||||
|
||||
}
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
namespace Phabel\Target;
|
||||
|
||||
use Phabel\Plugin;
|
||||
use Phabel\Target\Php80\IssetExpressionFixer;
|
||||
use Phabel\Target\Php80\NestedExpressionFixer;
|
||||
use Phabel\UnionTypeStripper;
|
||||
|
||||
/**
|
||||
|
@ -21,6 +23,8 @@ class Php80 extends Plugin
|
|||
public static function runWithAfter(): array
|
||||
{
|
||||
return [
|
||||
IssetExpressionFixer::class,
|
||||
NestedExpressionFixer::class,
|
||||
UnionTypeStripper::class,
|
||||
];
|
||||
}
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
<?php
|
||||
|
||||
namespace Phabel\Target\Php80;
|
||||
|
||||
use Phabel\Plugin;
|
||||
use Phabel\Plugin\IssetExpressionFixer as fixer;
|
||||
|
||||
class IssetExpressionFixer extends Plugin
|
||||
{
|
||||
/**
|
||||
* Expression fixer for PHP 80.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function runAfter(): array
|
||||
{
|
||||
return [
|
||||
fixer::class => [
|
||||
'PhpParser\\Node\\Expr\\ClassConstFetch' =>
|
||||
[
|
||||
'class' =>
|
||||
[
|
||||
'PhpParser\\Node\\Scalar\\Encapsed' => true,
|
||||
],
|
||||
],
|
||||
'PhpParser\\Node\\Expr\\PropertyFetch' =>
|
||||
[
|
||||
'var' =>
|
||||
[
|
||||
'PhpParser\\Node\\Expr\\ConstFetch' => true,
|
||||
],
|
||||
],
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
|
@ -0,0 +1,103 @@
|
|||
<?php
|
||||
|
||||
namespace Phabel\Target\Php80;
|
||||
|
||||
use Phabel\Plugin;
|
||||
use Phabel\Plugin\NestedExpressionFixer as fixer;
|
||||
|
||||
class NestedExpressionFixer extends Plugin
|
||||
{
|
||||
/**
|
||||
* Expression fixer for PHP 80.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function runAfter(): array
|
||||
{
|
||||
return [
|
||||
fixer::class => [
|
||||
'PhpParser\\Node\\Expr\\ClassConstFetch' =>
|
||||
[
|
||||
'class' =>
|
||||
[
|
||||
'PhpParser\\Node\\Scalar\\Encapsed' => true,
|
||||
],
|
||||
],
|
||||
'PhpParser\\Node\\Expr\\Instanceof_' =>
|
||||
[
|
||||
'class' =>
|
||||
[
|
||||
'PhpParser\\Node\\Expr\\Assign' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignRef' => true,
|
||||
'PhpParser\\Node\\Expr\\BooleanNot' => true,
|
||||
'PhpParser\\Node\\Expr\\Include_' => true,
|
||||
'PhpParser\\Node\\Expr\\Instanceof_' => true,
|
||||
'PhpParser\\Node\\Expr\\Ternary' => true,
|
||||
'PhpParser\\Node\\Expr\\YieldFrom' => true,
|
||||
'PhpParser\\Node\\Expr\\Yield_' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Div' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true,
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true,
|
||||
'PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => true,
|
||||
],
|
||||
],
|
||||
'PhpParser\\Node\\Expr\\MethodCall' =>
|
||||
[
|
||||
'var' =>
|
||||
[
|
||||
'PhpParser\\Node\\Expr\\ConstFetch' => true,
|
||||
],
|
||||
],
|
||||
'PhpParser\\Node\\Expr\\New_' =>
|
||||
[
|
||||
'class' =>
|
||||
[
|
||||
'PhpParser\\Node\\Expr\\Yield_' => true,
|
||||
],
|
||||
],
|
||||
'PhpParser\\Node\\Expr\\PropertyFetch' =>
|
||||
[
|
||||
'var' =>
|
||||
[
|
||||
'PhpParser\\Node\\Expr\\ConstFetch' => true,
|
||||
],
|
||||
],
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
|
@ -14,4 +14,4 @@ $parser = (new ParserFactory)->create(ParserFactory::PREFER_PHP7);
|
|||
//$parser = (new ParserFactory)->create(ParserFactory::ONLY_PHP5);
|
||||
|
||||
\var_dump($a = $parser->parse(\file_get_contents($argv[1])));
|
||||
var_dumP((new Standard())->prettyPrint($a));
|
||||
\var_dumP((new Standard())->prettyPrint($a));
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
// for each subnode, to test compatibility with various versions of the PHP lexer.
|
||||
|
||||
use HaydenPierce\ClassFinder\ClassFinder;
|
||||
use Phabel\Plugin\IssetExpressionFixer;
|
||||
use Phabel\Plugin\NestedExpressionFixer;
|
||||
use PhpParser\Builder\Class_;
|
||||
use PhpParser\Builder\Method;
|
||||
use PhpParser\Internal\PrintableNewAnonClassNode;
|
||||
|
@ -265,20 +267,67 @@ foreach ($instanceArgTypes as $class => $argTypes) {
|
|||
|
||||
$keys = [];
|
||||
foreach ($result['main'] as $version) {
|
||||
$keys = array_merge_recursive($keys, $version);
|
||||
$keys = \array_merge_recursive($keys, $version);
|
||||
}
|
||||
foreach ($keys as &$values) {
|
||||
$values = array_keys($values);
|
||||
$values = \array_keys($values);
|
||||
}
|
||||
foreach ([56, 70, 71, 72, 73, 74, 80] as $version) {
|
||||
foreach (['NestedExpressionFixer', 'IssetExpressionFixer'] as $name) {
|
||||
$code = <<< PHP
|
||||
<?php
|
||||
|
||||
namespace Phabel\Target\Php$version;
|
||||
|
||||
use Phabel\Plugin;
|
||||
|
||||
class $name extends Plugin
|
||||
{
|
||||
}
|
||||
PHP;
|
||||
\file_put_contents("src/Target/Php$version/$name.php", $code);
|
||||
}
|
||||
}
|
||||
\var_dump($keys);
|
||||
foreach ($result as $type => $results) {
|
||||
$name = $type === 'main' ? 'NestedExpressionFixer' : 'IssetExpressionFixer';
|
||||
$type = $type === 'main' ? NestedExpressionFixer::class : IssetExpressionFixer::class;
|
||||
foreach ($results as $version => $config) {
|
||||
$config = \var_export($config, true);
|
||||
$code = <<< PHP
|
||||
<?php
|
||||
|
||||
namespace Phabel\Target\Php$version;
|
||||
|
||||
use Phabel\Plugin;
|
||||
use $type as fixer;
|
||||
|
||||
class $name extends Plugin
|
||||
{
|
||||
/**
|
||||
* Expression fixer for PHP $version
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function runAfter(): array
|
||||
{
|
||||
return [
|
||||
fixer::class => $config
|
||||
];
|
||||
}
|
||||
}
|
||||
PHP;
|
||||
\file_put_contents("src/Target/Php$version/$name.php", $code);
|
||||
}
|
||||
}
|
||||
var_dump($keys);
|
||||
\file_put_contents('result.php', '<?php $result = '.\var_export($result, true).";");
|
||||
|
||||
$ckeys = array_fill_keys(array_map(fn ($a) => $a->getname(), $expressions), true);
|
||||
$ckeys = \array_fill_keys(\array_map(fn ($a) => $a->getname(), $expressions), true);
|
||||
foreach ($result as &$type) {
|
||||
foreach ($type as &$version) {
|
||||
foreach ($version as &$class) {
|
||||
foreach ($class as &$arguments) {
|
||||
$arguments = array_diff_key($ckeys, $arguments);
|
||||
$arguments = \array_diff_key($ckeys, $arguments);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue