1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-16 11:26:55 +01:00
Commit Graph

1223 Commits

Author SHA1 Message Date
Matthew Brown
6bfb27165d Check property defaults again 2018-01-28 21:43:26 -05:00
Matthew Brown
3482ee3b39 Split UntypedParam into MissingParamType and MissingClosureParamType 2018-01-28 20:03:47 -05:00
Matthew Brown
1c34dbe289 Fix erroneous treatment of finally blocks after return in try
Fixes #473
2018-01-28 19:02:31 -05:00
Matthew Brown
e0fa3adb6f Split up CallChecker to speed up Psalm 2018-01-28 18:29:38 -05:00
Matthew Brown
ed5245bc47 Go easy on unknown invocations 2018-01-28 18:13:38 -05:00
Matthew Brown
44b8b22995 Improve checks for unused variables and params 2018-01-28 17:28:34 -05:00
Matthew Brown
4a672fade8 Add a couple of optimisations suggested by Scrutinizer 2018-01-28 17:26:09 -05:00
Matthew Brown
8b740110f4 Remove more ? from docblocks 2018-01-28 17:07:09 -05:00
Matthew Brown
7ce053bd8a Make docblocks sligtly more phpdoc-compatible 2018-01-28 16:52:57 -05:00
Matthew Brown
eb2870562b Remove last two that Psalm found 2018-01-28 16:06:42 -05:00
Matthew Brown
8799b856cb Add a couple more unused code locations 2018-01-28 13:50:41 -05:00
Matthew Brown
dd32452d90 Remove more dead code found by Psalm 2018-01-28 12:43:19 -05:00
Matthew Brown
59cdc5494f Remove unused list vars 2018-01-28 12:29:14 -05:00
Matthew Brown
f628187de9 Remove dead code found by improved Psalm checks 2018-01-28 12:01:51 -05:00
Matt Brown
2d8468cb49 Allow interface to extend travserable and pass iterable test 2018-01-26 14:08:45 -05:00
Matt Brown
576f835858 Exit early if key does not exist 2018-01-26 13:56:53 -05:00
Matt Brown
a2d11cce51 Fix static/self return type handling 2018-01-26 13:51:00 -05:00
Matt Brown
b333e90fee Fix casing of duplicate interface method check 2018-01-26 12:00:02 -05:00
Matt Brown
1320b6dd54 Fix #472 - inherit interface method docblocks if defined just once 2018-01-26 11:50:29 -05:00
Matt Brown
5e0a8c4339 Inherit correct self return type 2018-01-26 10:59:30 -05:00
Matt Brown
62401f15fd Prevent finding unused classes and methods when multithreaded 2018-01-25 15:40:01 -05:00
Matt Brown
75fd14c492 Fix long line 2018-01-25 14:19:22 -05:00
Matt Brown
450618cc35 Treat do expression as statements plus loop 2018-01-25 13:46:17 -05:00
Matt Brown
1a2d13ae32 Ignore falsable issues from core functions 2018-01-25 13:07:36 -05:00
Matt Brown
127c743906 Fix #471 - assign static class const to mixed 2018-01-25 10:47:15 -05:00
Matthew Brown
ea28ee709d Improve unused variable detection slightly 2018-01-25 01:04:26 -05:00
Matt Brown
543872f186 Allow @psalm-ignore-falsable-return annotation
Downgrades issues around use of current(), reset(), end() etc.
2018-01-24 18:52:58 -05:00
Matt Brown
f46cf729bb Allow null checks against preg_replace and related 2018-01-24 17:07:03 -05:00
Matt Brown
93ac3eaadb Fix #213 by evaluating switch statements better 2018-01-24 16:15:53 -05:00
Matt Brown
24cbe6a52a Fix #466 - initialize variable 2018-01-24 13:52:34 -05:00
Matt Brown
e905fc2660 Prevent offset if key doesn’t exist 2018-01-24 13:50:33 -05:00
Matt Brown
f0ee7203ec Copy over infinite loop protection 2018-01-24 13:38:53 -05:00
Matt Brown
445b128a50 Fix recursion in static calls too 2018-01-24 13:26:24 -05:00
Matt Brown
72a4f148ff Prevent infinite loops when analysing private functions that call each other 2018-01-24 13:11:23 -05:00
Matt Brown
0018dee5e3 Fix single file checks 2018-01-24 12:00:10 -05:00
Matthew Brown
78e34c0548 Ignore nonexistent static class constants 2018-01-24 00:17:20 -05:00
Matthew Brown
b06cfd025a Allow continue inside case statement as alias for break
Fixes #464
2018-01-24 00:01:08 -05:00
Matt Brown
dea5d92e9b Add support for static::class 2018-01-23 15:46:14 -05:00
Matt Brown
c0fda0ef1e Allow instanceof static checks 2018-01-23 14:46:46 -05:00
Matt Brown
abf561bb7d Improve Psalter return type additions 2018-01-23 12:03:18 -05:00
Matthew Brown
507007a2bf Add DeprecatedInterface and emit DeprecatedClass in more places
Fixes #463
2018-01-23 09:09:43 -05:00
Matthew Brown
fdadcd3a70 Fix implemented interface checks for self/static 2018-01-23 01:32:16 -05:00
Matt Brown
e249c27308 Don’t update return types to null 2018-01-22 18:00:19 -05:00
Matt Brown
e58e824af3 Make sure replacements only happen when called for 2018-01-22 13:54:32 -05:00
Matthew Brown
2994d1e339 Add tests for reference checks 2018-01-21 23:42:57 -05:00
Matthew Brown
e8487e86f0 Make sure else/elseif roots are at the if declaration 2018-01-21 22:05:57 -05:00
Matthew Brown
68b00ea49a Add automatic fix for PossiblyUndefinedVariable 2018-01-21 16:24:20 -05:00
Matthew Brown
bc9761f6c9 Create Codebase out from ProjectChecker 2018-01-21 13:45:33 -05:00
Matthew Brown
e05a7c00cc Break FileScanner out from FileChecker 2018-01-21 12:44:46 -05:00
Matthew Brown
9b6b03ff9f Create Config before ProjectChecker, and remove test-specific code from FileChecker 2018-01-21 10:22:04 -05:00