lhchavez
be87bb7300
Support intersection types for object-like arrays ( #3064 )
...
This change allows expressing the intersection of multiple object-like
arrays. The resulting type will contain the (merged via intersection)
properties of all the object-like arrays involved in the intersection.
This should allow to express the resulting type of an `array_merge()`
operation, which is tricky to do in the context of a templated type.
2020-04-08 09:35:53 -04:00
Bruce Weirdan
db3072d0ba
Suppress choco install progress ( #3100 )
...
This should make appveyor logs much more readable. Currently they have
thousands of lines like
```
Progress: Downloading php 7.4.3... 98%
Progress: Downloading php 7.4.3... 98%
Progress: Downloading php 7.4.3... 98%
```
2020-04-08 09:23:24 -04:00
Marco Pivetta
0d1e893151
Added ReflectionProperty#getType()
to psalm type stubs for PHP 7.4+ ( #3093 )
2020-04-08 09:04:49 -04:00
Bruce Weirdan
fe1cd8ecf4
Use stable composer on Appveyor ( #3097 )
...
* Use stable composer on Appveyor
Composer now ships unstable 2.x version under old URL.
See https://twitter.com/seldaek/status/1247770566045491201
* Discard changes in vendor
2020-04-08 09:04:36 -04:00
Matthew Brown
1d91719ae8
Remove --no-suggest
2020-04-08 01:25:40 -04:00
Bruce Weirdan
0161f25ef6
Bump callmap version to 7.4 ( #3094 )
...
The content of the callmap corresponds to 7.4, but internally the
version was set to 7.3. This caused 7.4 delta to be ignored, and 7.4
types to be used for 7.3.
2020-04-08 01:04:34 -04:00
Brown
2d4381eb4e
Fix #3096 - forget clauses in context after call
2020-04-08 01:03:37 -04:00
Brown
5db9f0e8c0
Fix #2722 - change behaviour to inherit params to match just on position
...
And not name + position
2020-04-08 00:54:17 -04:00
Brown
a79122256c
Use conditional return type for range
2020-04-07 19:59:20 -04:00
Brown
69045daea9
Convert a bunch of custom-handled functions to conditional stubbed ones
2020-04-07 16:48:29 -04:00
Brown
550ba0a4c9
Compare to real outer context, not if one
...
Fixes #3091
2020-04-07 15:13:17 -04:00
Brown
61c979136f
Fix #3091 - simplify elseif negated clauses where possible
2020-04-07 13:04:24 -04:00
Brown
41b165c096
Remove stray comma
2020-04-07 11:17:52 -04:00
Brown
067104e170
Fix #3084 - keep track of upper and lower bounds of inferred template types
2020-04-07 00:13:56 -04:00
Brown
99549871b6
Fix tests
2020-04-06 18:16:14 -04:00
m0003r
11edb22c72
Implement @psalm-trace annotation, fixes #3079 ( #3080 )
2020-04-06 12:42:22 -04:00
Brown
26fcde10fa
Fix #3081 - use correct property type for ownerDocument
2020-04-06 12:41:18 -04:00
Brown
387bc02e71
Fix #3082 - merge intersection types when replacing template types
2020-04-06 10:19:36 -04:00
Matthew Brown
6ac6c54a34
Fix defaults
2020-04-06 09:28:49 -04:00
Brown
27032e875f
Ensure Generator return types are enforced for a function using yield from
2020-04-06 09:23:13 -04:00
Brown
a1bec0cd5a
Consolidate generator tests
2020-04-06 08:57:18 -04:00
Bruce Weirdan
95bc9603be
Added coverage upload to coveralls.io ( #3078 )
...
* Added coverage upload to coveralls.io
* Commented out the step that generated wrong link
2020-04-05 22:38:30 -04:00
Bruce Weirdan
a1aaf568af
Bump psalm/plugin-phpunit ( #3074 )
...
This fixes a couple of composer warnings
2020-04-05 22:35:22 -04:00
Bruce Weirdan
7f5580d326
Run every project as separate step ( #3076 )
...
It's easier to see which project is failing this way
2020-04-05 20:25:50 -04:00
Brown
aca84e6f96
Fix inconsistency in partial template matching
2020-04-05 18:40:25 -04:00
Bruce Weirdan
5be4cc2582
Expose queueClassLikeForScanning ( #3070 )
2020-04-05 17:25:47 -04:00
Bruce Weirdan
c50faeafee
Allow PHPUnit 9 ( #3072 )
...
* Allow PHPUnit 9
Had to add a couple of compatibility shims to keep tests the same.
* import method_exists()
2020-04-05 17:25:00 -04:00
Matthew Brown
a1be95dc19
remove dead link
2020-04-05 17:24:05 -04:00
Matthew Brown
ec7c8e5f59
Remove dead link
2020-04-05 17:23:23 -04:00
Mikko Pesari
166b4d04a5
ZipArchive::open() does not return resource ( #3067 )
2020-04-05 14:28:01 -04:00
m0003r
c8e7e43bb0
Type::getString already respects maxStringLength config, there is no need to additional checks ( #3069 )
2020-04-05 14:27:02 -04:00
Matthew Brown
e34a3a9281
Fix handling of old amp
2020-04-05 01:14:26 -04:00
Matthew Brown
d1270a61c7
Suppress MixedAssignment again
2020-04-05 01:04:52 -04:00
Matthew Brown
4191f7a259
Remove unnecessary annotation
2020-04-05 00:54:31 -04:00
Matthew Brown
f0b4533ba4
Use same sort order regardless of OS
2020-04-05 00:37:46 -04:00
Matthew Brown
05f7c9757a
Write debug to stdout
2020-04-05 00:28:55 -04:00
Matthew Brown
6cea065bca
Attempt to export file order in Linux CI
2020-04-05 00:10:50 -04:00
Matthew Brown
4c52032491
Use mixed if yield type not known
2020-04-04 23:54:41 -04:00
Matthew Brown
120595f480
Clone a little earlier
2020-04-04 23:45:38 -04:00
Brown
c6afa0fef6
Be more explicit about references
2020-04-04 21:48:14 -04:00
Brown
003212fa15
Make sure to record class references even when we don’t know whether the class exists
2020-04-04 21:47:35 -04:00
Brown
81534bbe18
Fix possibly null issue
2020-04-04 18:57:33 -04:00
Brown
2930eb3f99
Prevent storing references to classes from within those classes
2020-04-04 18:42:14 -04:00
Brown
40345dd29c
Remove json_encode test that no longer works
2020-04-04 18:02:28 -04:00
Brown
690b29762e
ZipArchive::open can return true cc @LeSuisse
2020-04-04 17:45:26 -04:00
Brown
6b25b33d81
Revert "Stub out str_replace types"
...
This reverts commit 94fefde376
.
2020-04-04 17:38:34 -04:00
Brown
649a33b27b
Remove json_decode stub, because it introduces too many false-positives
2020-04-04 17:23:15 -04:00
Brown
1bf1a6e46b
Accept partial match of template type
2020-04-04 17:14:33 -04:00
Brown
c82834ebe4
Also add back MixedAssignment suppression
2020-04-04 12:15:53 -04:00
Brown
eacb3d7aa0
Add back possibly undefined docblock class suppression
2020-04-04 12:14:53 -04:00