Matthew Brown
|
4b388a2951
|
Fix ref
|
2020-05-10 11:35:35 -04:00 |
|
Brown
|
55222573ea
|
Mark as possibly-undefined any variable that wasn’t present when the loop began
Fixes #3332
|
2020-05-10 11:17:50 -04:00 |
|
Brown
|
9e6797d297
|
Add protection from ComplicatedExpression
|
2020-04-30 22:23:07 -04:00 |
|
Brown
|
189cd2bdc8
|
Fix key stringg
|
2020-04-27 00:50:07 -04:00 |
|
Brown
|
755ada9114
|
Fix #3234 - infer iterator key types properly
|
2020-04-27 00:41:34 -04:00 |
|
Brown
|
e1c6fcc707
|
Fix #3215 - suppress PossiblyUndefinedMethod in synthetic call
|
2020-04-24 00:11:32 -04:00 |
|
Brown
|
b0455adced
|
Fix #3177 - prevent crash by using inherited templates
|
2020-04-18 11:48:22 -04:00 |
|
Brown
|
e17cfd8dba
|
Fix #3125 - only apply clauses where applicable
|
2020-04-12 21:50:10 -04:00 |
|
Brown
|
d530fce4b3
|
Fall through with PossiblyInvalidIterator issue
|
2020-04-11 11:17:54 -04:00 |
|
Brown
|
556d5625b5
|
Prevent Throwable being intersected with itself
|
2020-04-10 00:10:31 -04:00 |
|
Brown
|
b2e010b431
|
Fix #3102 - identify issues with possibly-mixed output
|
2020-04-08 14:07:09 -04:00 |
|
Brown
|
550ba0a4c9
|
Compare to real outer context, not if one
Fixes #3091
|
2020-04-07 15:13:17 -04:00 |
|
Brown
|
61c979136f
|
Fix #3091 - simplify elseif negated clauses where possible
|
2020-04-07 13:04:24 -04:00 |
|
Brown
|
067104e170
|
Fix #3084 - keep track of upper and lower bounds of inferred template types
|
2020-04-07 00:13:56 -04:00 |
|
Matthew Brown
|
b46e147735
|
Add some limits on switch case assertion calculation
Ref #2728
|
2020-03-30 00:20:00 -04:00 |
|
Matthew Brown
|
86a89b2d27
|
Fix #3034 - expand out while expressions for more accurate variable initialisation
|
2020-03-28 18:22:08 -04:00 |
|
Matthew Brown
|
47c1470e3b
|
Refactor reference checks to use more appropriate properties
|
2020-03-28 16:30:56 -04:00 |
|
Tyson Andre
|
e560858b23
|
Fix grammar nit in "is can never happen" message (#3025)
Should either be "is impossible" or "can never happen"
|
2020-03-27 17:32:49 -04:00 |
|
Brown
|
971ae50bea
|
Do prep work for #3024 - improve handling of absent class references
|
2020-03-26 12:35:27 -04:00 |
|
Matthew Brown
|
c85fa9083d
|
Fix #2915 - prevent "if (true)" and similar
|
2020-03-15 22:23:31 -04:00 |
|
Matthew Brown
|
b6380ae595
|
Fix false-positives around unevaluated code
|
2020-03-15 14:43:05 -04:00 |
|
Matthew Brown
|
6c7f89b0ab
|
Fix #2920 - track unevaluated code after nested returns
|
2020-03-15 14:31:41 -04:00 |
|
Matthew Brown
|
43189b3d55
|
Allow types to be traversed
|
2020-03-14 23:54:51 -04:00 |
|
Matthew Brown
|
54d38e562f
|
Fix #2970 - use correct unreferenced vars when analysing do
|
2020-03-13 11:41:17 -04:00 |
|
Matthew Brown
|
bfb919d26a
|
Break out methods into their own classes
|
2020-03-11 23:04:52 -04:00 |
|
Sergey Melesh
|
a5da866d97
|
Ignore exceptions already caught by previous catch
|
2020-03-08 20:19:56 -05:00 |
|
Matthew Brown
|
d3bfb96431
|
Fix #2808 - improve yield type discernment
|
2020-02-15 10:47:07 -05:00 |
|
Brown
|
f141f7c526
|
Improve --diff checks by including trait-using classes in dependents
|
2020-02-11 16:39:33 -05:00 |
|
Matthew Brown
|
5eb2ebc508
|
Add more type-system protections for bad array args
|
2020-01-29 23:41:17 -05:00 |
|
Brown
|
15808458cc
|
Better understand nesting loops and switches
Fixes #2700
|
2020-01-27 12:17:12 -05:00 |
|
Brown
|
53b0650c6c
|
Fix #2688 - foreach loop evaluation should allow changing loop var
|
2020-01-24 13:55:30 -05:00 |
|
Matthew Brown
|
1c8af2fdc7
|
Fix #2658 - catch exceptions thrown inside catch
|
2020-01-17 12:05:37 -05:00 |
|
Matthew Brown
|
4888ae67a6
|
Fix #2558 - remove wedge clauses when they’re the only thing left
|
2020-01-06 08:56:50 -05:00 |
|
Matthew Brown
|
8ecb8555e2
|
Fix count
|
2020-01-04 13:12:22 -05:00 |
|
Matthew Brown
|
37fb15250c
|
Add check for only simplest conditionals
|
2020-01-04 13:09:55 -05:00 |
|
Matthew Brown
|
8cbc26c2f1
|
Add range checks to identify for loops that always enter
|
2020-01-04 13:05:23 -05:00 |
|
Matthew Brown
|
9fa2db1b6c
|
Move Union::getTypes to Union::getAtomicTypes
|
2020-01-04 12:20:26 -05:00 |
|
Matthew Brown
|
ba6d0df048
|
Fix #2546 properly
|
2020-01-04 11:16:53 -05:00 |
|
Brown
|
0e39759ed6
|
Improve solution to #2546 slightly
|
2020-01-03 10:56:47 -05:00 |
|
Brown
|
ca1e65b29b
|
Handle iterators better
|
2020-01-02 10:41:43 -05:00 |
|
Matthew Brown
|
25e7039f02
|
The current method is used
Fixes #2540
|
2020-01-01 18:33:12 -05:00 |
|
Matthew Brown
|
c79ba0b09e
|
Include non-empty-string type in more places
|
2019-12-30 07:25:36 -05:00 |
|
Matthew Brown
|
55c2f7faa2
|
Fix #2508 - don’t replace templated types with generic ones inside own function
|
2019-12-28 18:38:02 -05:00 |
|
Matthew Brown
|
ce9435da19
|
Fix #2521 - use correct context class when analysing trait
|
2019-12-28 15:56:26 -05:00 |
|
Matthew Brown
|
4c8730c5a3
|
Improve handling of unset array, ensuring that keys don’t persevere
|
2019-12-22 01:42:39 +00:00 |
|
Matthew Brown
|
a4191171bf
|
Fix #2483 - treat intersecting PHPDocs from interfaces better
|
2019-12-20 01:42:57 +00:00 |
|
Brown
|
2469f04715
|
Improve reconciliation of arrays with constant offsets
|
2019-12-13 17:17:14 -05:00 |
|
Brown
|
05783eb616
|
Find issues with impossible property values
|
2019-12-11 17:08:02 -05:00 |
|
Brown
|
e476eed111
|
Fix issue where inside_conditional is forgotten
|
2019-12-11 12:06:10 -05:00 |
|
Matthew Brown
|
02fbf12337
|
Only warn about clauses in the currently-scanned conditional
|
2019-12-08 16:35:56 -05:00 |
|