orklah
ffe7874906
Misc improvements ( #4314 )
...
* extract the operation out of the loop when possible
* remove unnecessary interfaces when already inherited in parent
* simplify expressions
* avoid using alias functions
* redundant phpdoc
* unused imports
2020-10-15 13:23:35 -04:00
Matt Brown
464795d86c
Fix #4309 - improve reuse of callmap callable inference
2020-10-12 13:46:43 -04:00
Matt Brown
14efde286f
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
2020-09-30 12:28:13 -04:00
orklah
8c7423505a
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
2020-09-06 19:36:47 -04:00
orklah
f66d57f19d
add native return types ( #4116 )
...
* add native return types
* remove redundant phpdoc
2020-09-04 16:26:33 -04:00
Brown
92239add4d
Add some backwards-incompatible changes for 4.x
2020-08-30 11:44:14 -04:00
Brown
ad1920c3a2
Fix #3910 - improve handling of fgetcsv
2020-07-30 14:21:55 -04:00
Brown
76bd5b6278
Refactor type comparison
2020-07-21 19:40:35 -04:00
Brown
7a7cd91c24
Fix #3631 - better treatment for assignments in complex conditionals
2020-06-24 13:16:52 -04:00
Brown
1f86afece7
Revert "Fix #3631 - apply assertions to RHS of equality in conditional"
...
This reverts commit 9c17795545
.
2020-06-22 20:01:27 -04:00
Brown
9c17795545
Fix #3631 - apply assertions to RHS of equality in conditional
2020-06-22 15:16:16 -04:00
Brown
ecb179c784
Migrate min/max function calls back to CallMap
2020-05-26 12:28:56 -04:00
Brown
118b700436
Simplify sink mapping for internal calls
2020-05-25 13:10:06 -04:00
Matthew Brown
187b944680
Add faster taint analysis
2020-05-22 12:33:29 -04:00
Brown
0b2da18f1e
Break up StatementsAnalyzer
2020-05-19 12:56:30 -04:00
Brown
111303d913
Add non-empty-lowercase-string type
2020-05-15 10:18:05 -04:00
Brown
291018034b
Remove unnecessary PHP code
2020-05-11 11:36:50 -04:00
Brown
fea1310d67
Fix #3092 - round always returns a float
2020-04-09 23:31:26 -04:00
Brown
69045daea9
Convert a bunch of custom-handled functions to conditional stubbed ones
2020-04-07 16:48:29 -04:00
Brown
ae31ec6805
Fix resolution of get_called_class
2020-03-27 09:51:53 -04:00
Matthew Brown
af9e362c80
Fix indentation
2020-03-15 14:14:53 -04:00
Matthew Brown
73badf59d1
Fix #2925 - ignore null return type for array_replace_recursive
2020-03-15 14:07:55 -04:00
Brown
3c416482ec
Fix #2932 - don’t crash when trying to expand callable object-like array
2020-03-09 10:56:37 -04:00
Matthew Brown
653353709a
Use MethodIdentifier object instead of string
2020-02-14 20:54:26 -05:00
Matthew Brown
9fa2db1b6c
Move Union::getTypes to Union::getAtomicTypes
2020-01-04 12:20:26 -05:00
Matthew Brown
ec292f58dc
Move explode handling into its own file
2019-12-30 16:39:37 -05:00
Brown
0bcb7863f3
Use better system for storing inferred types and assertions
2019-11-25 11:44:54 -05:00
Brown
96586f16c0
Fix phpcs issues
2019-11-11 10:11:42 -05:00
Pavel Batečko
b229ac875d
Improve return types of explode() with limit ( #2286 )
2019-11-02 10:10:38 +01:00
Matthew Brown
03c39cbe7c
Fix #2223 - make sure lists are handled in more places
2019-10-10 20:16:43 -04:00
Brown
99c91efbc6
Add support for reconciling callable lists
2019-10-10 10:34:31 -04:00
Brown
b75720c32b
Add more list types
2019-10-09 10:04:34 -04:00
Matthew Brown
9ad6c36d9b
Conditionally verify that array offsets exist ( #2147 )
...
* Check array offsets idea
* Clean up some issues
* Add a few light fixes
* Add docs
2019-09-18 14:21:06 -04:00
Brown
d6e084ec9c
Remove false-positive for callmap function arg
2019-08-13 14:53:31 -04:00
Matthew Brown
7533949667
Preserve taintedness of str_replace
2019-08-13 08:07:16 -04:00
Matthew Brown
d5b026839c
Add support for different taint types ref #1990
2019-08-12 23:16:05 -04:00
Brown
58b6d8bed4
Fix #2012 - count(callable-array) is fine and always equals 2
2019-08-12 16:17:55 -04:00
Brown
59dd6393f5
Fix #1953 - support third arg for explode
2019-07-17 14:13:34 -04:00
LeSuisse
f29826b958
Fully qualify constants and function calls ( #1849 )
...
This should give a small performance boost.
Part of #1837 .
The change is enforced via phpcs and can be autofixed
with phpcbf.
2019-06-26 16:52:29 -04:00
Brown
29eda50ed9
Fix #1716 - no notice when using single arg in min
2019-06-03 10:33:54 -04:00
Brown
41c722448a
Fix #1531 - improve hrtime return type
2019-04-03 17:08:37 -04:00
Tyson Andre
6f7295ed13
Remove unused use statements
2019-03-03 22:22:36 -05:00
Matthew Brown
cdae79b9fe
Fix unnecessary params in Psalm codebase
2019-02-23 11:31:33 -05:00
Bruce Weirdan
8408effe57
Dropped unused uses
2019-02-17 13:17:45 -05:00
Matthew Brown
d76459e138
Move to a PHPStan-like return type provider class model
2019-02-15 18:00:40 -05:00
Brown
d70e29508f
Don’t fatal error when callable class does not exist
2019-02-15 12:02:44 -05:00
Matthew Brown
f8f5ddfb04
Add support for string range
2019-02-07 10:50:42 -05:00
Brown
f33415827e
Add checks for rounded values
2019-01-28 11:57:49 -05:00
Matthew Brown
cd4d2027d0
Fix #1249 - allow iterator_to_array to respect getIterator method
2019-01-27 14:50:05 -05:00
Matthew Brown
22ee72808a
Remove a bunch of hacks around generic offsets
...
Also fixes #1245
2019-01-26 16:58:49 -05:00