Brown
e85794038f
Fix #1704 - improve type coercion complaints
2019-05-29 14:22:15 -04:00
Matthew Brown
4f48c6388d
Fix #1700 - interpret false===($a || $b) correctly
2019-05-29 07:47:31 -04:00
Brown
602bae3bb3
Allow class_exists(..., false) to inform class-string type
2019-05-28 13:16:09 -04:00
Brown
0e6d07c4e9
Add ancillary var types
2019-05-28 11:58:15 -04:00
Brown
7df88197ef
Fix #762 - support key-of and value-of types
2019-05-28 10:44:04 -04:00
Matthew Brown
a001616753
Remove object-like array under falsy assertion when it contains a sure key
2019-05-28 00:32:27 -04:00
Brown
cf02e9c22c
Fix access on matched T[K]
2019-05-27 18:36:34 -04:00
Matthew Brown
518330dcf4
Fix class constant assertions on self/static
2019-05-27 13:33:14 -04:00
Matthew Brown
4302596654
Revert "Implement better progress"
...
This reverts commit 042070d0fd3280430c4b2b51bc73acf98d02c744.
2019-05-27 13:07:02 -04:00
Matthew Brown
304ffeb0a3
Revert "Switch to VoidProgress by default"
...
This reverts commit 63b46be3616d44b4fbf9dcfd73c62a56ad272f8e.
2019-05-27 13:04:38 -04:00
Barney Laurance
04ef20da1f
Add error message when psalter asked to work beyond its abilities; allow fixing all issues and output list of fixable issues ( #1687 )
...
* Oputput error message when asked to fix non-fixable issue
* Document ability to fix function PossiblyUndefinedGlobalVariable
* Add --issues=all option to fix all possible issues
* Add --list-supported-issues option to psalter
* Fix psalm issues
* Add newline to end of psalter help output
* Adjust messages output from psalter
* Use fwrite(STDERR, instead of die( for issue list related errors in psalter
* Restore missing exits in psalter
2019-05-27 10:05:15 -04:00
Matthew Brown
5861476765
Don’t remove null after magic property fetch
2019-05-27 09:18:34 -04:00
Matthew Brown
e512bc7ef6
Fix #1693 - use instanceof instead of assert
2019-05-27 08:34:03 -04:00
Matthew Brown
c356c452ec
Fix #1692 - allow magic annotations on all interfaces without config flag
2019-05-26 23:35:03 -04:00
Ilija Tovilo
63b46be361
Switch to VoidProgress by default
2019-05-26 23:18:48 -04:00
Ilija Tovilo
042070d0fd
Implement better progress
2019-05-26 23:18:48 -04:00
Matthew Brown
69150d503a
Fix #1682 - correct arg check
2019-05-26 16:26:47 -04:00
Matthew Brown
8b9de8bba6
class_esists check with false arg shouldn’t count
...
Fixes #1682
2019-05-26 13:16:44 -04:00
Matthew Brown
0bcf61dee7
Remove more commas
2019-05-25 12:18:12 -04:00
Matthew Brown
857314e095
Remove trailing comma
2019-05-25 12:11:46 -04:00
Matthew Brown
790bc53bfd
Fix #1681 - interpret parent annotation properly
2019-05-25 11:51:09 -04:00
Matthew Brown
9fb96793cd
Fix #1676 - don’t modify original param types with templated by-reference
2019-05-24 18:17:48 -04:00
Matthew Brown
569d82641d
Ignore PossiblyNullReference on synthetic method calls
2019-05-24 14:09:01 -04:00
Matthew Brown
7a48225184
Fix leaky template type
2019-05-24 13:35:14 -04:00
Matthew Brown
3e2b7163ca
Fix #1674 - treat intersections more equally regardless of order
2019-05-24 12:48:37 -04:00
Matthew Brown
13b9e133e4
Fix Psalm errors
2019-05-24 02:15:35 -04:00
Matthew Brown
c80f9d8ecd
Add class-based support for key-of
...
Ref #762
2019-05-24 02:12:58 -04:00
Matthew Brown
574545e149
Add initial support for key-of<T>
...
Ref #762
2019-05-23 23:53:48 -04:00
Brown
56daa390fc
Allow array access on @template T as array
...
Ref #1607
2019-05-23 18:06:22 -04:00
Brown
01dcf8f631
Fix erroneous update of existing variables
2019-05-23 18:04:12 -04:00
Brown
6ce5fefa4b
Fix #1664 - allow templated __get params
2019-05-23 12:59:09 -04:00
Brown
c64a654ece
Fix #1666 - complain about properties in interfaces
2019-05-23 10:21:56 -04:00
Brown
83fe545c94
Fix docblock
2019-05-22 18:09:36 -04:00
Brown
f728d797cf
Fix #1665 - allow -if-true & -if-false assertions on static methods
2019-05-22 17:49:38 -04:00
Brown
29c869ed67
Ignore nullable issues on just-coerced types
2019-05-21 12:59:06 -04:00
Brown
034ea725e8
Coerce generic types from empty
2019-05-21 12:12:13 -04:00
Matthew Brown
ec2ee04fe8
Allow coercion from empty to array param
2019-05-21 12:12:13 -04:00
Brown
4ecf370900
Coerce mixed values when passed as arguments
2019-05-21 11:51:41 -04:00
Matthew Brown
ea930b8875
Fix interface_exists after class_exists check
2019-05-20 20:57:59 -04:00
Brown
8c653b0312
Improve dead code detection a little more
2019-05-20 18:25:11 -04:00
Brown
2637156f45
Properly fix #1128 with additional check
2019-05-20 12:01:18 -04:00
Brown
83a2122f8c
Fix #1464 and fix #1128 - reduce try/catch UnusedVariable false positives
2019-05-20 11:54:21 -04:00
Matthew Brown
1e853800a3
Fix #1657 - allow interface_exists to generate class-string assertion
2019-05-19 15:56:04 -04:00
Brown
963d5bb901
Fix #1656 - allow chained call completion
2019-05-17 12:38:29 -04:00
Brown
0bd4dbcbc4
Bump to PHP 7.1
...
Fixes #1650
2019-05-16 18:36:36 -04:00
Brown
9a93525d33
Emit undefined docblock class error where appropriate on property fetcthes
2019-05-16 15:07:07 -04:00
Brown
66bbe5bb74
Allow space in intersection type
...
Ref #1645
2019-05-16 13:52:58 -04:00
Brown
4a434d9a2f
Add separate issue for undefined classes in docblocks
2019-05-15 18:41:26 -04:00
Matthew Brown
cfff66efb7
Fix #1634 - don’t remove existing return types when preventing bc breaks
2019-05-15 00:34:56 -04:00
Matthew Brown
1c10ae11bf
Fix #1580 - look for no-returns in try/catch statements
2019-05-14 21:22:29 -04:00