diff --git a/fixtures/completion/foreach.php b/fixtures/completion/foreach.php index b6fa5be..4278f00 100644 --- a/fixtures/completion/foreach.php +++ b/fixtures/completion/foreach.php @@ -36,5 +36,5 @@ foreach ($bar->test() as $value) { $ } -foreach ($unknownArray as $unknown) { +foreach ($unknownArray as $member->access => $unknown) { $unkno diff --git a/src/DefinitionResolver.php b/src/DefinitionResolver.php index a408dd4..72bdce4 100644 --- a/src/DefinitionResolver.php +++ b/src/DefinitionResolver.php @@ -571,7 +571,9 @@ class DefinitionResolver // If we get to a ForeachStatement, check the keys and values if ($n instanceof Node\Statement\ForeachStatement) { - if ($n->foreachKey && $n->foreachKey->expression->getName() === $name) { + if ($n->foreachKey instanceof Node\Expression\Variable + && $n->foreachKey->expression->getName() === $name + ) { return $n->foreachKey; } if ($n->foreachValue