Brown
5beb26659e
Add special type for SQL select strings for plugins to consume
2019-03-07 14:56:18 -05:00
Brown
a8ea907d6c
Fix #1432 - allow callable to be coerced to callable-array
2019-03-06 18:24:59 -05:00
Matthew Brown
aeab6e292b
Prevent bugs when checking for initialisation
2019-03-04 00:17:45 -05:00
Matthew Brown
82e6876011
Fix #1397 - fix get_class behaviour for new instances
2019-03-02 18:02:11 -05:00
Matthew Brown
4cc93644e5
Added more descriptive type for callables
...
Ref #1408
2019-03-01 09:06:37 -05:00
Matthew Brown
317f790bde
New plugin hooks ( #1405 )
...
* Add a bunch of new hooks
* Add more integrations
* Add some broken tests
* Add more things
* Fix remaining interfaces
* Suppress proper issue
* UndefinedMethod should not stop analysis
* Add handlers for two custom method return types
2019-03-01 08:57:10 -05:00
Brown
f8c2b2d81a
Fix #1399 - allow literal comparison to scalar
2019-02-27 16:21:23 -05:00
Brown
d46c6ac0e4
Fix #1395 - set all callable types as coming from a docblock
2019-02-27 14:52:58 -05:00
Brown
119687f934
Fix redundant condition message when negating a docblock type
2019-02-27 14:02:02 -05:00
Matthew Brown
cdae79b9fe
Fix unnecessary params in Psalm codebase
2019-02-23 11:31:33 -05:00
Matthew Brown
1c8a573b5f
Change TGenericParam to TTemplateParam
2019-02-21 21:40:06 -05:00
Brown
375f3917b2
Prevent empty unions as soon as possible
2019-02-21 15:09:55 -05:00
Matthew Brown
5aaa68c214
Add better error message and also update callmap
2019-02-18 12:28:30 -05:00
Bruce Weirdan
8408effe57
Dropped unused uses
2019-02-17 13:17:45 -05:00
Matthew Brown
0ea22e8d82
If we’re checking $_SESSION for existence return an array
...
Fixes #1335
2019-02-15 15:58:36 -05:00
Brown
dca8bf9d36
Fix #1329 - improve handling arrays with string offsets
2019-02-15 14:42:17 -05:00
Matthew Brown
7fdc226ac5
Always remove callable type
2019-02-11 01:44:07 -05:00
Matthew Brown
e5360a6faa
Check callable types too
2019-02-11 01:41:28 -05:00
Matthew Brown
867ea1fa34
Fix #1320 - allow iterable comparison
2019-02-10 23:51:26 -05:00
Matthew Brown
af61e167f4
Add callable literal string
...
Fixes #1315
2019-02-10 16:27:37 -05:00
Matthew Brown
7a1ff78bb3
Fix #1316 - is_iterable should remove arrays from union
2019-02-10 15:56:35 -05:00
Matthew Brown
6976528c7e
Fix #1310 - check template defining class matches
2019-02-10 12:02:18 -05:00
Matthew Brown
f4518d59e0
Fix #1303 - improve handling of class-string<Foo> type arg passed to class-string<T> param
2019-02-08 13:34:30 -05:00
Matthew Brown
98644f7a65
Allow more-specific template types to override mixed
2019-02-08 13:09:36 -05:00
Matthew Brown
ed4ed957c8
Use more specific templated argument
2019-02-07 15:21:34 -05:00
Matthew Brown
17541b415f
Fix #1191 - allow Psalm to check against different versions of PHP
2019-02-07 12:25:57 -05:00
Matthew Brown
dfe45e7d26
Fix #1290 - improve handling of more specific template
2019-02-06 15:56:40 -05:00
Matthew Brown
d665f98fe7
Fix issue reconciling class strings
2019-02-03 17:25:22 -05:00
Brown
533b92e15a
Fix #1269 - fill in object type
2019-02-01 14:13:21 -05:00
Matthew Brown
ac79e9a311
Fix #1263 - return proper class string
2019-01-31 21:06:21 -05:00
Matthew Brown
0be6aac30c
Fix #1262 - fix object check redundant condition
2019-01-31 20:31:40 -05:00
Brown
fd88f00526
Fix a few small bugs
2019-01-31 17:48:48 -05:00
Matthew Brown
00e95cbd6b
Understand that template class string transforms back to templated class
...
Fixes #1250
2019-01-27 15:08:17 -05:00
Matthew Brown
60e7587c2d
Replace template types in object-like arrays
2019-01-27 14:20:41 -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
Brown
bed1f15e09
Fix #1240 - reconcile array to iterable in template replacement
2019-01-25 10:17:41 -05:00
Matthew Brown
8bc17e47be
Fix #1227 - allow genric params in @psalm-assert
2019-01-22 23:42:54 -05:00
Matthew Brown
6fe9e525df
Fix #1219 - allow generation of intersections inside class-string
2019-01-20 10:39:08 -05:00
Matthew Brown
394d6509c6
Restrict class-string types to named objects (and intersections)
2019-01-19 22:46:06 -05:00
Matthew Brown
1c17d2e2f2
Extract template params from string/array callables cc @weirdan
...
The culmination of what you were getting at
2019-01-19 20:18:45 -05:00
Matthew Brown
e3df0ec5e2
Apply same rules that Hack uses for bottom types
2019-01-19 18:51:18 -05:00
Matthew Brown
1d2a0f8b39
Add more robust template constraint checks
2019-01-19 18:35:53 -05:00
Matthew Brown
ed68cb973d
Fix #1109 - add bad usort protection
2019-01-19 18:11:49 -05:00
Matthew Brown
22ec7e537c
Fix #1208 - respect inheritance when combining in boolean operation
...
Also fixes issue reconciling inside trait
2019-01-18 10:08:16 -05:00
Matthew Brown
4ec7903e8b
Fix #390 - add support for object{foo:int, bar:string} annotation
2019-01-18 00:56:24 -05:00
Matthew Brown
90dc39c296
Don’t preserve old storages when receiving worker data
...
This bug was found when running Psalm in threaded execution mode
2019-01-15 23:24:29 -05:00
Brown
f5a81249e0
Fix #1202 - don’t allow undefined constants in enums
2019-01-15 11:31:13 -05:00
Brown
773be5ceb2
Remove blank line
2019-01-14 17:13:55 -05:00
Brown
496bd97714
Make sure we’re not flipping the wrong constraint
2019-01-14 16:07:57 -05:00