1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-30 04:39:00 +01:00
Commit Graph

5126 Commits

Author SHA1 Message Date
Brown
3658771bff Fix #2221 - variadic args are lists 2019-10-10 17:46:20 -04:00
Brown
67b32f463e Support assertions on lists 2019-10-10 10:57:43 -04:00
Brown
99c91efbc6 Add support for reconciling callable lists 2019-10-10 10:34:31 -04:00
Brown
cc9a925e84 Allow list to be coerced to callable 2019-10-10 10:26:13 -04:00
Brown
a05f4744cb Only show taint issues when tracking tainted input 2019-10-09 14:26:32 -04:00
Brown
ead2e38985 fix test 2019-10-09 13:51:25 -04:00
Brown
50e729a6d1 Fix more list issues 2019-10-09 13:42:39 -04:00
Brown
e822ec7541 Unsetting list elements should turn to an array 2019-10-09 12:49:31 -04:00
Brown
54d5a25077 Remove known array offsets after altering array 2019-10-09 10:36:55 -04:00
Brown
b75720c32b Add more list types 2019-10-09 10:04:34 -04:00
Brown
0b0534d41b Add more list annotations to Psalm’s codebase 2019-10-09 09:17:43 -04:00
Matthew Brown
10b0be3650 Fix explode 2019-10-09 07:44:26 -04:00
Matthew Brown
c7600fde10 Fix #2217 - interpret callable self return type references properly 2019-10-09 07:40:42 -04:00
Matthew Brown
51cfd556d6 Add non-empty-list support 2019-10-08 22:53:55 -04:00
Matthew Brown
6a07757b9a Fix tests 2019-10-08 22:41:23 -04:00
Matthew Brown
d7007c3b76 Fix casing 2019-10-08 22:25:15 -04:00
Matthew Brown
38de68f507 array_values should preserve array non-emptiness 2019-10-08 22:22:58 -04:00
Matthew Brown
5cdc3aa6d4 Remove tautological statement 2019-10-08 21:39:28 -04:00
Matthew Brown
2ae76bbc8e Prohibit objectlike to list 2019-10-08 21:38:01 -04:00
Matthew Brown
e620c2cfa4 Fix issue creating empty array offsets 2019-10-08 21:23:16 -04:00
Brown
db33efb3e8 Fix another bad comma 2019-10-08 19:13:04 -04:00
Brown
23fcbec584 Add a few more list types 2019-10-08 19:06:16 -04:00
Brown
2d4a7fbe3e Fix array fetch analysis offset 2019-10-08 19:01:00 -04:00
Brown
573b6bfe67 Remove bad comma 2019-10-08 18:51:44 -04:00
Brown
16c33d1565 Add support for list type
Fixes #2209
2019-10-08 18:44:46 -04:00
Brown
c7eff18481 Add basic type classes for TList 2019-10-08 18:43:54 -04:00
Brown
5265aee278 Process reconciliation more aptly 2019-10-08 14:33:06 -04:00
Brown
6b012f8fa6 Use smarter type merging when analysing if statements 2019-10-08 13:07:28 -04:00
Brown
f175050837 Fix #2214 - use better way for marking types as changed 2019-10-07 16:59:05 -04:00
Guuzen
50df2868f2 Fix issue #2201 (#2212) 2019-10-06 15:28:41 -04:00
bugreportuser
064d4886c3 Track exception suppressions (#2211) 2019-10-04 14:01:58 -04:00
Brown
3de056cdc2 Remove test that’s a bit broken 2019-10-04 14:00:53 -04:00
Brown
94001aad4a Fix #2208 - handle templated property types appropriately 2019-10-04 13:51:36 -04:00
Jay Klehr
27961045a0 allowing null as type for mysqli real_connect for host and passwd parameters (#2210) 2019-10-04 13:07:28 -04:00
Brown
560daf9733 Ignore deprecated methods in tests 2019-10-04 11:23:35 -04:00
Brown
b0aaede9e1 Add support for checking integer array offsets 2019-10-04 11:08:08 -04:00
Matthew Brown
d85fbaec09 Add stricter checks after first isset 2019-10-03 21:34:56 -04:00
Brown
60214ab0c7 Allow assertions on arbitrary offsets without isset 2019-10-03 18:40:47 -04:00
Brown
ebe8bedb20 Allow assertions on class constants 2019-10-03 18:13:04 -04:00
Brown
ca06277f30 Add better support for previous key types 2019-10-03 15:43:17 -04:00
Brown
549aee47f1 Fix bug asserting array emptiness 2019-10-03 15:27:55 -04:00
bugreportuser
d8855282c6 Add more impure functions (#2203) 2019-10-03 15:01:31 -04:00
Brown
9b31483018 Fix unused var 2019-10-02 09:35:22 -04:00
Matthew Brown
3182aa51ee Add currently-broken test 2019-10-02 01:18:57 -04:00
Matthew Brown
24977fb021 Fix small bug 2019-10-02 01:17:45 -04:00
Bruce Weirdan
1d9a4cd53e Show errors in progress bar when --ignore-baseline is specified (#2195)
Refs vimeo/psalm#2190
2019-10-01 20:28:42 -04:00
Bruce Weirdan
ff7b46435c Disable composer plugins for end-to-end tests (#2194)
When Psalm is installed with `composer global require vimeo/psalm` it
brings in `ocramius/package-versions`, effectively making it a global
composer plugin (so it runs for all `composer install`s, even for
totally unrelated projects).

However `ocramius/package-versions` has a peculiar quirk: it fails when
there's no `composer.lock` present, and there's no `composer.lock` for
projects that have no dependencies (like the end-to-end test projects).

The net result is that end-to-end tests always fail wherever Psalm is
installed globally.

This PR fixes it by disabling composer plugins for end-to-end tests.
2019-10-01 20:26:55 -04:00
Brown
d225374d6d Fix #2156 - do better inference after isset 2019-10-01 19:31:08 -04:00
Brown
56856f3da0 Break up assert tests 2019-10-01 17:09:34 -04:00
Brown
a81c3067ad Store the whole type 2019-10-01 17:09:32 -04:00