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

294 Commits

Author SHA1 Message Date
Andrew Nagy
da66665de9 Merge branch '4.x' into feature/upgrade-lsp 2022-11-30 17:59:23 +00:00
Bruce Weirdan
ed36f2c2e8
Bump slevomat/coding-standard
This prevents issues with incompatible `phpstan/phpdoc-parser`.

`slevomat/coding-standard:8.3` claimed compatibility with
`phpstan/phpdoc-parser:^1.6`, but it fails with a fatal error when
`phpstan/phpdoc-parser:1.14` is installed (apparently there was a BC
break in a minor version of `phpstan/phpdoc-parser`).

Since 8.4 slevomat/coding-standard adopted a more conservative
dependency strategy, and they don't allow new untested versions of
`phpstan/phpdoc-parser`.

8.4 still allows PHP 7.2, so we should have no problems due to 7.x
  removal.
2022-11-27 16:16:52 -04:00
Bruce Weirdan
a8e0ff52df
Move mockery to require-dev too 2022-11-26 21:24:13 -04:00
Bruce Weirdan
d1921b1abf
Merge pull request #8771 from weirdan/reenable-platform-check
Fixes https://github.com/vimeo/psalm/issues/7560
2022-11-26 04:09:57 -04:00
Bruce Weirdan
b8ca90c38e
Re-enable platform-check
This makes sure that we output sensible error (not very pretty, but
useful) when required extensions are missing.

