@@ -73,6 +73,7 @@ |
||
| 73 | 73 | * @param array<PhpParser\Node> $stmts |
| 74 | 74 | * @param bool $return_is_exit Exit and Throw statements are treated differently from return if this is false |
| 75 | 75 | * @param list<'loop'|'switch'> $break_types |
| 76 | + * @param \Psalm\Internal\Provider\NodeDataProvider|null $nodes |
|
| 76 | 77 | * |
| 77 | 78 | * @return list<value-of<self::ACTIONS>> |
| 78 | 79 | */ |
@@ -1004,6 +1004,9 @@ |
||
| 1004 | 1004 | } |
| 1005 | 1005 | } |
| 1006 | 1006 | |
| 1007 | + /** |
|
| 1008 | + * @return Type\Union |
|
| 1009 | + */ |
|
| 1007 | 1010 | private static function getFakeMethodCallType( |
| 1008 | 1011 | StatementsAnalyzer $statements_analyzer, |
| 1009 | 1012 | PhpParser\Node\Expr $foreach_expr, |
@@ -122,7 +122,7 @@ discard block |
||
| 122 | 122 | $if_clauses = array_values( |
| 123 | 123 | array_map( |
| 124 | 124 | /** |
| 125 | - * @return Clause |
|
| 125 | + * @return false|null |
|
| 126 | 126 | */ |
| 127 | 127 | function (Clause $c) use ($mixed_var_ids) { |
| 128 | 128 | $keys = array_keys($c->possibilities); |
@@ -217,8 +217,8 @@ discard block |
||
| 217 | 217 | $omit_keys = array_reduce( |
| 218 | 218 | $context->clauses, |
| 219 | 219 | /** |
| 220 | - * @param array<string> $carry |
|
| 221 | - * @return array<string> |
|
| 220 | + * @param StatementsAnalyzer $carry |
|
| 221 | + * @return false|null |
|
| 222 | 222 | */ |
| 223 | 223 | function ($carry, Clause $clause) { |
| 224 | 224 | return array_merge($carry, array_keys($clause->possibilities)); |
@@ -553,7 +553,7 @@ discard block |
||
| 553 | 553 | $entry_clauses = array_values( |
| 554 | 554 | array_filter( |
| 555 | 555 | $entry_clauses, |
| 556 | - /** @return bool */ |
|
| 556 | + /** @return \Psalm\Internal\Scope\IfConditionalScope */ |
|
| 557 | 557 | function (Clause $c) use ($changed_var_ids) { |
| 558 | 558 | return count($c->possibilities) > 1 |
| 559 | 559 | || $c->wedge |
@@ -683,9 +683,9 @@ discard block |
||
| 683 | 683 | |
| 684 | 684 | $newish_var_ids = array_map( |
| 685 | 685 | /** |
| 686 | - * @param Type\Union $_ |
|
| 686 | + * @param StatementsAnalyzer $_ |
|
| 687 | 687 | * |
| 688 | - * @return true |
|
| 688 | + * @return \Psalm\Internal\Scope\IfConditionalScope |
|
| 689 | 689 | */ |
| 690 | 690 | function (Type\Union $_) { |
| 691 | 691 | return true; |
@@ -1044,7 +1044,7 @@ discard block |
||
| 1044 | 1044 | * @param StatementsAnalyzer $statements_analyzer |
| 1045 | 1045 | * @param PhpParser\Node\Stmt\ElseIf_ $elseif |
| 1046 | 1046 | * @param IfScope $if_scope |
| 1047 | - * @param Context $elseif_context |
|
| 1047 | + * @param Context $else_context |
|
| 1048 | 1048 | * @param Context $outer_context |
| 1049 | 1049 | * |
| 1050 | 1050 | * @return false|null |
@@ -1096,7 +1096,7 @@ discard block |
||
| 1096 | 1096 | |
| 1097 | 1097 | $elseif_clauses = array_map( |
| 1098 | 1098 | /** |
| 1099 | - * @return Clause |
|
| 1099 | + * @return false|null |
|
| 1100 | 1100 | */ |
| 1101 | 1101 | function (Clause $c) use ($mixed_var_ids) { |
| 1102 | 1102 | $keys = array_keys($c->possibilities); |
@@ -1118,7 +1118,7 @@ discard block |
||
| 1118 | 1118 | |
| 1119 | 1119 | $entry_clauses = array_map( |
| 1120 | 1120 | /** |
| 1121 | - * @return Clause |
|
| 1121 | + * @return false|null |
|
| 1122 | 1122 | */ |
| 1123 | 1123 | function (Clause $c) use ($cond_assigned_var_ids) { |
| 1124 | 1124 | $keys = array_keys($c->possibilities); |
@@ -32,7 +32,6 @@ |
||
| 32 | 32 | * @param PhpParser\Node\Expr[] $pre_conditions |
| 33 | 33 | * @param PhpParser\Node\Expr[] $post_expressions |
| 34 | 34 | * @param Context loop_scope->loop_context |
| 35 | - * @param Context $loop_scope->loop_parent_context |
|
| 36 | 35 | * @param bool $is_do |
| 37 | 36 | * |
| 38 | 37 | * @return false|null |
@@ -31,7 +31,7 @@ |
||
| 31 | 31 | class SwitchCaseAnalyzer |
| 32 | 32 | { |
| 33 | 33 | /** |
| 34 | - * @param ?string $switch_var_id |
|
| 34 | + * @param string|null $switch_var_id |
|
| 35 | 35 | * @return null|false |
| 36 | 36 | */ |
| 37 | 37 | public static function analyze( |
@@ -289,9 +289,9 @@ |
||
| 289 | 289 | $catch_context->vars_in_scope[$catch_var_id] = new Union( |
| 290 | 290 | array_map( |
| 291 | 291 | /** |
| 292 | - * @param string $fq_catch_class |
|
| 292 | + * @param StatementsAnalyzer $fq_catch_class |
|
| 293 | 293 | * |
| 294 | - * @return Type\Atomic |
|
| 294 | + * @return false|null |
|
| 295 | 295 | */ |
| 296 | 296 | function ($fq_catch_class) use ($codebase) { |
| 297 | 297 | $catch_class_type = new TNamedObject($fq_catch_class); |
@@ -2107,7 +2107,7 @@ |
||
| 2107 | 2107 | } |
| 2108 | 2108 | |
| 2109 | 2109 | /** |
| 2110 | - * @param PhpParser\Node\Expr\FuncCall|PhpParser\Node\Expr\MethodCall|PhpParser\Node\Expr\StaticCall $expr |
|
| 2110 | + * @param PhpParser\Node\Expr\FuncCall $expr |
|
| 2111 | 2111 | * @param string|null $this_class_name |
| 2112 | 2112 | * @param FileSource $source |
| 2113 | 2113 | * @param bool $negate |
@@ -69,6 +69,7 @@ |
||
| 69 | 69 | |
| 70 | 70 | /** |
| 71 | 71 | * |
| 72 | + * @param PhpParser\Node\Expr|null $assign_value |
|
| 72 | 73 | * @return false|null |
| 73 | 74 | */ |
| 74 | 75 | public static function updateArrayType( |
@@ -59,7 +59,7 @@ |
||
| 59 | 59 | $if_clauses = array_values( |
| 60 | 60 | array_map( |
| 61 | 61 | /** |
| 62 | - * @return \Psalm\Internal\Clause |
|
| 62 | + * @return boolean |
|
| 63 | 63 | */ |
| 64 | 64 | function (\Psalm\Internal\Clause $c) use ($mixed_var_ids) { |
| 65 | 65 | $keys = array_keys($c->possibilities); |