1
0
mirror of https://github.com/danog/psalm.git synced 2025-01-10 23:18:40 +01:00
Commit Graph

62 Commits

Author SHA1 Message Date
Matthew Brown
8d36bdc3ed
Make array shapes strict by default (#8701)
* Make array shapes strict by default

* Fix PSL tests
2022-11-11 20:14:21 -05:00
1986c8b4a8
Add support for strict arrays, fix type alias intersection, fix array_is_list assertion on non-lists (#8395)
* 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

* Add support for list{} and callable-list{} types, properly implement array_is_list assertions (fixes #8389)

* Default to sealed arrays

* Fix array_merge bug

* Fixes

* Fix

* Sealed type checks

* Properly infer properties-of and get_object_vars on final classes

* Fix array_map zipping

* Fix tests

* Fixes

* Fixes

* Fix more stuff

* Recursively resolve type aliases

* Fix typo

* Fixes

* Fix array_is_list assertion on keyed array

* Add BC docs

* Fixes

* fix

* Update

* Update

* Update

* Update

* Seal arrays with count assertions

* Fix #8528

* Fix

* Update

* Improve sealed array foreach logic

* get_object_vars on template properties

* Fix sealed array assertion reconciler logic

* Improved reconciler

* Add tests

* Single source of truth for test types

* Fix tests

* Fixup tests

* Fixup tests

* Fixup tests

* Update

* Fix tests

* Fix tests

* Final fixes

* Fixes

* Use list syntax only when needed

* Fix tests

* Cs-fix

* Update docs

* Update docs

* Update docs

* Update docs

* Update docs

* Document missing types

* Update docs

* Improve class-string-map docs

* Update

* Update

* I love working on psalm :)

* Keep arrays unsealed by default

* Fixup tests

* Fix syntax mistake

* cs-fix

* Fix typo

* Re-import missing types

* Keep strict types only in return types

* argc/argv fixes

* argc/argv fixes

* Fix test

* Comment-out valinor code, pinging @romm pls merge https://github.com/CuyZ/Valinor/pull/246 so we can add valinor to the psalm docs :)
2022-11-05 22:34:42 +01:00
7b6e09afc9 Merge branch 'merge_4.x' into immutable_readonly_3 2022-10-17 12:58:41 +02:00
748a74bb2c Merge remote-tracking branch 'origin/4.x' into HEAD 2022-10-16 13:41:27 +02:00
0155ad7472 Immutable readonly 3 2022-10-03 15:13:47 +02:00
kkmuffme
da68e9d739 fix psalm-internal risky casts 2022-09-19 21:54:16 +02:00
kkmuffme
15046c932b preg_replace with anchor will always only have 1 replacement, add limit for clarity and performance 2022-09-08 18:51:33 +02:00
Bruce Weirdan
58e87fa5e0
Applied ArraySpreadInsteadOfArrayMergeRector (take 2) 2022-07-29 18:17:21 -04:00
Bruce Weirdan
e0acf22e40
Merge branch '4.x' into update-master 2022-05-28 14:49:12 -04:00
Jerome TAMARELLE
afed93b6bd Fix conflict of option -c with shell completion 2022-05-20 09:42:57 +02:00
Matt Brown
fccc366c1e Merge pull request #7887 from ging-dev/lsp-fixes
improve LSP
2022-04-27 10:13:17 -04:00
m1ke
70b44d566f Alter order of baseline option operations to allow updating custom baseline 2022-04-26 14:35:33 +01:00
Aleksandr Zhuravlev
b4fdc3e326 Made most of callbacks static. Reworked some array_map() into foreach() 2022-04-09 21:58:26 +12:00
m1ke
92aedd6f7f Fix cherry pick issues 2022-02-11 11:27:01 +00:00
m1ke
a688bd6da3 Use config threads if lower than detected threads 2022-02-11 11:23:09 +00:00
m1ke
810880c71b Alter order of precedence and upated docs to match 2022-02-11 11:12:36 +00:00
AndrolGenhald
5c01913456 Remove deprecated loadXdebugStub attribute. 2022-01-27 16:55:20 -06:00
m1ke
6107148fce Alter order of precedence and upated docs to match 2022-01-20 15:24:21 +00:00
m1ke
0dc4249d43 Fix phpcs 2022-01-20 10:09:15 +00:00
m1ke
2fdae4ae16 Use config threads if lower than detected threads 2022-01-20 09:50:01 +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
8726065d21
Applied ClosureToArrowFunctionRector 2022-01-06 00:48:04 +02:00
Bruce Weirdan
94395f18a4
Applied JsonThrowOnErrorRector 2022-01-05 19:32:43 +02:00
Bruce Weirdan
758e0afd96
Merge branch 'master' into rector-literal-number-separator 2022-01-05 12:32:52 +02:00
Bruce Weirdan
5758d31161
Apply literal number separator rector
I opted for customary 3-digit groups, except version id, where 2-digit
groups are used to match the version id encoding.
2022-01-05 01:00:05 +02:00
Bruce Weirdan
0c13d8e719
Indent heredoc
PHP 7.3 allows indenting of heredoc / nowdoc strings.
2022-01-04 19:57:41 +02:00
Bruce Weirdan
02b91cc54e
Replaced deprecated webmozart/path-util 2022-01-04 15:15:34 +02:00
Bruce Weirdan
dbee118812
Moved getPsalmHelpText() to Cli\Psalm 2022-01-03 20:46:24 +02:00
Bruce Weirdan
b924032850
Mark internal classes @internal 2022-01-03 09:33:22 +02:00
Dawid 'DeyV' Polak
7172f4bdbe missing default value for $version 2022-01-02 18:13:02 +01:00
Dawid 'DeyV' Polak
d43f2beed8 Fixed problems with test-with-real-projects 2021-12-31 15:15:04 +01:00
Dawid 'DeyV' Polak
19c26f7263 Move from deprecated Composer 1 to Composer 2 runtime api 2021-12-29 16:20:14 +01:00
orklah
2bf5a71d46 fix CS 2021-12-27 22:37:30 +01:00
orklah
65fffd2116 replace fully qualified names by imports 2021-12-27 22:30:10 +01:00
orklah
3e29a3d961 unnecessary qualified names 2021-12-27 20:16:34 +01:00
ralila
b5cf7bf170 Conversion of Psalm\Internal\Provider\ 2021-12-14 02:31:27 +01:00
rarila
39402c233d
Return type hints (#7065)
Co-authored-by: ralila <>
2021-12-05 19:51:26 +02:00
Bruce Weirdan
e9d9481ea6
Merge pull request #7060 from rarila/codingstyle-convert-fqn 2021-12-05 02:46:03 +02:00
ralila
81c94f12c1 Revert \Composer\Autoload\ClassLoader in other Cli\*.php 2021-12-05 00:30:13 +01:00
ralila
2d199d1f13 Revert \Composer\Autoload\ClassLoader in Cli\Psalm.php 2021-12-04 23:07:54 +01:00
ralila
8fb2e0f885 Handle some partials 2021-12-04 21:55:53 +01:00
Bruce Weirdan
14dcbc908a
Don't output console links in CI env (#7049) 2021-12-04 19:49:24 +02:00
ralila
711be643c6 Import instead of using fqn exceptions 2021-12-03 20:29:06 +01:00
ralila
245920e53c Import instead of using fqn 2021-12-03 20:11:20 +01:00
Bruce Weirdan
d19aad7db1
Display target PHP version
Historically it was often not quite clear to users what PHP version
Psalm assumes, and why. This PR addresses this issue by printing the
version and where we got it from right before scanning the files.
2021-11-27 02:18:09 +02:00
Nadyita
6b08f1741b Fix --enable-autocomplete=false 2021-11-10 18:04:47 +01:00
orklah
d330b340d2 try without second call 2021-10-28 22:07:50 +02:00
orklah
53c0a4e63a cleanup 2021-10-04 00:03:06 +02:00
orklah
ab6efe49b2 fix CS 2021-09-26 23:41:26 +02:00