1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-15 10:57:08 +01:00
Commit Graph

501 Commits

Author SHA1 Message Date
Matthew Brown
4a954acf84 Improve printing of literal types 2019-06-06 17:39:14 -04:00
Matthew Brown
b091ceaa9a Fix union of literal class string 2019-06-06 17:18:24 -04:00
Brown
2e7d26af6a Replace object-like types too 2019-06-06 13:28:56 -04:00
Brown
f309c755f8 Add ability to move classes 2019-06-05 08:50:24 -04:00
Brown
c7f35c263c Fix #1737 properly 2019-06-04 14:08:49 -04:00
Brown
d34c1a94db Fix #1737 - treat !isset($x, $y) properly 2019-06-04 13:43:09 -04:00
Marco Pivetta
624c7bc6fb Renamed Fn to TFn to allow for PHP 7.4 compatibility 2019-06-03 08:21:25 -04:00
Matthew Brown
0ad57695a8 Clone atomic extra types as well 2019-06-02 09:52:57 -04:00
Matthew Brown
01f4e39719 Remove redundant code from toNamespacedString 2019-05-31 20:21:47 -04:00
Matthew Brown
4002504ff0 Allow trait_exists to inform type for ReflectionClass 2019-05-31 09:43:46 -04:00
Matthew Brown
962d8f30a1 Fix #710 - treat keyed intersections of iterators properly 2019-05-29 19:58:54 -04:00
Matthew Brown
4f48c6388d Fix #1700 - interpret false===($a || $b) correctly 2019-05-29 07:47:31 -04:00
Brown
9b508d932d Improve specificity of explicit negated expression checks 2019-05-28 19:15:47 -04:00
Brown
c9cfa7f010 Add error when reconciling impossible types 2019-05-28 18:33:23 -04:00
Brown
201030928d Fix case insensitive string comparison 2019-05-28 15:46:56 -04:00
Brown
b19d256b14 Add better error message for templated key-of param 2019-05-28 14:23:22 -04:00
Brown
81b6a6f496 Support assertions on class constants 2019-05-28 12:31:46 -04:00
Brown
a89892a41f Prevent more broad template types being captured 2019-05-28 11:54:07 -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
b2fb80978e Fix assertions with single templated class-string 2019-05-27 12:17:20 -04:00
Matthew Brown
97eab1a2e6 Fix bad string key assertion 2019-05-27 10:10:21 -04:00
Matthew Brown
442c307b30 Prevent removing null from single null type 2019-05-27 00:12:57 -04:00
Matthew Brown
052599192a Fix #1680 - narrow nullable templated matching 2019-05-25 12:44:47 -04:00
Matthew Brown
790bc53bfd Fix #1681 - interpret parent annotation properly 2019-05-25 11:51:09 -04:00
Matthew Brown
62dacaf97b Also replace templated intersection types that aren’t direct templates
Ref #1675
2019-05-24 17:34:40 -04:00
Matthew Brown
7a48225184 Fix leaky template type 2019-05-24 13:35:14 -04:00
Matthew Brown
a43e4d879b Remove unnecessary option 2019-05-24 10:26:10 -04:00
Matthew Brown
9e3724bb0c Prevent class-string<T> from assigning unknown type to mixed
Fixes #1672
2019-05-24 10:20:37 -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
Matthew Brown
a18a564ad9 Add parser support for key-of and indexed access 2019-05-23 23:52:48 -04:00
Brown
3fcadb8f4c Prevent redundant addType 2019-05-23 18:09:53 -04:00
Brown
01dcf8f631 Fix erroneous update of existing variables 2019-05-23 18:04:12 -04:00
Matthew Brown
a1eb191f57 Remove TSqlSelectString and related dependency 2019-05-20 23:14:41 -04:00
Matthew Brown
ea930b8875 Fix interface_exists after class_exists check 2019-05-20 20:57:59 -04:00
Brown
4035823d51 Fix #1652 - allow totally-templated intersections 2019-05-17 15:40:52 -04:00
Matthew Brown
3599c20316 Fix #1641 - crawl intersection types 2019-05-15 22:30:35 -04:00
Brown
4a434d9a2f Add separate issue for undefined classes in docblocks 2019-05-15 18:41:26 -04:00
Brown
f1d8b1e6e7 Prevent extending covariant template params
Fixes #1610
2019-05-14 18:51:30 -04:00
Brown
7fbbe964cb Fix #1609 - warn when using covariant template type as input 2019-05-14 18:17:38 -04:00
Brown
10272c2da1 Fix #1636 - don’t allow invalid phpdoc to be outputted 2019-05-14 17:41:22 -04:00
Brown
751253ddf0 Fix #1603 - prevent invalid covariant template classes from being passed 2019-05-06 16:38:08 -04:00
Brown
57a585240c Allow is_subclass_of/is_a to inform shape of mixed arg 2019-05-06 10:06:05 -04:00
Matthew Brown
49acdfc764 Fix issue when reconciling is_subclass_of on possibly-undefined variable 2019-05-03 09:09:51 -04:00
Brown
640c1d13a6 Fix unused variables now found in Psalm’s code 2019-05-02 17:21:23 -04:00
Matthew Brown
82e0bcafac Fix #1578 - fix empty array error 2019-04-26 00:47:42 -04:00
Brown
a529f74473 Add support for tracking callables 2019-04-17 15:45:40 -04:00
Brown
8751bf232b Improve handling of negated boolean operations 2019-04-12 11:26:33 -04:00