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
Brown
d53a9313a5
Fix stub test
2021-01-29 11:39:36 +01:00
Brown
0b66e8897c
Add check for strpos dictionaries
...
Ref #4070
2021-01-29 11:39:36 +01:00
Brown
db55f608be
Fix #4122 - detect yield in function arguments
2021-01-29 11:39:36 +01:00
Brown
168972e91a
Fix #4178 - always detect missing property types
2021-01-29 11:39:36 +01:00
Bruce Weirdan
b27a233cdd
Support multiple issue types in @psalm-suppress
( #4179 )
...
* Accept multiple issue names in `@psalm-suppress`
Fixes vimeo/psalm#1575
* Accept multiple issue types on statement docblocks as well
* Proper highlighting of individual issues in compound suppressions
2021-01-29 11:39:36 +01:00
Bruce Weirdan
4319132057
Added @psalm-stub-override
for classlikes and methods ( #4177 )
...
Fixes vimeo/psalm#1252
2021-01-29 11:39:34 +01:00
orklah
865b36cd3d
replace return;
by return null;
in every non-void method, add return null;
when mising, add return types, remove redundant phpdoc ( #4176 )
2021-01-29 11:38:58 +01:00
Brown
29481ed1bd
Fix #4127 - improve error message for unused closure var
2021-01-29 11:38:58 +01:00
ygottschalk
c361f86c68
added array-size max constraint to greater check ( #4175 )
...
added a few unit tests
2021-01-29 11:38:58 +01:00
Brown
5d04368d98
Fix #4169 - add appropriate bounds check
2021-01-29 11:38:57 +01:00
orklah
db45ff1ba4
More return types ( #4173 )
...
* add native return types
* redundant phpdoc
2021-01-29 11:38:57 +01:00
Brown
0116284d16
Improve unique issue solution
2021-01-29 11:38:57 +01:00
Brown
568cbfb1be
Fix tests
2021-01-29 11:38:56 +01:00
Brown
ca0608d92a
Fix #4070 - prevent literal strpos argument
2021-01-29 11:38:56 +01:00
Brown
c291b93bbe
Fix #4167 - allow many issues for the same position
2021-01-29 11:38:56 +01:00
Brown
b84e88f342
Fix #4154 - treat literal numeric strings as numeric
2021-01-29 11:38:56 +01:00
Brown
b148221e18
Always detect return type mismatches from docblock parents
2021-01-29 11:38:56 +01:00
Brown
539bc13cb3
Fix some signatures
2021-01-29 11:38:55 +01:00
Brown
cbb97c42a8
Fix #4146 - allow null checks on Iterator::current output
2021-01-29 11:38:55 +01:00
Brown
e7730c2b34
Fix #4148 - add Closure to scanned classes when arrow function is seen
2021-01-29 11:38:55 +01:00
orklah
1348e61afb
add native param types ( #4137 )
...
* add native param types
* redundant phpdoc
* add more param types and adds "?" to nullable types
* remove redundant phpdoc
* add more param types and remove redundant phpdoc
* add more param types and remove redundant phpdoc
2021-01-29 11:38:54 +01:00
Matthew Brown
274d19c649
Prevent variables named "haystack" from receiving literal strings
...
cc @staabm
2021-01-29 11:38:54 +01:00
Matthew Brown
4dc045f30d
Support analysing preg_match_all args in reverse to infer matches type
2021-01-29 11:38:54 +01:00
Brown
f7474faff2
Hard code possible bit-shift values
2021-01-29 11:38:54 +01:00