fix(DefinitionResolver): fix crash on unknown foreach type (#562)
Fix when unknown type is found in foreach expressionpull/564/head v5.3.1
parent
a0caf8d18f
commit
425b2390b5
|
@ -35,3 +35,6 @@ foreach ($array3 as $key => $value) {
|
||||||
foreach ($bar->test() as $value) {
|
foreach ($bar->test() as $value) {
|
||||||
$
|
$
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach ($unknownArray as $unknown) {
|
||||||
|
$unkno
|
||||||
|
|
|
@ -1122,6 +1122,7 @@ class DefinitionResolver
|
||||||
if ($collectionType instanceof Types\Array_) {
|
if ($collectionType instanceof Types\Array_) {
|
||||||
return $collectionType->getValueType();
|
return $collectionType->getValueType();
|
||||||
}
|
}
|
||||||
|
return new Types\Mixed_();
|
||||||
}
|
}
|
||||||
|
|
||||||
// PROPERTIES, CONSTS, CLASS CONSTS, ASSIGNMENT EXPRESSIONS
|
// PROPERTIES, CONSTS, CLASS CONSTS, ASSIGNMENT EXPRESSIONS
|
||||||
|
|
|
@ -691,6 +691,21 @@ class CompletionTest extends TestCase
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
'foreach unknown type' => [
|
||||||
|
new Position(39, 10),
|
||||||
|
[
|
||||||
|
new CompletionItem(
|
||||||
|
'$unknown',
|
||||||
|
CompletionItemKind::VARIABLE,
|
||||||
|
'mixed',
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
new TextEdit(new Range(new Position(39, 10), new Position(39, 10)), 'wn')
|
||||||
|
),
|
||||||
|
]
|
||||||
|
],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue