1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-27 04:45:20 +01:00
Commit Graph

3590 Commits

Author SHA1 Message Date
Matt Brown
460c4a2c3e
Fix #4333 - don’t get tripped up on try with no catches 2021-01-29 11:39:56 +01:00
Matt Brown
c43c29880c
Fix #4336 - don’t merge sources twice for null coalesce 2021-01-29 11:39:56 +01:00
Matt Brown
05f2d01cb6
Fix #4326 - Prevent later remapping of properties 2021-01-29 11:39:55 +01:00
Matt Brown
1915f34959
Fix #4326 - prevent more mapping than necessary 2021-01-29 11:39:55 +01:00
Matt Brown
84126fbbca
Fix #4327 - make sure loop always returns 2021-01-29 11:39:55 +01:00
Marcus Bointon
fb505df807
Fix preg_match_all stub (#4325)
* preg_match_all can return false

* Test for preg_match_all returning false

* Fix test

* Add @psalm-ignore-falsable-return
2021-01-29 11:39:55 +01:00
Matt Brown
8d1de7757d
Use more accurate arguments count 2021-01-29 11:39:55 +01:00
Matt Brown
c00bc4ee51
Add better support for get_debug_type 2021-01-29 11:39:54 +01:00
Matt Brown
0f8b017384
Prevent features pre-php-8 2021-01-29 11:39:54 +01:00
Matt Brown
4acaf40f26
Avoid crash when callable type is missing 2021-01-29 11:39:54 +01:00
Pol Dellaiera
2b437ad672
Add more standard iterators (#4320)
* Add CachingIterator, LimitIterator, InfiniteIterator, CallbackFilterIterator, NoRewindIterator.

Signed-off-by: Pol Dellaiera <pol.dellaiera@protonmail.com>

* Add related Iterator tests.

Signed-off-by: Pol Dellaiera <pol.dellaiera@protonmail.com>
2021-01-29 11:39:54 +01:00
Matt Brown
399a7bfd11
Fix #4315 - prevent crash when setting unknown property in finally 2021-01-29 11:39:54 +01:00
Matt Brown
278a306681
Do arithmetic for preg_split arguments 2021-01-29 11:39:53 +01:00
Matt Brown
78380c591b
Fix #4274 - don’t ignore mixed union in array_shift operation 2021-01-29 11:39:53 +01:00
orklah
6e3546d900
return types (#4311)
* return types

* remove willReturn for void methods
2021-01-29 11:39:53 +01:00
Matt Brown
bb42c12d7b
Fix #4310 - prevent literal class check on union 2021-01-29 11:39:53 +01:00
Matt Brown
eb89e0142f
Fix #4309 - improve reuse of callmap callable inference 2021-01-29 11:39:52 +01:00
Matt Brown
68526c39ad
Add better return type for preg_split 2021-01-29 11:39:52 +01:00
Matt Brown
0934988ec7
Don’t merge array and Traversable to iterable when there are intersections 2021-01-29 11:39:52 +01:00
Matt Brown
aaed95a0a9
4.x - Prevent passing empty array to max or min 2021-01-29 11:39:52 +01:00
Matt Brown
6310aff7e5
4.x - skip Stringable test if not in PHP 8.0 2021-01-29 11:39:52 +01:00
Matt Brown
056f546a38
4.x - detect falty !is_resource checks 2021-01-29 11:39:51 +01:00
Matt Brown
01781af718
Fix #4306 - negating positive-numeric is useless, avoid crash 2021-01-29 11:39:51 +01:00
Matt Brown
4f5a3ca82b
Fix #4299 - only allow unpacking for the zeroeth-indexed element 2021-01-29 11:39:51 +01:00
Matt Brown
6bd6a4cbc3
Ignore precondition issues in loop 2021-01-29 11:39:51 +01:00
Matt Brown
f1be27b18a
Fix addition of int and string type 2021-01-29 11:39:50 +01:00
Matt Brown
49dcec6d4a
Fix #4287 - intersection of regular arrays should not result in crash 2021-01-29 11:39:50 +01:00
Matt Brown
3f5cb4db1f
Warn about impossible/redundant conditions in RHS of || 2021-01-29 11:39:50 +01:00
Matt Brown
d1b81e9b80
Improve error message 2021-01-29 11:39:50 +01:00
Matt Brown
2a755cce8c
Always check LHS of or condition before applying to RHS 2021-01-29 11:39:49 +01:00
feek
a19f738967
feature: universal object crates (#3948)
* feature: universal object crates

* docs: document universal object crate config option

Co-authored-by: Matthew Brown <github@muglug.com>
2021-01-29 11:39:48 +01:00
Matt Brown
580d3e2b61
Fix tests 2021-01-29 11:39:48 +01:00
Matt Brown
9bbb11599a
4.x - change/remove some default config values 2021-01-29 11:39:48 +01:00
Matt Brown
ca03d84776
Remove by-ref 2021-01-29 11:39:48 +01:00
Matt Brown
67d995b67f
4.x - Prevent AfterFunctionCallAnalysisInterface from rewriting return types 2021-01-29 11:39:47 +01:00
Matt Brown
ffcae7c7a9
Add support for Stringable 2021-01-29 11:39:47 +01:00
Matt Brown
15f51a3a0c
Ensure PHP 8 continuation of 7.4 method signature features 2021-01-29 11:39:47 +01:00
Matt Brown
7247dbae61
Skip faulty documentation key 2021-01-29 11:39:47 +01:00
Matt Brown
956199c688
4.x - add support for the nullsafe operator 2021-01-29 11:39:47 +01:00
Matt Brown
6dc45bbcb7
Fix @no-named-arguments more 2021-01-29 11:39:46 +01:00
Matt Brown
cb5630d156
4.x - Support named arguments
Ref #4089
2021-01-29 11:39:45 +01:00
Matt Brown
510f1e75cd
Promoted properties are always initialized 2021-01-29 11:39:45 +01:00
Matt Brown
613ce96582
Support property type promotion ref #4089 2021-01-29 11:39:45 +01:00
Matt Brown
f63a40f69b
Fix #4266 - prevent OOM when analysing closure unioned with invokable class 2021-01-29 11:39:44 +01:00
Matt Brown
a4b6cb83db
Fix #4264 - prevent crash when analysing file with duplicate classes 2021-01-29 11:39:44 +01:00
Matt Brown
a6e3d46d62
Treat func_get_args as using function params 2021-01-29 11:39:44 +01:00
Matt Brown
63953d5676
4.x - refactor unused variable detection
This turns unused variable detection into an explicit control-flow problem, where before we had a more simplistic mark-and-sweep algorithm
2021-01-29 11:39:44 +01:00
Matt Brown
5351a07cea
Fix analysis when there’s a break in a loop after a reassignment 2021-01-29 11:39:43 +01:00
Brown
5e8e183667
Add improvements from unused variable checks 2021-01-29 11:39:43 +01:00
Brown
ee2149342e
Add more unused variable tests 2021-01-29 11:39:43 +01:00