Commit 2d7d93d
Fix false positive for return overwritten by finally when return is in catch
- Only emit FinallyExitPointsNode when the finally block always terminates,
not just when it has any exit points
- A return inside a catch within finally doesn't always execute, so it
shouldn't be reported as unconditionally overwriting the try-catch return
- New regression test in tests/PHPStan/Rules/Exceptions/data/bug-6670.php
Closes phpstan/phpstan#66701 parent d32efcb commit 2d7d93d
File tree
3 files changed
+30
-1
lines changed- src/Analyser
- tests/PHPStan/Rules/Exceptions
- data
3 files changed
+30
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2028 | 2028 | | |
2029 | 2029 | | |
2030 | 2030 | | |
2031 | | - | |
| 2031 | + | |
2032 | 2032 | | |
2033 | 2033 | | |
2034 | 2034 | | |
| |||
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
41 | 46 | | |
42 | 47 | | |
43 | 48 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
0 commit comments