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 |
|