Skip to content

Commit bdc51b3

Browse files
committed
Hanvle nested array keys
1 parent ff01104 commit bdc51b3

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/main/QafooLabs/Refactoring/Adapters/PHPParser/Visitor/LocalVariableClassifier.php

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,15 @@ private function enterAssignment(Node\Expr\Assign $node)
5959
$this->assignments[$node->var->name][] = $node->getLine();
6060
$this->seenAssignmentVariables->attach($node->var);
6161
} else if ($node->var instanceof Node\Expr\ArrayDimFetch) {
62+
// unfold $array[$var][$var]
63+
$var = $node->var->var;
64+
while (!isset($var->name)) {
65+
$var = $var->var;
66+
}
6267
// $foo[] = "baz" is both a read and a write access to $foo
63-
$this->localVariables[$node->var->var->name][] = $node->getLine();
64-
$this->assignments[$node->var->var->name][] = $node->getLine();
65-
$this->seenAssignmentVariables->attach($node->var->var);
68+
$this->localVariables[$var->name][] = $node->getLine();
69+
$this->assignments[$var->name][] = $node->getLine();
70+
$this->seenAssignmentVariables->attach($var);
6671
}
6772
}
6873

0 commit comments

Comments
 (0)