Fixes vimeo/psalm#7560
2022-11-26 02:57:49 -04:00
Bruce Weirdan
074136c8ef
Merge pull request #8768 from orklah/composer-deps 2022-11-26 01:59:15 -04:00
Bruce Weirdan
3ad90fa0fb
Move mockery plugin to require-dev 2022-11-25 20:15:54 -04:00
orklah
2c5052c509 bump lower dependencies 2022-11-26 00:19:55 +01:00
orklah
74d37452ee Test CI on 8.2 2022-11-25 03:43:24 -04:00
Bruce Weirdan
6c77daf1f4
Upgrade mockery plugin
and other assorted fixes for PHP 8.2
2022-11-25 03:33:10 -04:00
Bruce Weirdan
42b71f5eae
Switch from phpspec/prophecy to mockery/mockery
It provides similar functionality, but is a bit more alive and does not
prevent installation with PHP 8.2
2022-11-24 21:20:21 -04:00
d0be59e16e
Immutable unions (#8627)
* Immutable CodeLocation

* Remove excess clones

* Remove external clones

* Remove leftover clones

* Fix final clone issue

* Immutable storages

* Refactoring

* Fixes

* Fixes

* Fix

* Fix

* Fixes

* Simplify

* Fixes

* Fix

* Fixes

* Update

* Fix

* Cache global types

* Fix

* Update

* Update

* Fixes

* Fixes

* Refactor

* Fixes

* Fix

* Fix

* More caching

* Fix

* Fix

* Update

* Update

* Fix

* Fixes

* Update

* Refactor

* Update

* Fixes

* Break one more test

* Fix

* FIx

* Fix

* Fix

* Fix

* Fix

* Improve performance and readability

* Equivalent logic

* Fixes

* Revert

* Revert "Revert"

This reverts commit f9175100c8452c80559234200663fd4c4f4dd889.

* Fix

* Fix reference bug

* Make default TypeVisitor immutable

* Bugfix

* Remove clones

* Partial refactoring

* Refactoring

* Fixes

* Fix

* Fixes

* Fixes

* cs-fix

* Fix final bugs

* Add test

* Misc fixes

* Update

* Fixes

* Experiment with removing different property

* revert "Experiment with removing different property"

This reverts commit ac1156e077fc4ea633530d51096d27b6e88bfdf9.

* Uniform naming

* Uniform naming

* Hack hotfix

* Clean up $_FILES ref #8621

* Undo hack, try fixing properly

* Helper method

* Remove redundant call

* Partially fix bugs

* Cleanup

* Change defaults

* Fix bug

* Fix (?, hope this doesn't break anything else)

* cs-fix

* Review fixes

* Bugfix

* Bugfix

* Improve logic

* Update
2022-11-04 19:04:23 +01:00
748a74bb2c Merge remote-tracking branch 'origin/4.x' into HEAD 2022-10-16 13:41:27 +02:00
Matthew Brown
d957ff2015
Fix mixed type hole when sending Foo<string> to Foo<mixed> (#8481)
* Fix mixed type hole when sending Foo<string> to Foo<mixed>

* Fix ifThisIs test

* Suppress bugs highlighted with fix

* Fix PHPDoc parsing
2022-09-13 13:13:06 -04:00
Matt Brown
95bb71f8a2 Support PHP 7.1 in require-dev restriction 2022-09-13 12:39:15 -04:00
Matthew Brown
4b2841580e
Pin version of PHPStan phpdoc parser for slevomat rules 2022-09-13 09:50:21 -04:00
Andrew Nagy
4109e4bd53 Merge branch '4.x' of https://github.com/vimeo/psalm into feature/upgrade-lsp 2022-07-21 21:04:50 +00:00
AndrolGenhald
285740a753 Merge branch '4.x' 2022-07-07 15:01:38 -05:00
Sam Mousa
37549ee03c
add test for ignore list cleanup 2022-06-22 12:59:47 +02:00
Bruce Weirdan
e0acf22e40
Merge branch '4.x' into update-master 2022-05-28 14:49:12 -04:00
Matt Brown
4bc5da88dd Improve scoping a bit more 2022-04-27 01:37:26 -04:00
Andrew Nagy
0944ca52d7 use latest language server 2022-03-31 18:01:25 +00:00
Andrew Nagy
26434c525f Merge branch '4.x' of https://github.com/vimeo/psalm into feature/upgrade-lsp 2022-03-25 17:01:05 +00:00
Matthew Brown
a0739b1716 Abandon humbug/box update attempt 2022-03-07 16:57:18 -05:00
Matthew Brown
510456c7c4 Improve scoping a bit more 2022-03-07 16:50:20 -05:00
Matthew Brown
9b69c7a089 Remove references to unused SqlStringProvider plugin 2022-03-07 14:54:35 -05:00
Andrew Nagy
045bbe23a9 basic testing, disable log filtering 2022-02-18 17:29:09 +00:00
sasezaki
b2ee5f6bbc Bump up phpunit,prophecy, and introduced phpspec/prophecy-phpunit 2022-02-09 21:15:56 +09:00
sasezaki
eb518680a8 No longer require declare phpdocumentor/reflection-docblock:^5 as dependency
see https://github.com/vimeo/psalm/pull/3967
prophecy upper version always phpdocumentor/reflection-docblock:^5.0
2022-02-09 09:06:31 +09:00
Andrew Nagy
867a4862f3 bump 2022-02-07 17:50:55 +00:00
Andrew Nagy
8855bedab6 bump 2022-02-07 17:12:56 +00:00
Bruce Weirdan
a83c717d43
Merge pull request #7594 from sasezaki/branch-alias-5 2022-02-05 23:50:06 +02:00
sasezaki
67bd9627b4 Fixed composer branch-alias 2022-02-05 21:07:41 +09:00
Bruce Weirdan
788de797eb
Allow mocking final classes 2022-02-05 06:40:20 +02:00
Andrew Nagy
e259d56627 bump again 2022-02-03 23:22:56 +00:00
Andrew Nagy
a7146b4e37 bump 2022-02-03 23:21:28 +00:00
Andrew Nagy
20e7316dfa remove need for defining lsp elsewhere 2022-02-03 23:19:39 +00:00
Andrew Nagy
870e1ba959 additional work to caching engine 2022-02-01 12:10:22 -08:00
Andrew Nagy
427ff3a018 Upgrade LSP to support additional features 2022-01-31 22:15:29 +00:00
Bruce Weirdan
1a1b5a9e6a
Merge branch '4.x' into upstream-master 2022-01-08 23:38:29 +02:00
Bruce Weirdan
a4878ac2b5
Revert "Merge pull request #7239 from DeyV/master"
This reverts commit 33628cad51, reversing
changes made to 216cf6c534.
2022-01-08 22:26:24 +02:00
Bruce Weirdan
02b91cc54e
Replaced deprecated webmozart/path-util 2022-01-04 15:15:34 +02:00
Bruce Weirdan
d227cb5fe2
Tighten dependency ranges 2022-01-04 12:43:12 +02:00
Bruce Weirdan
20567ff720
Remove the polyfill we no longer need 2022-01-04 11:29:00 +02:00
Bruce Weirdan
fa33632958
Bump PHP version to 7.4
Also exclude 8.2+ for now - we don't know if current Psalm version would
be compatible with that.
2022-01-04 10:25:00 +02:00
Bruce Weirdan
706f2a7761
Drop legacy procedural files 2022-01-03 12:04:35 +02:00
Dawid 'DeyV' Polak
19c26f7263 Move from deprecated Composer 1 to Composer 2 runtime api 2021-12-29 16:20:14 +01:00
John Stevenson
1cb58ad689
Keep XdebugHandler version 1 2021-12-26 23:00:53 +02:00
John Stevenson
015cc22fa7
Add XdebugHandler version 3 2021-12-26 23:00:50 +02:00
orklah
f2da7f18e1 allow phpcodesniffer-composer-installer plugin 2021-12-23 09:40:38 +01:00
Fabien Villepinte
19fd6532fd
Add composer/package-versions-deprecated 2021-12-13 17:59:32 +01:00
Fabien Villepinte
e96ab8d923
Set allow-plugins for Composer 2.2
This new configuration has been introduced with Composer 2.2: https://github.com/composer/composer/releases/tag/2.2.0-RC1
2021-12-13 17:45:32 +01:00
ralila
2ff739be4f Replace all-tests with tests 2021-11-30 22:43:54 +01:00
ralila
4c6f913d38 Make parallel unit tests standard 2021-11-30 22:41:39 +01:00
ralila
9389f98997 Add lint to the tests 2021-11-30 22:31:16 +01:00
ralila
ec02cf18a8 Use references in combined tests 2021-11-30 18:01:22 +01:00
ralila
87f1eadcd0 Sort scripts alphabetically 2021-11-30 17:53:23 +01:00
ralila
89c8ce7c94 Add parallel phpunit run to scripts 2021-11-30 17:50:48 +01:00
ralila
b946f2235f Add scripts descriptions 2021-11-30 17:17:53 +01:00
ralila
b4bdb69012 Add phpunit to composer scripts 2021-11-30 17:07:09 +01:00
ralila
ac230dac5c Make test runnable on plain windows 2021-11-26 23:02:22 +01:00
sasezaki
6423d8e777 Added ext-curl to composer.json suggest property 2021-11-07 12:03:25 +09:00
Loïc Frémont
4b901bca71 Add support for Symfony 6 2021-10-14 01:34:01 +02:00
orklah
870ee4ff93 ->args to ->getArgs 2021-10-09 23:37:04 +02:00
orklah
6bb952dc37 limit PHPParser to 4.12 2021-09-20 15:31:19 +02:00
Bruce Weirdan
b4f4c94f77
Merge pull request #6368 from localheinz/fix/ctype
Fix: Require ext-ctype
2021-08-27 15:39:34 +03:00
Andreas Möller
e9142d6ea2
Fix: Keep packages sorted in composer.json 2021-08-27 11:02:49 +02:00
Andreas Möller
10534471fe
Fix: Require ext-ctype 2021-08-27 10:59:30 +02:00
Bruce Weirdan
6540e28e5b
Drop Appveyor reporter as we no longer use Appveyor 2021-08-03 19:38:11 +03:00
Matthew Brown
43cff22b25 Add support for native PHP readonly 2021-07-21 13:29:07 -04:00
Bruce Weirdan
9b17fb94b0
Merge pull request #5926 from weirdan/update-symfony-process
Allow symfony/process:5
2021-06-12 05:25:38 +03:00
Bruce Weirdan
92c7785bc0
Update psalm/plugin-phpunit (#5925) 2021-06-11 19:31:12 -04:00
Bruce Weirdan
6e9c75d6ee
Allow symfony/process:5 2021-06-12 01:05:12 +03:00
Matthew Brown
832a190dd4
Support enums (#5699)
* Add initial enum preparation

* Support cases method

* Ignore bad use error

cc @weirdan

* Fix type
2021-05-03 17:54:09 -04:00
Bruce Weirdan
105c6f3a1c
Remove (and prevent) unused uses (#5704)
* Updates `slevomat/coding-standard`
* Removes unused uses
* Prevents unused uses
* Fixes a number of symbol case mismatches
2021-05-03 17:22:15 -04:00
Alessandro Lai
ee778e9246
Allow Xdebug handler 2.0 (#5633) 2021-04-16 16:07:47 -04:00
Matt Brown
2d197e3e12 Allow older composer/semver cc @xurizaemon 2021-03-28 23:45:52 -04:00
Matt Brown
5ecab7b9e7 Bump minimum version of composer/semver to allow constraint parsing 2021-03-24 12:30:13 -04:00
Bruce Weirdan
8d78372d43
Use appveyor reporter instead of a file upload (#5438)
* Use appveyor reporter instead of file upload

* Use tagged version of appveyor reporter
2021-03-19 23:25:34 -04:00
Junaid Farooq
5066377271
Remove duplicate entry for 'amphp/amp' from composer.json file (#5352)
Removes the duplicate entry for 'amphp/amp'  from the require-dev section of _composer.json_ file.
Updates the entry in the require section to the latest version used earlier.
2021-03-11 00:10:23 -05:00
Joe Hoyle
e59670ef68
Add documentation to LSP (#5267)
* Add documention to LSP

Add descriptions for all Classes, Functions, Methods, Class Constants for LSP methods for Hover, SignatureInformation and Completions

* Descriptions for class name completions

* PHPCS

* Fix docblock being overriden

* Remove trailing comma in args

* Add description to function param before early `continue`

* Update php-language-server-protocol to 1.5

* Break up long array docblocks

* Break up docblock onto newline

Co-authored-by: Matthew Brown <github@muglug.com>
2021-02-24 10:14:04 -05:00
Jérôme Gamez
b5ab0ff38b
Allow installation of netresearch/jsonmapper ^4.0 (#5240) 2021-02-17 16:37:43 -05:00
Bruce Weirdan
7e61012359
Add linting to prevent embarassing errors (#5209)
* Added linting to prevent embarassing errors

Refs vimeo/psalm#5201

* Ignore unused requirements
2021-02-12 17:03:03 -05:00
Matthew Brown
80a82c317a Fix lack of autoload_real in latest humbug/box 2020-12-29 14:01:22 +00:00
Bruce Weirdan
c27cd3d472
Fix windows builds (#4775)
* Choco now offers PHP 8 only

* Bump build deps to allow PHP 8 builds

* Bump slevomat

* Disable coverage to allow paratest

* Bump dummy project version to allow testing on PHP 8
2020-12-04 15:11:14 -05:00
Matthew Brown
42c9f017f9
Experiment with PHP 7.1 compatibility (#4421)
* Experiment with PHP 7.1 compatibility

* Let’s hop
2020-10-26 15:14:48 -04:00
Matt Brown
949891a1dd Don’t require webmozart/glob
Fixes #4408
2020-10-25 11:49:53 -04:00
Matt Brown
7c5feb2968 Bump minimum phpunit plugin version 2020-10-19 09:16:18 -04:00
Matthew Brown
b4a2391484
Update composer.json 2020-10-19 01:55:18 -04:00
Matthew Brown
e918b5dff1
Add 4.0 compatibility (hopefully) 2020-10-19 01:26:23 -04:00
Brown
960579df5f Require latest php-parser 2020-09-25 10:07:43 -04:00
Brown
c4450b930c Fix various things 2020-09-13 22:39:03 -04:00
Bruce Weirdan
aa09a1c780
Use per-user cache folder (#4098)
Fixes vimeo/psalm#3869
2020-09-01 09:20:24 -04:00
Brown
c565819a0c Bump PHPUnit plugin version 2020-08-30 12:40:47 -04:00
Brown
92239add4d Add some backwards-incompatible changes for 4.x 2020-08-30 11:44:14 -04:00
Bruce Weirdan
ffd899ed3c
Fix prophecy warnings (#4051)
* Use weirdan/prophecy-shim to avoid PHPUnit warnings on prophesize() calls

* Drop vcs repo as the package is already available on packagist

* Bump psalm/plugin-phpunit

Fixes Prophecy-related issues
2020-08-24 18:02:39 -04:00
Matthew Brown
73321339a3 Bump nikic/php-parser 2020-08-09 16:23:43 -04:00
kazusuke sasezaki
12cd512fb6
specify requirement phpdocumentor/reflection-docblock:^4.3.4 (#3967) 2020-08-09 08:25:30 -04:00
Matthew Brown
3f06d4f706 Restrict compatible versions of nikic/php-parser 2020-07-25 17:33:19 -04:00
Bruce Weirdan
56047dd094
Use composer/package-versions-deprecated instead of ocramius/package-versions (#3846)
It allows wider range of PHP versions in addition to supporting both
Composer v1 and v2

Fixes vimeo/psalm#3844
2020-07-20 04:53:16 -04:00