1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-26 20:34:47 +01:00
Commit Graph

7604 Commits

Author SHA1 Message Date
Matt Brown
c07378a713
Fix #4467 - variables are only the same if they were set in the same location 2021-01-29 11:45:01 +01:00
Matt Brown
badf0855ce
Invalidate child methods when signature changes 2021-01-29 11:45:01 +01:00
Matt Brown
9d35e3c251
Fix #4464 - bust cache when Psalm’s version changes, not just composer’s 2021-01-29 11:45:01 +01:00
Matthew Brown
afc38b841c
Add aka 2021-01-29 11:45:01 +01:00
Matthew Brown
647e7de70c
Fix brackets 2021-01-29 11:45:01 +01:00
Matt Brown
15059aa50a
Support a bunch of attributes 2021-01-29 11:45:01 +01:00
Matt Brown
b217916f37
Use better inference for getAttributes return type
Fixes #4367
2021-01-29 11:45:00 +01:00
Matt Brown
c64597fa96
Only load xdebug stub afterwards
Ref #4459
2021-01-29 11:44:36 +01:00
Matt Brown
0ea0604cf3
Fix #4453 - sanitise @extends types before attempting to parse 2021-01-29 11:44:36 +01:00
Matt Brown
881068d5c0
Detect when targets are incorrectly targeted 2021-01-29 11:44:36 +01:00
Matt Brown
98b755fb6c
Add support for int-mask<...> and int-mask-of<...> 2021-01-29 11:44:35 +01:00
Jáchym Toušek
597b58d3a4
Add psalm-mutation-free to ext-ds (#4425)
* Add psalm-mutation-free to ext-ds

* Update ext-ds.php

* Update stubs/ext-ds.php

Co-authored-by: Jáchym Toušek <enumag@gmail.com>

Co-authored-by: Matthew Brown <github@muglug.com>
2021-01-29 11:44:35 +01:00
Joe Hoyle
7749682c71
Pass CodeLocation to FunctionParamsProviderInterface interface (#4444)
Currently the `getFunctionParams()` method of the `FunctionParamsProviderInterface` is never passed the CodeLocation of the analyzed function call. As this is in-scope in the only call site, we can pass the CodeLocation. This means the `getFunctionParams()` is able to issue it's own Issues (which required the code location to attached the Issue to)
2021-01-29 11:44:35 +01:00
Matt Brown
fb81fa13f4
Ensure Stringable is always available to tests that need it 2021-01-29 11:44:35 +01:00
Matt Brown
7c1c2f77f7
Use softer return 2021-01-29 11:44:35 +01:00
Matt Brown
2c2e171441
Use more robust check for Stringable stub 2021-01-29 11:44:35 +01:00
Matt Brown
9f87b99fac
Fix #4435 - ensure casts are always flow-sensitive 2021-01-29 11:44:35 +01:00
Matt Brown
ab90097baf
Remove subpar test 2021-01-29 11:44:35 +01:00
Matt Brown
a495e067ca
Protect more calls 2021-01-29 11:44:34 +01:00
Matt Brown
3ebdb3b952
Use more accurate comparison for non-empty-lists 2021-01-29 11:44:34 +01:00
Matt Brown
f242845195
Fix count call 2021-01-29 11:44:34 +01:00
Matt Brown
f9adf24d6d
Use lists everywhere for args 2021-01-29 11:44:34 +01:00
Matt Brown
116bf2e867
If interface implements __toString it’s also Stringable 2021-01-29 11:44:34 +01:00
Matt Brown
97dc34bed3
Add polyfill for Stringable interface 2021-01-29 11:44:34 +01:00
Matt Brown
951c3715f7
Fix tests 2021-01-29 11:44:33 +01:00
Matt Brown
35fd64bf74
Fix test type 2021-01-29 11:44:33 +01:00
Matt Brown
106747487b
Fix #4429 - any class with a __toString method in PHP8 assumed to implement Stringable 2021-01-29 11:44:33 +01:00
Matt Brown
7f975045f4
Fix #4422 - be aware of nested template params 2021-01-29 11:44:33 +01:00
Matt Brown
1762f39a74
Fix comma 2021-01-29 11:44:33 +01:00
Matt Brown
e440baf671
Improve algebra handling a little better 2021-01-29 11:44:33 +01:00
Matthew Brown
5a5a355336
Bump circle PHP version 2021-01-29 11:44:33 +01:00
Matthew Brown
831bcdc057
Experiment with PHP 7.1 compatibility (#4421)
* Experiment with PHP 7.1 compatibility

* Let’s hop
2021-01-29 11:44:32 +01:00
Matt Brown
cbaffcee67
Fix #4407 - always scan types in @var docblocks regardless of next element 2021-01-29 11:44:32 +01:00
Simon Podlipsky
35201697e9
Fix preg_match_all param name (#4416) 2021-01-29 11:44:32 +01:00
Matt Brown
870d07ba51
Fix #4418 - improve try analysis for mixed, too 2021-01-29 11:44:32 +01:00
Matt Brown
c16d779bca
Fix #4397 - allow offsetGet on inside isset 2021-01-29 11:44:32 +01:00
Benjamin Morel
36b7186712
Ds\Queue & Ds\Set implement ArrayAccess as well (#4415) 2021-01-29 11:44:32 +01:00
Matt Brown
d027bbf41b
Remove stubs with variadic middle params
Fixees #4377
2021-01-29 11:44:32 +01:00
Matt Brown
95b0d6da91
Maintain old behaviour when file does not exist 2021-01-29 11:44:32 +01:00
Matt Brown
fcf8f442fd
Fix output in tests (for non-existent files) 2021-01-29 11:44:32 +01:00
Matt Brown
6ceedb0916
Fix #4410 - use better path normalisation 2021-01-29 11:44:32 +01:00
Matthew Brown
41e073dc05
Bump Psalm Phar version 2021-01-29 11:44:31 +01:00
Matt Brown
e8b3f55013
Track final-ness of class when evaluating trait returns 2021-01-29 11:44:31 +01:00
Matt Brown
2665b7ec33
Don’t require webmozart/glob
Fixes #4408
2021-01-29 11:44:31 +01:00
Matt Brown
5aee8e77d5
Fix #4414 - allow multiple @psalm-assert-if-true on same var 2021-01-29 11:44:31 +01:00
Matt Brown
7703a18bdd
Change working dir after getting paths 2021-01-29 11:44:31 +01:00
Matt Brown
eef4ea018b
Empty checks variables are really falsy checks 2021-01-29 11:44:31 +01:00
Matt Brown
8ecbcc5849
Fix a few bugs 2021-01-29 11:44:31 +01:00
Matt Brown
9daeaacca6
Add null check 2021-01-29 11:44:31 +01:00
Matt Brown
a57d62b71b
Add logic to weed out unnecessary clauses 2021-01-29 11:44:30 +01:00