mirror of
https://github.com/danog/psalm.git
synced 2024-11-27 12:55:26 +01:00
Fix #182 by properly registering autoload file functions
This commit is contained in:
parent
e60f085741
commit
05674ef3bc
@ -137,6 +137,63 @@ class FunctionChecker extends FunctionLikeChecker
|
|||||||
}
|
}
|
||||||
|
|
||||||
$storage->cased_name = $reflection_function->getName();
|
$storage->cased_name = $reflection_function->getName();
|
||||||
|
|
||||||
|
$config = \Psalm\Config::getInstance();
|
||||||
|
|
||||||
|
if ($reflection_return_type = $reflection_function->getReturnType()) {
|
||||||
|
$storage->return_type = Type::parseString((string)$reflection_return_type);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($reflection_function->isUserDefined()) {
|
||||||
|
$docblock_info = null;
|
||||||
|
$doc_comment = $reflection_function->getDocComment();
|
||||||
|
|
||||||
|
if (!$doc_comment) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
$docblock_info = CommentChecker::extractFunctionDocblockInfo(
|
||||||
|
(string)$doc_comment,
|
||||||
|
0
|
||||||
|
);
|
||||||
|
} catch (DocblockParseException $e) {
|
||||||
|
// do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$docblock_info) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($docblock_info->deprecated) {
|
||||||
|
$storage->deprecated = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($docblock_info->variadic) {
|
||||||
|
$storage->variadic = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($docblock_info->ignore_nullable_return && $storage->return_type) {
|
||||||
|
$storage->return_type->ignore_nullable_issues = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
$storage->suppressed_issues = $docblock_info->suppress;
|
||||||
|
|
||||||
|
if (!$config->use_docblock_types) {
|
||||||
|
return $storage;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($docblock_info->return_type) {
|
||||||
|
if (!$storage->return_type) {
|
||||||
|
$storage->return_type = Type::parseString($docblock_info->return_type);
|
||||||
|
$storage->return_type->setFromDocblock();
|
||||||
|
|
||||||
|
if ($docblock_info->ignore_nullable_return) {
|
||||||
|
$storage->return_type->ignore_nullable_issues = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
} catch (\ReflectionException $e) {
|
} catch (\ReflectionException $e) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user