1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-16 11:26:55 +01:00
Commit Graph

54 Commits

Author SHA1 Message Date
Brown
0bcb7863f3 Use better system for storing inferred types and assertions 2019-11-25 11:44:54 -05:00
Brown
0b0534d41b Add more list annotations to Psalm’s codebase 2019-10-09 09:17:43 -04:00
Brown
f8f8b633b1 Suppress a bunch of PossiblyUndefinedArrayOffset issues 2019-10-01 15:44:43 -04:00
Brown
f6b0de08f8 Remove unnecessary assertion 2019-09-19 15:41:44 -04:00
Brown
e6f90ab83f Fix #2146 - check count args length 2019-09-19 15:07:49 -04:00
Brown
43041836dd Fix #2026 - add support for calling __toString implicitly after method_exists 2019-08-16 11:33:58 -04:00
Matthew Brown
3f78082720 Fix is_string call 2019-08-10 09:16:32 -04:00
Matthew Brown
460120ec45 Fix #1994 - make assert-if-true work for $this properties 2019-08-10 09:12:02 -04:00
Matthew Brown
5a4a133f50 Fix #1970 - allow comparison to templated param class 2019-07-24 22:13:51 -04:00
Matthew Brown
5c4ac97546 Fix #1915 - allow @psalm-assert-if-true to operate on $this 2019-07-07 15:06:03 -04:00
Matthew Brown
cd33430616 Fix #1885 - allow comparison to templated class string 2019-07-05 22:57:38 -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
Matthew Brown
d845cdf0c5 Fix #1458 by making instanceof static same as === static 2019-06-20 08:37:57 -04:00
Brown
c81a9a8737 Fix #1742 - allow is_countable assertion to mean something 2019-06-07 15:49:10 -04:00
Matthew Brown
4002504ff0 Allow trait_exists to inform type for ReflectionClass 2019-05-31 09:43:46 -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
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
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
Matthew Brown
ea930b8875 Fix interface_exists after class_exists check 2019-05-20 20:57:59 -04:00
Matthew Brown
1e853800a3 Fix #1657 - allow interface_exists to generate class-string assertion 2019-05-19 15:56:04 -04:00
Matthew Brown
ae531506de Fix #1591 - allow variable typed to string to be compared to literal in reverse order 2019-05-02 00:50:35 -04:00
Tyson Andre
dbcedd300b Fix error messages for $boolVar !== null
Seen for this example:

    $b = rand() % 2 > 0;
    if ($b !== null) { ... }
2019-04-26 00:19:46 -04:00
Brown
b6d0ee0777 Prevent impossible === false comparison 2019-04-12 10:30:56 -04:00
Matthew Brown
39af691d2f Fix #1546 - catch impossible assertions to true 2019-04-12 09:38:56 -04:00
Brown
7f8b47c5cf Fix buggy behaviour around callable tests 2019-04-09 18:09:57 -04:00
Matthew Brown
63a0e768b3 Improve type coverage in both good and bad ways 2019-03-25 22:30:40 -04:00
Brown
ab6ca4dc35 Fix #1491 - allow comparison to typed value 2019-03-21 17:26:10 -04:00
Matthew Brown
01d6caf6a2 Catch negated instanceof bugs 2019-03-16 12:34:48 -04:00
Matthew Brown
4757c2fe8e Fix messaging 2019-03-02 15:19:59 -05:00
Matthew Brown
5e61f198e1 Fix #1419 - allow checks against empty arrays 2019-03-02 15:18:29 -05:00
Matthew Brown
8650f9eb1a Fix #1356 - improve assertion system to work better on function calls 2019-02-26 01:03:33 -05:00
Brown
653555a8cc Remove unused var 2019-02-21 17:49:33 -05:00
Brown
41b133178a Improve handling of count comparisons 2019-02-21 17:17:10 -05:00
Matthew Brown
be06393b9c Fix #1251 - allow instanceof comparisons to class strings 2019-01-27 14:10:33 -05:00
Matthew Brown
3ca5ec9281 Fix templated class conversion allowing child class 2019-01-13 14:40:21 -05:00
Matthew Brown
01e41951e7 Support backslash in is_a/is_subclass_of string name 2019-01-09 08:42:27 -05:00
Matthew Brown
4d6031b39b Fix #1172 - treat is_subclass_of similarly to is_a 2019-01-05 16:58:34 -05:00
Matthew Brown
c7723df8ff Allow gettype vars to be compared to strings 2019-01-05 16:23:18 -05:00
Brown
69d9fd7e28 Fix regression when reasoning about class strings 2019-01-02 11:35:49 -05:00
Matthew Brown
6fbf395f70 Fix #1152 - don’t complain about trait class-string comparisons 2019-01-01 21:00:34 -05:00
Brown
fb848d62e9 Add checks for if (count($a)) and if (count($a) [operator] [number]) 2018-12-19 16:15:19 -05:00
Matthew Brown
ea89a6ba29 Revert "First pass"
This reverts commit 9ed047234f.
2018-12-19 08:45:14 -05:00
Matthew Brown
9ed047234f First pass 2018-12-19 01:59:14 -05:00
Matthew Brown
fd0ab47b80 Fix #1118 - detect possible issues with unions of mixed 2018-12-08 13:18:55 -05:00
Matthew Brown
f54a50ec7d Fix #1116 - provide slightly clearer message when comparing a class string to a string 2018-12-05 22:29:06 -05:00
Matthew Brown
b32000fa05 Fix #689 - add checks for @internal annotations 2018-12-01 18:37:49 -05:00
Matthew Brown
47f5f309ad Remove support for get_class($a) === "somestring"
But it works with class constants
2018-11-28 23:59:43 -05:00