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