1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-29 20:28:59 +01:00

Fix redundancies

This commit is contained in:
Matt Brown 2020-12-04 15:10:50 -05:00 committed by Daniil Gentili
parent 326c47ef75
commit 910d617608
Signed by: danog
GPG Key ID: 8C1BE3B34B230CA7

View File

@ -684,8 +684,7 @@ abstract class FunctionLikeAnalyzer extends SourceAnalyzer
) )
: Type::getVoid(); : Type::getVoid();
if ($inferred_return_type if (!$inferred_return_type->isVoid()
&& !$inferred_return_type->isVoid()
&& !$inferred_return_type->isFalse() && !$inferred_return_type->isFalse()
&& !$inferred_return_type->isNull() && !$inferred_return_type->isNull()
&& !$inferred_return_type->isSingleIntLiteral() && !$inferred_return_type->isSingleIntLiteral()
@ -785,31 +784,29 @@ abstract class FunctionLikeAnalyzer extends SourceAnalyzer
) )
: null; : null;
if ($closure_return_type || $closure_yield_type) { if ($closure_yield_type) {
if ($closure_yield_type) { $closure_return_type = $closure_yield_type;
$closure_return_type = $closure_yield_type; }
if ($function_type = $statements_analyzer->node_data->getType($this->function)) {
/**
* @var Type\Atomic\TClosure
*/
$closure_atomic = \array_values($function_type->getAtomicTypes())[0];
if (($storage->return_type === $storage->signature_return_type)
&& (!$storage->return_type
|| $storage->return_type->hasMixed()
|| UnionTypeComparator::isContainedBy(
$codebase,
$closure_return_type,
$storage->return_type
))
) {
$closure_atomic->return_type = $closure_return_type;
} }
if ($function_type = $statements_analyzer->node_data->getType($this->function)) { $closure_atomic->is_pure = !$this->inferred_impure;
/**
* @var Type\Atomic\TClosure
*/
$closure_atomic = \array_values($function_type->getAtomicTypes())[0];
if (($storage->return_type === $storage->signature_return_type)
&& (!$storage->return_type
|| $storage->return_type->hasMixed()
|| UnionTypeComparator::isContainedBy(
$codebase,
$closure_return_type,
$storage->return_type
))
) {
$closure_atomic->return_type = $closure_return_type;
}
$closure_atomic->is_pure = !$this->inferred_impure;
}
} }
} }