Skip to content

Commit

Permalink
Optimization
Browse files Browse the repository at this point in the history
  • Loading branch information
ondrejmirtes committed Feb 6, 2021
1 parent d726ef3 commit c8be15b
Showing 1 changed file with 14 additions and 12 deletions.
26 changes: 14 additions & 12 deletions src/Rules/FunctionDefinitionCheck.php
Original file line number Diff line number Diff line change
Expand Up @@ -319,19 +319,21 @@ private function checkParametersAcceptor(
if ($this->checkMissingTemplateTypeInParameter) {
$templateTypeMap = $parametersAcceptor->getTemplateTypeMap();
$templateTypes = $templateTypeMap->getTypes();
foreach ($parametersAcceptor->getParameters() as $parameter) {
TypeTraverser::map($parameter->getType(), static function (Type $type, callable $traverse) use (&$templateTypes): Type {
if ($type instanceof TemplateType) {
unset($templateTypes[$type->getName()]);
return $type;
}

return $traverse($type);
});
}
if (count($templateTypes) > 0) {
foreach ($parametersAcceptor->getParameters() as $parameter) {
TypeTraverser::map($parameter->getType(), static function (Type $type, callable $traverse) use (&$templateTypes): Type {
if ($type instanceof TemplateType) {
unset($templateTypes[$type->getName()]);
return $type;
}

return $traverse($type);
});
}

foreach (array_keys($templateTypes) as $templateTypeName) {
$errors[] = RuleErrorBuilder::message(sprintf($templateTypeMissingInParameterMessage, $templateTypeName))->build();
foreach (array_keys($templateTypes) as $templateTypeName) {
$errors[] = RuleErrorBuilder::message(sprintf($templateTypeMissingInParameterMessage, $templateTypeName))->build();
}
}
}

Expand Down

0 comments on commit c8be15b

Please sign in to comment.