1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-03 10:07:52 +01:00
Commit Graph

12159 Commits

Author SHA1 Message Date
Bruce Weirdan
80750fd579 Implement subtype checks for stringable-object 2022-11-10 19:55:36 -04:00
Bruce Weirdan
512ad832f3 TObjectWithProperties::$methods have lowercase keys
Method names in PHP are case-insensitive.
2022-11-10 19:55:36 -04:00
Bruce Weirdan
d122cef1ca Mark inferred mutation-free constructor as such
Previously Psalm treated those constructors as explicitly mutation-free,
and thus required descendant constructors to be explicitly marked too.

Fixes vimeo/psalm#8602
2022-11-10 19:55:25 -04:00
Bruce Weirdan
6effd1bd2d Flag invalid enum case value types
Fixes vimeo/psalm#8267
2022-11-10 19:55:18 -04:00
Bruce Weirdan
290b65f6dd Allow enum cases to reference constants
Fixes vimeo/psalm#8242
2022-11-10 19:54:45 -04:00
Bruce Weirdan
410c7bb474
Merge pull request #8697 from Nicelocal/fix_psl_e2e 2022-11-10 19:54:01 -04:00
Bruce Weirdan
30efa4abe1
Merge pull request #8698 from ThomasLandauer/patch-1 2022-11-10 16:17:15 -04:00
Thomas Landauer
c51d3665eb
Removing list
see https://github.com/vimeo/psalm/pull/8696#issuecomment-1310677110
2022-11-10 20:19:02 +01:00
Bruce Weirdan
4d53d26f00
Merge pull request #8689 from Nicelocal/fix_formatting 2022-11-10 13:21:37 -04:00
Bruce Weirdan
e2e9d824e7
Merge pull request #8696 from ThomasLandauer/patch-1 2022-11-10 12:38:03 -04:00
0038387252 Fix PSL e2e tests 2022-11-10 17:10:46 +01:00
Thomas Landauer
0c102a244e
Fixing code formatting 2022-11-10 16:59:04 +01:00
Matthew Brown
d63da1f66e
Prevent array{a: Foo} going cleanly into array<Foo> (#8691)
* Prevent array{a: Foo} going cleanly into array<Foo>

* Add test for new behaviour

* Fix code style issues

* Allow unions to be cloned again

* Simplify params properties
2022-11-10 09:18:27 -05:00
f8b9e97592 Fix heading indentation 2022-11-09 12:28:57 +01:00
9c23824b08 Try fix formatting 2022-11-09 10:17:38 +01:00
orklah
0cd1f13c83
Merge pull request #8687 from weirdan/emit-deprecatedinterface-when-referenced-in-generics
Emit `DeprecatedInterface` when interface is referenced in a generic
2022-11-09 07:09:35 +01:00
Matthew Brown
708db38742
Include docs with vendor dist 2022-11-08 20:35:26 -05:00
Bruce Weirdan
d81543f83e
Emit DeprecatedInterface when an interface is referenced in a generic
Fixes vimeo/psalm#8617
2022-11-08 20:34:08 -04:00
orklah
65c31ce89e
Merge pull request #8685 from Nicelocal/merge_4.x_final
Last-minute docufix
2022-11-08 21:10:30 +01:00
2e04aff60f Fix docs 2022-11-08 20:34:26 +01:00
orklah
33c2d9d8ca
Merge pull request #8684 from Nicelocal/merge_4.x_final
Merge 4.x and documentation fixes
2022-11-08 19:54:22 +01:00
0d0e965042 Fix typo 2022-11-08 17:54:43 +01:00
a341863db2 Fix typo 2022-11-08 17:54:03 +01:00
c720e41469 Better docs 2022-11-08 16:00:00 +01:00
3c7e5be703 Mark as internal 2022-11-08 10:55:14 +01:00
65d6a469b6 Fix tests 2022-11-08 10:45:21 +01:00
fc00b6338a Fix tests 2022-11-08 10:37:48 +01:00
383cec6863 Add missing docs 2022-11-08 10:29:04 +01:00
940e00e57a Fix 2022-11-08 10:26:28 +01:00
68a5511057 Merge remote-tracking branch 'origin/4.x' into HEAD 2022-11-08 10:25:04 +01:00
orklah
493233776b
Merge pull request #8681 from Ocramius/stubs/better-json-encode-types
Making `json_encode()` always produce a `non-empty-string`, when successful
2022-11-07 20:53:01 +01:00
Marco Pivetta
5e9b921fc6 Making json_encode() always produce a non-empty-string, when successful
`json_encode()` never produces `''` as a value: that would be invalid JSON anyway
2022-11-07 20:42:47 +01:00
orklah
f630a0dc39
Merge pull request #8655 from come-nc/fix/reflectionextension-callmap
Fix return type of ReflectionExtension::getVersion
2022-11-07 13:23:42 +01:00
orklah
618d599283
Merge pull request #8678 from VincentLanglet/phpstanParamOut
Add support for phpstan-param-out
2022-11-07 13:15:45 +01:00
Vincent Langlet
6916d414e2 Add support for phpstan-param-out 2022-11-07 10:22:33 +01:00
Côme Chilliet
8e70aa3a77
Fix ReflectionExtension::getVersion signature in CallMap_historical.php as well
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-11-07 09:12:36 +01:00
orklah
d0bc6e25d8
Merge pull request #8677 from orklah/openssl
adding openssl_x509_verify
2022-11-06 21:37:08 +01:00
orklah
398cf99c6c revert wrong commit 2022-11-06 21:24:03 +01:00
orklah
74111a3e93 adding openssl_x509_verify 2022-11-06 21:22:57 +01:00
orklah
b48a713a48
Merge pull request #8676 from othercorey/fix-return-callmap
Fix assert testing callmap return types
2022-11-06 09:59:46 +01:00
Corey Taylor
b87ebd697f Fix assert testing callmap return types 2022-11-06 00:59:55 -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
orklah
205e8cc73e
Merge pull request #8670 from danog/fix_8669
Fix #8669
2022-11-05 22:29:37 +01:00
923f1d2eb7 Possible fix 2022-11-05 22:23:31 +01:00
5a44522efb Fix #8669 2022-11-05 22:12:55 +01:00
orklah
0e1c638a95
Merge pull request #8666 from weirdan/remove-argc-argv-from-env
Remove `argc` and `argv` elements from `$_ENV`
2022-11-05 20:58:17 +01:00
Bruce Weirdan
81423dc12b
Remove argc and argv elements from $_ENV
Fixes vimeo/psalm#8662
2022-11-05 15:19:21 -04:00
orklah
2ae819e360
Merge pull request #8665 from danog/fix_8664
Fix #8664
2022-11-05 19:32:17 +01:00
da21229cab Fix #8664 2022-11-05 19:15:46 +01: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