Matt Brown
c07378a713
Fix #4467 - variables are only the same if they were set in the same location
2021-01-29 11:45:01 +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
cf2872c285
Ensure loop marks vars as possibly assigned
2021-01-29 11:39:43 +01:00
orklah
db45ff1ba4
More return types ( #4173 )
...
* add native return types
* redundant phpdoc
2021-01-29 11:38:57 +01:00
Brown
b7002ceb9f
Fix treatment of closure params in array_map
2021-01-29 11:38:48 +01:00
Brown
755ada9114
Fix #3234 - infer iterator key types properly
2020-04-27 00:41:34 -04:00
Brown
d868710b2b
Fix handling of built arrays
2020-04-08 16:11:11 -04:00
Brown
9f077f5aec
Fix formatting
2020-01-24 14:08:01 -05:00
Brown
53b0650c6c
Fix #2688 - foreach loop evaluation should allow changing loop var
2020-01-24 13:55:30 -05:00
Matthew Brown
227ea2042a
Fix foreach test
2019-11-29 11:29:22 -05:00
Jáchym Toušek
f2c82fa212
Add support for Iterator<X> type ( #2285 )
...
* Add support for Iterator<X> type
* Fix tests
2019-10-30 18:00:27 +00:00
Matthew Brown
233977a764
Fix undefined array offset when too few iterator params supplied
2019-10-21 07:13:33 -04:00
lhchavez
216f991b0c
Normalize stringified type names ( #2239 )
...
This change makes stringified types more normalized. Concretely it sorts
all union types, reconciled types, and sorts the keys within object-like
types.
2019-10-17 01:14:33 -04:00
Brown
80d9b5dc29
Add support for iterating over SimpleXMLElement
2019-08-23 14:15:20 -04:00
Brown
95c61db513
Add a PossibleRawObjectIteration issue
2019-08-20 12:06:02 -04:00
Matthew Brown
da42be175f
Apply PHPCS fixes
...
Fixes #1880
2019-07-05 16:27:53 -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
e85794038f
Fix #1704 - improve type coercion complaints
2019-05-29 14:22:15 -04:00
Matthew Brown
a6f3177292
Skip failing test
2019-05-29 08:09:09 -04:00
Matthew Brown
419d1da98d
Fix issue where iterators weren’t processed recursively
2019-05-08 09:04:52 -04:00
Matthew Brown
c772914910
Add some formatting
2019-03-23 14:27:54 -04:00
Bruce Weirdan
9bdc9f774f
More provider typing
2019-03-02 08:43:19 -05:00
Brown
601f303de2
Fix position of invalid param
2019-02-27 16:00:44 -05:00
Matthew Brown
12f1ffca11
Fix issue reconciling mixed vars inside loop
2019-02-18 11:39:05 -05:00
SignpostMarv
c2dedd6e6c
insufficient type-hinting to indicate size of chunk :(
2019-02-06 16:43:22 -05:00
SignpostMarv
1f3faff01f
not sure if this is the best place to add the test, but this is the code that fails from this example: https://getpsalm.org/r/11ec7409c0 under d453267
2019-02-06 16:43:22 -05:00
Matthew Brown
c83afc1af2
Fix element type inference for DOMNodeList
2019-02-05 13:34:59 -05:00
Matthew Brown
22ee72808a
Remove a bunch of hacks around generic offsets
...
Also fixes #1245
2019-01-26 16:58:49 -05:00
Matthew Brown
fd0ab47b80
Fix #1118 - detect possible issues with unions of mixed
2018-12-08 13:18:55 -05:00
Matthew Brown
4688b25fd9
Move internal classes to own namespace
2018-11-12 11:20:59 -05:00
Matthew Brown
2ea58e2c0f
Better assertions about non-empty known numbers
2018-11-10 17:56:22 -05:00
Matthew Brown
aa426aca03
Add better support for non-empty arrays when scanning constants
2018-11-10 17:15:37 -05:00
Matthew Brown
3664b0975c
Make sure switch breaks don’t count as loop breaks
2018-11-10 16:26:03 -05:00
Matthew Brown
9f2fe748e8
Improve handling of vars set in always-entered for/foreach/while loops
2018-11-10 16:10:59 -05:00
Matthew Brown
461a9667b5
Split up LoopScopeTest into block-specific tests
2018-11-09 19:54:10 -05:00