Brown
0ae436d335
Fix a couple of false-positive redundant conditions
2020-09-19 18:12:14 -04:00
orklah
ead107fa9e
More return types ( #4173 )
...
* add native return types
* redundant phpdoc
2020-09-12 11:24:05 -04:00
Brown
92239add4d
Add some backwards-incompatible changes for 4.x
2020-08-30 11:44:14 -04:00
Brown
7fc4a85534
Fix CI
2020-08-03 02:45:55 -04:00
Brown
74eea18563
Add better checks
2020-07-26 19:09:26 -04:00
Brown
7ef3d4711f
Fix some more tests
2020-07-21 23:16:56 -04:00
Brown
2312523318
Support merging of numeric-string with literal
2020-05-18 16:56:09 -04:00
Brown
7dfa37beb2
Improve ergonomics of array assignment
2020-04-11 17:50:24 -04:00
Brown
bd2104c5ba
Merge with mixed in nested arrays
2020-04-09 09:27:21 -04:00
Matthew Brown
43189b3d55
Allow types to be traversed
2020-03-14 23:54:51 -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
952045e2ba
Fix return type checks
2020-02-22 11:28:24 -05:00
Matthew Brown
365236a6bb
Replace assertion with type
2020-01-29 23:55:27 -05:00
Matthew Brown
5eb2ebc508
Add more type-system protections for bad array args
2020-01-29 23:41:17 -05:00
Matthew Brown
9fa2db1b6c
Move Union::getTypes to Union::getAtomicTypes
2020-01-04 12:20:26 -05:00
Brown
9177b410cb
Fix reconciliation of callable
2020-01-02 16:59:19 -05:00
Matthew Brown
d5f4c24ee0
Fix combining class string types with explicit ones
2019-12-01 23:03:09 -05:00
Matthew Brown
a8c2b7a525
Fix #2400 - string should subsume class-string
2019-11-30 12:32:31 -05: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
16c33d1565
Add support for list type
...
Fixes #2209
2019-10-08 18:44:46 -04:00
Matthew Brown
a5f79353ed
Fix #2157 - don’t merge closures and callable params
2019-09-22 00:58:30 -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
7b4dbb1c85
Fix #1826 - don’t allow mixed unions when combining with object-like array
2019-06-20 20:13:36 -04:00
Matthew Brown
a553adb232
Fix test array spacing
2019-06-16 09:42:34 -04:00
Matthew Brown
fe0f352132
Fix #1628 - improve behaviour of unset in loops
2019-05-13 11:00:17 -04:00
Brown
b7529e872b
Consider intersections when combining generic types
2019-05-08 13:23:47 -04:00
Brown
751253ddf0
Fix #1603 - prevent invalid covariant template classes from being passed
2019-05-06 16:38:08 -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
Bruce Weirdan
ec85096c96
Fixed identified issues
2019-03-02 08:43:19 -05:00
Brown
0f45d14fea
Only collapse Traversable|array when we’re super sure it’s safe
...
Fixes #1333
2019-02-15 11:07:08 -05:00
Brown
0bb5143efd
Fix #1254 - merge literal and class-strings types into string
2019-01-29 10:34:31 -05:00
Matthew Brown
22ee72808a
Remove a bunch of hacks around generic offsets
...
Also fixes #1245
2019-01-26 16:58:49 -05:00
Brown
55913699d3
Allow iterable to subsume array and traversable
...
Fixes #1242
2019-01-25 14:43:16 -05:00
Matthew Brown
9d8c2792e2
Add array-key type and improve general type handling
...
Fixes #1144
2019-01-05 00:15:53 -05:00
Brown
72c50be4b0
Fix build
2018-12-19 20:01:27 -05:00
Brown
b7d4db892c
Fix #1130 - improve handling of invalid array offsets
2018-12-14 15:10:10 -05:00
Brown
15320430db
Don’t combine empty array with mixed
...
Ref #1126
2018-12-14 12:30:13 -05:00
Matthew Brown
fd0ab47b80
Fix #1118 - detect possible issues with unions of mixed
2018-12-08 13:18:55 -05:00
Matthew Brown
59b9b5d65b
Move more classes into Internal namespace
2018-11-18 12:41:47 -05:00
Matthew Brown
4688b25fd9
Move internal classes to own namespace
2018-11-12 11:20:59 -05:00
Matthew Brown
ea465852e1
Move TypeCombination logic into its own class
2018-05-19 19:44:03 -04:00
Matt Brown
1282f74931
Allow coercion from generic array to objectlike with possible keys
2018-04-04 18:01:53 -04:00
Matt Brown
734b6915db
Fix #635 - type combinations should copy over possibly undefined flag
2018-04-02 14:36:33 -04:00
Matt Brown
06e850867d
Allow combined keys to be possibly undefined
2018-03-23 13:14:00 -04:00
Matthew Brown
61af2a924c
Fix #575 - generated possibly-undefined keys when scanning objectlike return types
...
Ref #458
2018-03-17 16:53:11 -04:00
Matt Brown
5471b89391
Make array coercion an error
2018-02-21 18:59:31 -05:00
Matt Brown
edde8930af
Speed up Psalm by caching result of Union::getId
2018-01-09 15:05:48 -05:00
Matthew Brown
035f528581
Make sure that combining false with false simplifies to false
2017-12-19 00:06:05 -05:00