diff --git a/psalm-baseline.xml b/psalm-baseline.xml index 827cbedc26b..fc327577824 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -1,5 +1,5 @@ - + $comment_block->tags['variablesfrom'][0] @@ -67,11 +67,6 @@ $traverser->traverse([$switch_condition])[0] - - - $catch_context->assigned_var_ids += $old_catch_assigned_var_ids - - $assertion->rule[0] diff --git a/src/Psalm/Internal/Analyzer/Statements/Block/IfElse/ElseIfAnalyzer.php b/src/Psalm/Internal/Analyzer/Statements/Block/IfElse/ElseIfAnalyzer.php index 4e3b8e6676d..539f610bd5c 100644 --- a/src/Psalm/Internal/Analyzer/Statements/Block/IfElse/ElseIfAnalyzer.php +++ b/src/Psalm/Internal/Analyzer/Statements/Block/IfElse/ElseIfAnalyzer.php @@ -99,14 +99,16 @@ public static function analyze( $keys = array_keys($clause->possibilities); $mixed_var_ids = array_diff($mixed_var_ids, $keys); - foreach ($keys as $key => $_clause) { + foreach ($keys as $key) { foreach ($mixed_var_ids as $mixed_var_id) { if (preg_match('/^' . preg_quote($mixed_var_id, '/') . '(\[|-)/', $key)) { $elseif_clauses_handled[] = new Clause([], $elseif_cond_id, $elseif_cond_id, true); - continue 3; + break 2; } } } + + $elseif_clauses_handled[] = $clause; } $elseif_clauses = $elseif_clauses_handled; @@ -143,7 +145,7 @@ public static function analyze( $elseif_context_clauses = array_values( array_filter( $elseif_context_clauses, - static fn($c): bool => !in_array($c->hash, $reconciled_expression_clauses) + static fn(Clause $c): bool => !in_array($c->hash, $reconciled_expression_clauses, true) ) ); } @@ -155,7 +157,7 @@ public static function analyze( try { if (array_filter( $entry_clauses, - static fn($clause): bool => (bool) $clause->possibilities + static fn(Clause $clause): bool => (bool) $clause->possibilities )) { $omit_keys = array_reduce( $entry_clauses, diff --git a/src/Psalm/Internal/Analyzer/Statements/Expression/Fetch/ArrayFetchAnalyzer.php b/src/Psalm/Internal/Analyzer/Statements/Expression/Fetch/ArrayFetchAnalyzer.php index 25531b8dd34..1576f92f8f2 100644 --- a/src/Psalm/Internal/Analyzer/Statements/Expression/Fetch/ArrayFetchAnalyzer.php +++ b/src/Psalm/Internal/Analyzer/Statements/Expression/Fetch/ArrayFetchAnalyzer.php @@ -1563,7 +1563,8 @@ private static function handleArrayAccessOnKeyedArray( $formatted_keys = implode( ', ', array_map( - static fn($key): string => is_int($key) ? $key : '\'' . $key . '\'', + /** @param int|string $key */ + static fn($key): string => is_int($key) ? "$key" : '\'' . $key . '\'', $object_like_keys ) );