1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-04 18:48:03 +01:00
Commit Graph

3558 Commits

Author SHA1 Message Date
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
Brown
cf2872c285
Ensure loop marks vars as possibly assigned 2021-01-29 11:39:43 +01:00
Bruce Weirdan
ecec9dd040
Fixes crash due to class/filename mismatch (#4247)
Introduced in 56cddd16bf
2021-01-29 11:39:43 +01:00
Brown
f5019d92e2
Fix unused var in finally false-positive 2021-01-29 11:39:43 +01:00
Brown
1893147aed
Prevent duplicate switch return types 2021-01-29 11:39:43 +01:00
Brown
5177511a72
Fix test result 2021-01-29 11:39:42 +01:00
Brown
999a8aa4a8
Move taint graph functionality into its own object 2021-01-29 11:39:42 +01:00
Brown
d666d93950
Add more tests for unused variables 2021-01-29 11:39:42 +01:00
orklah
e3e5a55907
unused use statements (#4228) 2021-01-29 11:39:42 +01:00
Brown
d40cc0b35b
Skip currently-failing undefined variable test 2021-01-29 11:39:41 +01:00
Brown
734b9c3833
Detect more issues inside finally block 2021-01-29 11:39:41 +01:00
Brown
0856354b48
Rename TaintGraph to ControlFlowGraph because it’s about to do more 2021-01-29 11:39:41 +01:00
Brown
364f8f1a01
Add back necessary suppression 2021-01-29 11:39:40 +01:00
Brown
c288dac4de
Fix tests 2021-01-29 11:39:40 +01:00
Brown
dbe4b4c708
Localise taint analysis better 2021-01-29 11:39:40 +01:00
Brown
291c067dc5
Rename Taint object to TaintGraph 2021-01-29 11:39:40 +01:00
orklah
9f00b8536a
fix test on windows (#4225) 2021-01-29 11:39:40 +01:00
orklah
f1aba254be
Use array destructuring when possible (#4221)
* list usage

* fix inversion
2021-01-29 11:39:39 +01:00
Brown
c0bf0a8fa7
Fix #4198 - make analysis of class-string property assignments more robust 2021-01-29 11:39:39 +01:00
orklah
b559951bf4
replace deprecated methods with their equivalent (#4217) 2021-01-29 11:39:39 +01:00
orklah
3652d51275
Remove empty() and use strict comparison when safe (#4211)
* replace empty usage with stricter checks

* use strict comparison when safe

* replace is_null with === null for consistency
2021-01-29 11:39:39 +01:00
Brown
ec64ae930a
Fix a couple of false-positive redundant conditions 2021-01-29 11:39:38 +01:00
Brown
1b10f11217
Fix tests 2021-01-29 11:39:38 +01:00
Brown
ff2c18aa67
Fix #4208 - array with possibly-undefined keys isn‘t really sealed 2021-01-29 11:39:38 +01:00
Brown
e7333ec4db
Fix #4209 - allow hinting arrow function return type 2021-01-29 11:39:38 +01:00
Brown
1b6ecfc128
Fix #4210 - fix __invoke declaration tracing 2021-01-29 11:39:38 +01:00
Brown
7e534d14d0
Improve accuracy of array_filter 2021-01-29 11:39:37 +01:00
Brown
f8e7b649c7
Improve array_merge return type 2021-01-29 11:39:37 +01:00
Brown
95cc274192
Support more array intersections in type parsing 2021-01-29 11:39:37 +01:00
Brown
376a825161
Fix regression – detect unused params with defaults again 2021-01-29 11:39:37 +01:00
Brown
5e6b158dd9
Do no writing when saving parser cache in tests 2021-01-29 11:39:36 +01:00
Brown
270f9de20a
Fix a few more things 2021-01-29 11:39:36 +01:00
Brown
e9fb3dcad2
Fix various things 2021-01-29 11:39:36 +01:00