Skip to content

Commit

Permalink
phpstan
Browse files Browse the repository at this point in the history
  • Loading branch information
samsonasik committed Nov 11, 2021
1 parent 75299cf commit ab49291
Showing 1 changed file with 19 additions and 7 deletions.
26 changes: 19 additions & 7 deletions rules/Removing/NodeManipulator/ComplexNodeRemover.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ public function removePropertyAndUsages(Property $property, array $classMethodNa
$propertyFetches = $this->propertyFetchFinder->findPrivatePropertyFetches($property);

$assigns = [];
$propertyNames = [];
foreach ($propertyFetches as $propertyFetch) {
if ($this->shouldSkipPropertyForClassMethod($propertyFetch, $classMethodNamesToSkip)) {
$shouldKeepProperty = true;
Expand All @@ -62,16 +63,11 @@ public function removePropertyAndUsages(Property $property, array $classMethodNa
continue;
}

$propertyNames[] = $propertyName;
$assigns[$propertyName][] = $assign;
}

foreach ($assigns as $assignPropertyNamesAssign) {
foreach ($assignPropertyNamesAssign as $propertyNameAssign) {
// remove assigns
$this->assignRemover->removeAssignNode($propertyNameAssign);
$this->removeConstructorDependency($propertyNameAssign);
}
}
$this->processRemovePropertyAssigns($assigns, $propertyNames);

if ($shouldKeepProperty) {
return;
Expand All @@ -92,6 +88,22 @@ public function removePropertyAndUsages(Property $property, array $classMethodNa
$this->nodeRemover->removeNode($property);
}

/**
* @param array<string, Assign[]> $assigns
* @param string[] $propertyNames
*/
private function processRemovePropertyAssigns(array $assigns, array $propertyNames): void
{
$propertyNames = array_unique($propertyNames);
foreach ($propertyNames as $propertyName) {
foreach ($assigns[$propertyName] as $propertyNameAssign) {
// remove assigns
$this->assignRemover->removeAssignNode($propertyNameAssign);
$this->removeConstructorDependency($propertyNameAssign);
}
}
}

/**
* @param string[] $classMethodNamesToSkip
*/
Expand Down

0 comments on commit ab49291

Please sign in to comment.