@@ -48,7 +48,7 @@ discard block |
||
48 | 48 | * @param Codebase $codebase |
49 | 49 | * @param Context $context |
50 | 50 | * @param Type\Atomic\TNamedObject|Type\Atomic\TTemplateParam $static_type |
51 | - * @param ?string $lhs_var_id |
|
51 | + * @param string|null $lhs_var_id |
|
52 | 52 | */ |
53 | 53 | public static function analyze( |
54 | 54 | StatementsAnalyzer $statements_analyzer, |
@@ -831,6 +831,9 @@ discard block |
||
831 | 831 | ); |
832 | 832 | } |
833 | 833 | |
834 | + /** |
|
835 | + * @param Type\Union|null $all_intersection_return_type |
|
836 | + */ |
|
834 | 837 | private static function updateResultReturnType( |
835 | 838 | AtomicMethodCallAnalysisResult $result, |
836 | 839 | ?Type\Union $return_type_candidate, |
@@ -10,7 +10,6 @@ |
||
10 | 10 | use Psalm\Internal\Analyzer\Statements\Expression\Call\ArgumentMapPopulator; |
11 | 11 | use Psalm\Internal\Analyzer\Statements\Expression\Call\ClassTemplateParamCollector; |
12 | 12 | use Psalm\Internal\Analyzer\Statements\Expression\Call\ArgumentsAnalyzer; |
13 | -use Psalm\Internal\Analyzer\Statements\Expression\Fetch\PropertyFetchAnalyzer; |
|
14 | 13 | use Psalm\Internal\Analyzer\Statements\Expression\ExpressionIdentifier; |
15 | 14 | use Psalm\Internal\Analyzer\StatementsAnalyzer; |
16 | 15 | use Psalm\Internal\Analyzer\TypeAnalyzer; |
@@ -500,7 +500,7 @@ |
||
500 | 500 | |
501 | 501 | $array_values = array_map( |
502 | 502 | /** |
503 | - * @return PhpParser\Node\Expr\ArrayItem |
|
503 | + * @return boolean |
|
504 | 504 | */ |
505 | 505 | function (PhpParser\Node\Arg $arg) { |
506 | 506 | return new PhpParser\Node\Expr\ArrayItem($arg->value); |
@@ -224,6 +224,7 @@ |
||
224 | 224 | * @param Context $context |
225 | 225 | * @param CodeLocation $code_location |
226 | 226 | * @param StatementsAnalyzer $statements_analyzer |
227 | + * @param TemplateResult|null $class_template_result |
|
227 | 228 | */ |
228 | 229 | protected static function checkMethodArgs( |
229 | 230 | ?\Psalm\Internal\MethodIdentifier $method_id, |
@@ -18,6 +18,7 @@ |
||
18 | 18 | * @param string|null $this_class_name |
19 | 19 | * @param FileSource|null $source |
20 | 20 | * @param int|null &$nesting |
21 | + * @param integer $nesting |
|
21 | 22 | * |
22 | 23 | * @return string|null |
23 | 24 | */ |
@@ -1432,6 +1432,9 @@ discard block |
||
1432 | 1432 | return $array_access_type; |
1433 | 1433 | } |
1434 | 1434 | |
1435 | + /** |
|
1436 | + * @param null|string $array_var_id |
|
1437 | + */ |
|
1435 | 1438 | private static function checkLiteralIntArrayOffset( |
1436 | 1439 | Type\Union $offset_type, |
1437 | 1440 | Type\Union $expected_offset_type, |
@@ -1481,6 +1484,9 @@ discard block |
||
1481 | 1484 | } |
1482 | 1485 | } |
1483 | 1486 | |
1487 | + /** |
|
1488 | + * @param null|string $array_var_id |
|
1489 | + */ |
|
1484 | 1490 | private static function checkLiteralStringArrayOffset( |
1485 | 1491 | Type\Union $offset_type, |
1486 | 1492 | Type\Union $expected_offset_type, |
@@ -57,7 +57,6 @@ |
||
57 | 57 | use function in_array; |
58 | 58 | use function is_int; |
59 | 59 | use function preg_match; |
60 | -use Psalm\Internal\Taint\TaintNode; |
|
61 | 60 | use Psalm\Internal\Taint\Source; |
62 | 61 | use Psalm\Internal\Type\TemplateResult; |
63 | 62 |
@@ -15,7 +15,7 @@ |
||
15 | 15 | class IncDecExpressionAnalyzer |
16 | 16 | { |
17 | 17 | /** |
18 | - * @param PostInc|PostDec|PreInc|PreDec $stmt |
|
18 | + * @param PhpParser\Node\Expr $stmt |
|
19 | 19 | */ |
20 | 20 | public static function analyze( |
21 | 21 | StatementsAnalyzer $statements_analyzer, |
@@ -99,6 +99,9 @@ |
||
99 | 99 | return true; |
100 | 100 | } |
101 | 101 | |
102 | + /** |
|
103 | + * @param null|Context $global_context |
|
104 | + */ |
|
102 | 105 | private static function handleExpression( |
103 | 106 | StatementsAnalyzer $statements_analyzer, |
104 | 107 | PhpParser\Node\Expr $stmt, |
@@ -271,6 +271,7 @@ discard block |
||
271 | 271 | |
272 | 272 | /** |
273 | 273 | * @psalm-return false|null |
274 | + * @param null|Context $global_context |
|
274 | 275 | */ |
275 | 276 | private static function analyzeStatement( |
276 | 277 | StatementsAnalyzer $statements_analyzer, |
@@ -344,9 +345,9 @@ discard block |
||
344 | 345 | $suppressed = array_filter( |
345 | 346 | array_map( |
346 | 347 | /** |
347 | - * @param string $line |
|
348 | + * @param StatementsAnalyzer $line |
|
348 | 349 | * |
349 | - * @return string |
|
350 | + * @return false|null |
|
350 | 351 | */ |
351 | 352 | function ($line) { |
352 | 353 | return preg_split('/[\s]+/', $line)[0]; |
@@ -304,7 +304,7 @@ discard block |
||
304 | 304 | /** |
305 | 305 | * Used for comparing signature typehints, uses PHP's light contravariance rules |
306 | 306 | * |
307 | - * @param ?Type\Union $input_type |
|
307 | + * @param Type\Union|null $input_type |
|
308 | 308 | * @param Type\Union $container_type |
309 | 309 | * |
310 | 310 | * @return bool |
@@ -501,8 +501,8 @@ discard block |
||
501 | 501 | |
502 | 502 | /** |
503 | 503 | * @param Codebase $codebase |
504 | - * @param TNamedObject|TTemplateParam|TIterable $input_type_part |
|
505 | - * @param TNamedObject|TTemplateParam|TIterable $container_type_part |
|
504 | + * @param Type\Atomic $input_type_part |
|
505 | + * @param Type\Atomic $container_type_part |
|
506 | 506 | * @param bool $allow_interface_equality |
507 | 507 | * |
508 | 508 | * @return bool |
@@ -765,6 +765,7 @@ discard block |
||
765 | 765 | |
766 | 766 | /** |
767 | 767 | * Does the input param atomic type match the given param atomic type |
768 | + * @param TypeComparisonResult $atomic_comparison_result |
|
768 | 769 | */ |
769 | 770 | public static function isAtomicContainedBy( |
770 | 771 | Codebase $codebase, |
@@ -1913,6 +1914,7 @@ discard block |
||
1913 | 1914 | } |
1914 | 1915 | |
1915 | 1916 | /** |
1917 | + * @param TCallable $container_type_part |
|
1916 | 1918 | * @return ?TCallable |
1917 | 1919 | */ |
1918 | 1920 | public static function getCallableFromAtomic( |
@@ -2388,7 +2390,7 @@ discard block |
||
2388 | 2390 | $container_params_can_be_undefined = (bool) array_reduce( |
2389 | 2391 | $container_type_part->properties, |
2390 | 2392 | /** |
2391 | - * @param bool $carry |
|
2393 | + * @param Codebase $carry |
|
2392 | 2394 | * |
2393 | 2395 | * @return bool |
2394 | 2396 | */ |