Skip to content

Commit

Permalink
Set config as protected in Mutator to reuse in children, add more tes…
Browse files Browse the repository at this point in the history
…ts, fix review comments
  • Loading branch information
maks-rafalko committed Jan 5, 2019
1 parent 2382469 commit 9b03fcd
Show file tree
Hide file tree
Showing 84 changed files with 183 additions and 138 deletions.
2 changes: 1 addition & 1 deletion src/Mutator/Arithmetic/Assignment.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\Assign($node->var, $node->expr, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\AssignOp;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Arithmetic/AssignmentEqual.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\Assign($node->left, $node->right, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\BinaryOp\Equal && $node->left instanceof Node\Expr\Variable;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Arithmetic/BitwiseAnd.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\BinaryOp\BitwiseOr($node->left, $node->right, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\BinaryOp\BitwiseAnd;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Arithmetic/BitwiseNot.php
Expand Up @@ -51,7 +51,7 @@ public function mutate(Node $node)
return $node->expr;
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\BitwiseNot;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Arithmetic/BitwiseOr.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\BinaryOp\BitwiseAnd($node->left, $node->right, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\BinaryOp\BitwiseOr;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Arithmetic/BitwiseXor.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\BinaryOp\BitwiseAnd($node->left, $node->right, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\BinaryOp\BitwiseXor;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Arithmetic/Decrement.php
Expand Up @@ -64,7 +64,7 @@ public function mutate(Node $node)
}
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof PreDec || $node instanceof PostDec;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Arithmetic/DivEqual.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\AssignOp\Mul($node->var, $node->expr, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\AssignOp\Div;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Arithmetic/Division.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\BinaryOp\Mul($node->left, $node->right, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\BinaryOp\Div;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Arithmetic/Exponentiation.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\BinaryOp\Div($node->left, $node->right, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\BinaryOp\Pow;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Arithmetic/Increment.php
Expand Up @@ -64,7 +64,7 @@ public function mutate(Node $node)
}
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof PreInc || $node instanceof PostInc;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Arithmetic/Minus.php
Expand Up @@ -53,7 +53,7 @@ public function mutate(Node $node)
return new Node\Expr\BinaryOp\Plus($node->left, $node->right, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\BinaryOp\Minus;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Arithmetic/MinusEqual.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\AssignOp\Plus($node->var, $node->expr, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\AssignOp\Minus;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Arithmetic/ModEqual.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\AssignOp\Mul($node->var, $node->expr, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\AssignOp\Mod;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Arithmetic/Modulus.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\BinaryOp\Mul($node->left, $node->right, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\BinaryOp\Mod;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Arithmetic/MulEqual.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\AssignOp\Div($node->var, $node->expr, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\AssignOp\Mul;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Arithmetic/Multiplication.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\BinaryOp\Div($node->left, $node->right, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\BinaryOp\Mul;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Arithmetic/Plus.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\BinaryOp\Minus($node->left, $node->right, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
if (!($node instanceof Node\Expr\BinaryOp\Plus)) {
return false;
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Arithmetic/PlusEqual.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\AssignOp\Minus($node->var, $node->expr, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\AssignOp\Plus;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Arithmetic/PowEqual.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\AssignOp\Div($node->var, $node->expr, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\AssignOp\Pow;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Arithmetic/RoundingFamily.php
Expand Up @@ -74,7 +74,7 @@ public function mutate(Node $node)
}
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
if (!$node instanceof Node\Expr\FuncCall) {
return false;
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Arithmetic/ShiftLeft.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\BinaryOp\ShiftRight($node->left, $node->right, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\BinaryOp\ShiftLeft;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Arithmetic/ShiftRight.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\BinaryOp\ShiftLeft($node->left, $node->right, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\BinaryOp\ShiftRight;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Boolean/ArrayItem.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\BinaryOp\Greater($node->key, $node->value, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\ArrayItem && $node->key && ($this->isNodeWithSideEffects($node->value) || $this->isNodeWithSideEffects($node->key));
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Boolean/EqualIdentical.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\BinaryOp\Identical($node->left, $node->right, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\BinaryOp\Equal;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Boolean/FalseValue.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\ConstFetch(new Node\Name('true'));
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
if (!($node instanceof Node\Expr\ConstFetch)) {
return false;
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Boolean/IdenticalEqual.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\BinaryOp\Equal($node->left, $node->right, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\BinaryOp\Identical;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Boolean/LogicalAnd.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\BinaryOp\BooleanOr($node->left, $node->right, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\BinaryOp\BooleanAnd;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Boolean/LogicalLowerAnd.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\BinaryOp\LogicalOr($node->left, $node->right, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\BinaryOp\LogicalAnd;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Boolean/LogicalLowerOr.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\BinaryOp\LogicalAnd($node->left, $node->right, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\BinaryOp\LogicalOr;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Boolean/LogicalNot.php
Expand Up @@ -51,7 +51,7 @@ public function mutate(Node $node)
return $node->expr;
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
if (!($node instanceof Node\Expr\BooleanNot)) {
return false;
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Boolean/LogicalOr.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\BinaryOp\BooleanAnd($node->left, $node->right, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\BinaryOp\BooleanOr;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Boolean/NotEqualNotIdentical.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\BinaryOp\NotIdentical($node->left, $node->right, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\BinaryOp\NotEqual;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Boolean/NotIdenticalNotEqual.php
Expand Up @@ -54,7 +54,7 @@ public function mutate(Node $node)
return new Node\Expr\BinaryOp\NotEqual($node->left, $node->right, $node->getAttributes());
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\BinaryOp\NotIdentical;
}
Expand Down
18 changes: 8 additions & 10 deletions src/Mutator/Boolean/TrueValue.php
Expand Up @@ -45,8 +45,8 @@
final class TrueValue extends Mutator
{
private const DEFAULT_SETTINGS = [
'in_array' => false,
'array_search' => false,
'in_array' => false,
];

/**
Expand All @@ -60,7 +60,7 @@ public function mutate(Node $node)
return new Node\Expr\ConstFetch(new Node\Name('false'));
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
if (!($node instanceof Node\Expr\ConstFetch)) {
return false;
Expand All @@ -73,16 +73,14 @@ protected function mutatesNode(Node $node, array $mutatorSettings): bool
$parentNode = $node->getAttribute(ParentConnectorVisitor::PARENT_KEY);
$grandParentNode = $parentNode !== null ? $parentNode->getAttribute(ParentConnectorVisitor::PARENT_KEY) : null;

if ($grandParentNode instanceof Node\Expr\FuncCall) {
$resultSettings = array_merge(self::DEFAULT_SETTINGS, $mutatorSettings);
if (!$grandParentNode instanceof Node\Expr\FuncCall || !$grandParentNode->name instanceof Node\Name) {
return true;
}

$functionName = $grandParentNode->name->toLowerString();
$resultSettings = array_merge(self::DEFAULT_SETTINGS, $this->config->getMutatorSettings());

if (array_key_exists($functionName, $resultSettings) && $resultSettings[$functionName] === false) {
return false;
}
}
$functionName = $grandParentNode->name->toLowerString();

return true;
return array_key_exists($functionName, $resultSettings) && $resultSettings[$functionName] !== false;
}
}
2 changes: 1 addition & 1 deletion src/Mutator/Boolean/Yield_.php
Expand Up @@ -57,7 +57,7 @@ public function mutate(Node $node)
return $node;
}

protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\Yield_ && $node->key;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Cast/CastArray.php
Expand Up @@ -42,7 +42,7 @@
*/
final class CastArray extends AbstractCastMutator
{
protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\Cast\Array_;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Cast/CastBool.php
Expand Up @@ -42,7 +42,7 @@
*/
final class CastBool extends AbstractCastMutator
{
protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\Cast\Bool_;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Cast/CastFloat.php
Expand Up @@ -42,7 +42,7 @@
*/
final class CastFloat extends AbstractCastMutator
{
protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\Cast\Double;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mutator/Cast/CastInt.php
Expand Up @@ -42,7 +42,7 @@
*/
final class CastInt extends AbstractCastMutator
{
protected function mutatesNode(Node $node, array $mutatorSettings): bool
protected function mutatesNode(Node $node): bool
{
return $node instanceof Node\Expr\Cast\Int_;
}
Expand Down

0 comments on commit 9b03fcd

Please sign in to comment.