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