orklah
0e17a3354f
add stubs for standard iterators ( #4725 )
...
* add stubs for standard iterators
* Apply suggestions from code review cc @weirdan
Co-authored-by: Bruce Weirdan <weirdan@gmail.com>
* complete stub + delete code made redundant by stubs + fix some syntax in stubs
* fix parse error
Co-authored-by: Bruce Weirdan <weirdan@gmail.com>
2021-01-07 10:07:07 -05:00
Adrien LUCAS
0f5886746f
Taint specialized calls even when not using a variable ( #4940 )
2021-01-06 14:14:52 -05:00
orklah
f9fccb2b2d
implement DTO for plugins ( #4881 )
...
* implement DTO for plugins
* introduce EventHandler + reintroduce legacy API for plugins
2021-01-06 09:05:53 -05:00
orklah
bcc378bd20
handle concatenation with int parts ( #4938 )
2021-01-06 09:01:53 -05:00
Matthew Brown
3fd47f9e10
Add comments to AtomicMethodCallAnalyzer and suppress ComplexMethod
2021-01-05 19:03:50 -05:00
Matthew Brown
e4b1a4fa55
Uncomment erroneously-commented return
2021-01-05 17:49:17 -05:00
orklah
c47230c690
Infer result of modulo 1 operation statically ( #4926 )
2021-01-03 16:56:04 +00:00
Tyson Andre
00b42bf4f7
Check if included files are listed in mustBeIgnored ( #4911 )
...
Previously, when a file was included in `include()`, it was not subject
to ignoreFiles
Related to #4876
2020-12-29 14:05:17 +00:00
Matthew Brown
ddd99970a9
Fix #4901 - simplify mapping of template types within class
2020-12-29 12:24:33 +00:00
orklah
1d9987e0ed
fix phpdoc ( #4905 )
2020-12-29 11:42:41 +00:00
orklah
3684ceff4c
Illegal offset ( #4865 )
...
* Illegal offset access
* add tests
* fix tests
2020-12-26 10:33:49 +00:00
Bruce Weirdan
89ff4282df
Allow assertions on static class properties ( #4833 )
...
* Minimal implementation for assertions on static properties
* Added inheritance tests
* Add support for `ClassName::$var`
* Import strpos() to keep phpcs happy
* Add support for conditional assertions on static properties
2020-12-21 17:05:44 +00:00
Matt Brown
6eae582763
Prevent mixed array offset in array creation
...
Fixes #4846
2020-12-16 08:18:18 -05:00
Matt Brown
c7087c150b
Fix #4848 - use better inference when incorrect array keys are passed
2020-12-16 08:07:57 -05:00
Matt Brown
e43f2259ea
Fix #4839 - undefined possibly set in by-reference should be treated as such
2020-12-14 16:57:48 -05:00
orklah
8974da5610
preserve analyzers until the end of file ( #4834 )
...
* preserve analyzers until the end of file
* remove unused variable
2020-12-13 01:17:13 -05:00
2e3s
d8d6811ed4
Memoize private inferred mutation-free methods ( #4832 )
2020-12-12 10:26:14 -05:00
Matt Brown
cc1c643168
Fix #4829 – don’t crash when yielding non-existent class
2020-12-11 10:04:28 -05:00
Matt Brown
a27c674cee
Add test for #4825
2020-12-10 13:51:49 -05:00
Matt Brown
8cae4047b0
Fix #4825 - check for finally var set
2020-12-10 11:48:43 -05:00
Matt Brown
2a92025737
Union types if stmt already has one
2020-12-10 01:40:20 -05:00
Matt Brown
b7a7e2fb87
Fix get magic property checks
2020-12-10 01:29:07 -05:00
Matt Brown
524084a64c
Tighten up rules arouund when mutation-free methods get memoised
2020-12-08 16:39:06 -05:00
2e3s
e46c68b1e5
Overwrite memoized return type after sum-type candidate is calculated ( #4805 )
...
* Overwrite memoized return type after sum-type candidate is calculated
* Fix mismatched types
* Fix code style
2020-12-08 09:35:11 -05:00
Matt Brown
91ee4aeca3
Fix #4797 - sanitise assertion output of template result
2020-12-07 19:11:56 -05:00
Matt Brown
f5dd6e76f8
Fix #4802 - don’t clone context when analysing coalesce
2020-12-07 14:30:57 -05:00
Matthew Brown
d406d5b112
Fix typo
2020-12-07 01:32:18 -05:00
Matt Brown
e702e472fc
Support simple list assignment in foreach
...
Ref #4741
2020-12-06 19:14:52 -05:00
Matt Brown
9c0e9a3d7e
Taint all when conditional return is used
...
Ref #4792
2020-12-06 11:24:48 -05:00
Matt Brown
4d1aae43f9
Fix #4778 - remove already-initialized properties when checking initialisation
2020-12-06 11:07:59 -05:00
Matt Brown
cec8d7138f
Fix #4782 - don’t replace closure types with upper bounds when replacing class param types
2020-12-05 11:58:55 -05:00
Matt Brown
1bb8b73f99
Return earlier
2020-12-05 10:25:34 -05:00
orklah
62d5ea83a1
Allow int casts if the type comes from calculation ( #4768 )
2020-12-03 23:15:07 -05:00
Matt Brown
0411049559
Mixed array access should mark vars as used just in case
2020-12-03 13:09:08 -05:00
Matt Brown
2feba22a00
Make more try vars potentially undefined
...
Fixes #4764
2020-12-03 11:44:10 -05:00
Matt Brown
51a92aa223
Fix interface property regression
2020-12-03 11:13:10 -05:00
Matt Brown
bef9ab37e6
Fix #4759 – don’t generate assertion when assigning to same-named variable
2020-12-03 09:42:26 -05:00
Denis Smetannikov
11576951f6
Update ExistingAtomicStaticCallAnalyzer.php ( #4761 )
...
The invalid syntax for PHP 7.1+
2020-12-03 09:24:34 -05:00
Matt Brown
1a5d5e4476
Simplify FunctionLikeDocblockScanner
2020-12-03 00:19:01 -05:00
Matt Brown
e2a2e8ee87
Break apart AtomicPropertyFetchAnalyzer::analyze
2020-12-02 23:37:29 -05:00
Matt Brown
2f00500c91
Improve message
2020-12-02 22:08:14 -05:00
Matt Brown
6f916553a8
Ref #4753 - allow int literals to inform key type
2020-12-02 17:13:45 -05:00
Matt Brown
e2bb02e93c
Don’t suggest a potential value that’s undefined
...
Fixes #4754
2020-12-02 14:49:30 -05:00
Matt Brown
f0876b86f4
Avoid false-positives while analysing memoised coalesce
2020-12-02 02:25:15 -05:00
Matt Brown
394eceb01c
Memoize coalesce expression in more scenarios
2020-12-02 02:15:17 -05:00
Matt Brown
928fdda00f
Don’t do new isset conversion on try-set vars
2020-12-02 01:47:49 -05:00
Matt Brown
1feca322d5
Fix loading imported functions
2020-12-02 00:52:35 -05:00
Matt Brown
5a200ca442
Fix assertions on unions
2020-12-01 21:12:03 -05:00
Matt Brown
61e374f33b
Fix null array access complaints
2020-12-01 20:10:48 -05:00
Matt Brown
1a629ccc82
Fix a few issues
2020-12-01 18:26:15 -05:00