Matt Brown
|
559abb7b6a
|
Fix style
|
2020-10-17 14:50:14 -04:00 |
|
Matt Brown
|
9f29e77adc
|
Fix #4354 - allow assignments on RHS of || in if conditional
|
2020-10-17 12:29:57 -04:00 |
|
Matt Brown
|
083cc29c04
|
Fix #4347 - fix combinatorial expansion when negating if conditions
|
2020-10-16 10:23:15 -04:00 |
|
Matt Brown
|
8d2e88ef41
|
Fix #4333 - don’t get tripped up on try with no catches
|
2020-10-15 10:15:55 -04:00 |
|
Matt Brown
|
724b25b918
|
Change control_flow_graph to data_flow_graph
|
2020-10-13 17:28:12 -04:00 |
|
orklah
|
10f2966dcb
|
return types (#4311)
* return types
* remove willReturn for void methods
|
2020-10-12 15:02:52 -04:00 |
|
Matt Brown
|
549b200aa7
|
Remove mixed assignment issue
|
2020-10-04 17:53:26 -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 |
|
Brown
|
c4450b930c
|
Fix various things
|
2020-09-13 22:39:03 -04:00 |
|
orklah
|
da47588f91
|
replace return; by return null; in every non-void method, add return null; when mising, add return types, remove redundant phpdoc (#4176)
|
2020-09-13 16:39:06 -04:00 |
|
orklah
|
ead107fa9e
|
More return types (#4173)
* add native return types
* redundant phpdoc
|
2020-09-12 11:24:05 -04:00 |
|
Brown
|
eda426a594
|
Improve unique issue solution
|
2020-09-10 22:54:30 -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
|
988e17f11d
|
Make clause fully immutable
|
2020-08-26 15:35:29 -04:00 |
|
Brown
|
8ad1c2eeb1
|
Use immutable data structures for clause calculations
|
2020-08-26 10:41:47 -04:00 |
|
Brown
|
76bd5b6278
|
Refactor type comparison
|
2020-07-21 19:40:35 -04:00 |
|
Brown
|
9ca6c868b7
|
Fix #3563 - add workaround for == true
|
2020-06-12 10:58:44 -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 |
|
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 |
|
Matthew Brown
|
c85fa9083d
|
Fix #2915 - prevent "if (true)" and similar
|
2020-03-15 22:23:31 -04:00 |
|
Matthew Brown
|
6c7f89b0ab
|
Fix #2920 - track unevaluated code after nested returns
|
2020-03-15 14:31:41 -04:00 |
|
Matthew Brown
|
bfb919d26a
|
Break out methods into their own classes
|
2020-03-11 23:04:52 -04:00 |
|
Brown
|
15808458cc
|
Better understand nesting loops and switches
Fixes #2700
|
2020-01-27 12:17:12 -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
|
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 |
|
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 |
|
Matthew Brown
|
83b10bb9af
|
Fix #2426, or at least some of it
|
2019-12-08 00:49:34 -05:00 |
|
Matthew Brown
|
2b6831ba10
|
Fix too-long line
|
2019-12-07 01:38:24 -05:00 |
|
Matthew Brown
|
df395944f8
|
Change how $changed_var_ids is communicated
|
2019-12-07 01:23:35 -05:00 |
|
Brown
|
ef44bd104e
|
Consolidate some fixes from the binaryop branch
|
2019-12-06 12:47:27 -05:00 |
|
Brown
|
8ff33ee64d
|
Fix #1943 - give up analysing really complicated conditionals
|
2019-12-05 10:26:53 -05:00 |
|
Brown
|
0bcb7863f3
|
Use better system for storing inferred types and assertions
|
2019-11-25 11:44:54 -05:00 |
|
Brown
|
7b719915f5
|
Fix style things
|
2019-11-12 10:21:27 -05:00 |
|
Brown
|
7f5af741f7
|
Improve assertion calculation on mixed vars
|
2019-11-12 10:12:07 -05:00 |
|
Brown
|
fbd1cf0a71
|
Fix #2322 - don’t update outer context if elseif has no leaving statements
|
2019-11-11 11:46:27 -05:00 |
|
Brown
|
2be489c527
|
Fix regression when identifying clauses in error
|
2019-10-18 15:06:37 -04:00 |
|
Matthew Brown
|
e8618371fb
|
Refine isset checks
|
2019-10-17 01:09:21 -04:00 |
|
Matthew Brown
|
54a31f8cff
|
Be more scrupulous about mixed vars
|
2019-10-17 00:29:51 -04:00 |
|
Matthew Brown
|
29902c8b99
|
Fix #2237 - suppress reconciling issues when inherited clauses couldn’t be resolved into types
|
2019-10-16 21:55:11 -04:00 |
|
Brown
|
6b012f8fa6
|
Use smarter type merging when analysing if statements
|
2019-10-08 13:07:28 -04:00 |
|
Matthew Brown
|
fdbea45534
|
Fix #2159 - only apply elseif conditions to vars that exist in main context
|
2019-09-21 16:58:31 -04:00 |
|
Matthew Brown
|
853e92e7fc
|
Fix #2073 - better understand assignments inside elseif
|
2019-08-26 22:55:28 -04:00 |
|