1
0
mirror of https://github.com/danog/psalm.git synced 2025-01-10 06:58:41 +01:00
Commit Graph

9041 Commits

Author SHA1 Message Date
orklah
41ae518800
Merge pull request #9001 from fluffycondor/http_response_header-non-empty-list
Make `$http_response_header` a non-empty-list
2022-12-28 00:27:30 +01:00
Bruce Weirdan
52da29e389
Do not require return type on destructors in interfaces
Fixes vimeo/psalm#9008
2022-12-26 15:45:44 -04:00
Vincent Langlet
b1f1ca6d7e Try 2022-12-25 19:11:54 +01:00
Vincent Langlet
a8ef02db5a Real fix 2022-12-25 17:35:47 +01:00
fluffycondor
040737de24 Fix non-empty-list class 2022-12-25 11:45:56 +06:00
fluffycondor
a077bd4351 Make http_response_header possibly undefined 2022-12-25 11:38:51 +06:00
Jack Worman
1bb9eb4cfc forbidden function bug and better get_defined_functions() signature 2022-12-24 12:34:40 -06:00
fluffycondor
69da58d578 Make http_response_header a non-empty-list of non-falsy-string 2022-12-25 00:02:58 +06:00
Vincent Langlet
06010b40ce Fix 2022-12-24 13:24:28 +01:00
Jack Worman
703a1e1698 @psalm-api 2022-12-23 16:13:46 -06:00
Bruce Weirdan
bf6ef6466e
Improve invalid references message in @psalm-type
Fixes vimeo/psalm#8842
2022-12-23 14:52:08 -04:00
orklah
1cde7e4031
Merge pull request #8792 from emmanuelGuiton/master
Fixes vimeo#8112
2022-12-22 22:11:42 +01:00
Bruce Weirdan
7924a52a62
Drop symfony/polyfill-php80 dependency 2022-12-22 13:06:21 -04:00
Emmanuel GUITON
164e279d08 Fixed object comparison that aims to improve nested template analysis (vimeo#8112). 2022-12-22 15:16:17 +01:00
Emmanuel Guiton
b138107bf3
Merge branch 'vimeo:master' into master 2022-12-22 15:15:46 +01:00
Jack Worman
8e5904d624 Fix get_object_vars on enums 2022-12-21 22:51:53 -06:00
orklah
898aa90436
Merge pull request #8967 from jack-worman/Remove_occurrences
Remove occurrences from error baseline
2022-12-21 20:31:56 +01:00
dd721a27c5 Revert 2022-12-21 14:04:42 +01:00
Jack Worman
896799dff4 Remove occurrences 2022-12-21 06:45:45 -06:00
Emmanuel GUITON
3364bd97e1 Additional code style fixes (vimeo#8112). 2022-12-21 11:51:42 +01:00
Emmanuel Guiton
94adf78c16
Merge branch 'vimeo:master' into master 2022-12-21 10:56:47 +01:00
Jack Worman
b2ccf2487e Add Codebase to remaining events 2022-12-20 17:18:50 -06:00
orklah
91081f77fd
Merge pull request #8781 from weirdan/8758-optional-offsets-in-phpstorm-meta
Allow omitting argument offsets for map-type overrides in phpstorm.meta
2022-12-20 19:38:51 +01:00
02cd829b7d Fix bug 2022-12-20 13:28:47 +01:00
8013b0eea2 Replace some LNumber usages 2022-12-19 22:14:32 +01:00
750e2da542 Cleanup 2022-12-19 21:29:13 +01:00
dc5a4576a5 Fix 2022-12-19 21:25:06 +01:00
8b4d5f871c Fix 2022-12-19 21:16:03 +01:00
4fb5a615f1 Fix tests 2022-12-19 19:24:03 +01:00
ab2692fdd3 Update 2022-12-19 18:31:43 +01:00
4ea5329087 Never assign never to an array 2022-12-19 17:49:09 +01:00
2617b68ca9 Simplify 2022-12-19 17:40:45 +01:00
ce06f4e0d0 Fix 2022-12-19 17:27:49 +01:00
b9424a88cb Update 2022-12-19 17:22:00 +01:00
ec11254316 Update 2022-12-19 14:27:41 +01:00
e923229204 Fix array_merge 2022-12-19 14:01:00 +01:00
326ba91812 Update 2022-12-19 13:49:42 +01:00
9d7dd20293 Fix some tests 2022-12-19 13:04:24 +01:00
b91ad2cb1d Begin fixing #8942 2022-12-19 12:55:32 +01:00
bde77f7a95 Fixes 2022-12-19 12:29:27 +01:00
b691219da5 cs-fix 2022-12-19 12:09:20 +01:00
4e7ff473a5 Fix #8940 2022-12-19 12:06:57 +01:00
Theodore Brown
0f4db694df Allow conditions inside loops to preserve or narrow int range
Fixes #7555, fixes #8020, fixes #8865
2022-12-18 17:35:14 -06:00
Jack Worman
1c19260cdd Require trailing commas 2022-12-18 13:20:31 -06:00
orklah
8223332185
Merge pull request #8926 from danog/fix_8925
Skip intersection of template types during inheritance check
2022-12-18 18:53:07 +01:00
orklah
da001c46cd
Merge pull request #8929 from danog/fix_8923
Fix #8923
2022-12-18 18:52:37 +01:00
2f5d0a4a9f Fix #8923 2022-12-18 18:19:22 +01:00
bccda92f31 Skip intersection of template types during inheritance check 2022-12-18 17:12:04 +01:00
c454a181cc Fixes 2022-12-18 15:00:15 +01:00
b83226a0db More array_merge improvements 2022-12-18 14:37:19 +01:00
orklah
a76a1d1a52
Merge pull request #8916 from jack-worman/Remove_useless_ifs
Remove useless ifs
2022-12-17 15:54:28 +01:00
orklah
62ced63375
Merge pull request #8910 from jack-worman/Last_property_typehints
Last property typehints
2022-12-17 15:53:36 +01:00
Jack Worman
2f677f600b CS fixes 2022-12-17 08:13:32 -06:00
Jack Worman
30a8f71958 Remove useless ifs 2022-12-16 22:00:34 -06:00
Bruce Weirdan
425d9fa8bf
Recognize casts from object-with-properties to array
Previously `(array)(object)['a' => 1, 'b' => 'foo']` would result in
`array<array-key, mixed>`. Now it would be inferred as
`array{a:1,b:foo,...<array-key,mixed>}`
2022-12-16 20:12:02 -04:00
Jack Worman
9ce31a7709 Re-add short closure sniff 2022-12-16 17:02:10 -06:00
orklah
5afc3282d4
Merge pull request #8902 from kkmuffme/fix-never-static-calls
fix return type never for static function calls
2022-12-16 22:06:19 +01:00
Jack Worman
a52f35e5e1 Even more property typehints 2022-12-16 13:24:21 -06:00
2c00c64304 Bypass bug 2022-12-16 19:18:33 +01:00
f5b6889c32 Fix 2022-12-16 18:39:35 +01:00
992f26a8e7 Fix array_merge edge case 2022-12-16 18:10:46 +01:00
kkmuffme
eeb0c06173 fix return type never for static function calls 2022-12-16 11:55:31 +01:00
orklah
f4d70384ee
Merge pull request #8885 from lptn/php-ext-with-deprecation
Deprecation message on loading php-ext stubs without explicitly declaring them as dependency or in a config
2022-12-15 21:17:38 +01:00
Bruce Weirdan
e7a4fd98e5
Fix SA issues 2022-12-15 00:18:53 -04:00
Jack Worman
76a7c7da4a Added SlevomatCodingStandard.TypeHints.PropertyTypeHint sniff 2022-12-14 20:43:26 -06:00
Jack Worman
2b5407d2fb Added SlevomatCodingStandard.TypeHints.ParameterTypeHint sniff and removed php-cs-fixer 2022-12-14 20:26:17 -06:00
Jack Worman
69658e8315 SlevomatCodingStandard.Commenting.DocCommentSpacing 2022-12-14 13:34:41 -06:00
Jack Worman
0939e63323 Add @internal tag and fix php-cs-fixer mistake 2022-12-14 08:06:37 -06:00
Jack Worman
749ce58c27 Add more property typehints 2022-12-13 21:34:34 -06:00
Jack Worman
36fa162d6d Use php-cs-fixer to clean up docblocks 2022-12-13 20:46:43 -06:00
Jack Worman
fc2df8e8ae Add more property typehints 2022-12-13 20:20:15 -06:00
027354cabc
Improve parsing of list shapes (#8841)
* Improve parsing of list shapes

* Improve logic

* One more test

* Fix tests
2022-12-13 22:30:40 +01:00
6347a21546
Literal inferring for array_column, array_combine, array_fill_keys, array_fill (#8850)
* Squash

* Remove BC break

* Suppress

* Possibly fix

* Fixes

* Fix test

* Implement literal array_column

* Improve array_column inference

* Improve logic

* Add array_combine return type provider

* Cleanup

* Fix #8868 (add array_fill_keys/array_fill return type)

* cs-fix

* Fix
2022-12-13 22:29:35 +01:00
cca276768e
List refactoring v5 (#8820)
* Squash

* Remove BC break

* Suppress

* Possibly fix

* Fixes

* Fix test

* Trigger build

* Update psl

* Update psl

* Fixes

* Fixes

* Cleanup

* fix

* Fix build

* Do not consider never when getting the max count

* Add assertion

* Cleanup

* Fix

* Cleanup
2022-12-13 21:40:19 +01:00
orklah
794ca9362a
Merge pull request #8887 from jack-worman/Use_rector_to_add_property_typehints
Use rector to add property typehints
2022-12-13 19:58:43 +01:00
Bruce Weirdan
d0e335ab29
Replace unmaintained openlss/lib-array2xml with spatie/array-to-xml
Fixes vimeo/psalm#8852
2022-12-13 05:27:55 -04:00
Alies Lapatsin
1115cfb980 Merge branch 'master' into php-ext-with-deprecation
# Conflicts:
#	src/Psalm/Config.php
2022-12-12 23:49:01 +01:00
orklah
72e7386eb5
Merge pull request #8722 from Ocramius/feature/#8720-improve-types-and-purity-for-reflection-symbols
Declaring more precise types and purity boundaries on `ext-reflection` symbols in `.phpstub` files
2022-12-12 21:27:47 +01:00
Bruce Weirdan
19a1005bc3
Forbid most magic methods on enums
Fixes vimeo/psalm#8889

Additionally this fixes case-sensitivity of
MethodSignatureMustOmitReturnType issue

Fixes vimeo/psalm#8888
2022-12-12 03:03:20 -04:00
Jack Worman
dd0d8300b1 Use rector to add property typehints 2022-12-11 17:25:23 -06:00
Alies Lapatsin
c8b6b0b504 Remove unused @psalm-suppress 2022-12-11 15:10:43 +01:00
Alies Lapatsin
a8046a8682 Simplify array type declaration 2022-12-11 15:01:34 +01:00
Alies Lapatsin
729eb59169 Remove an excessive array shape annotation 2022-12-11 14:55:42 +01:00
Alies Lapatsin
5e95d13157 Make Psalm about stub file for random (core) extension 2022-12-11 14:45:20 +01:00
Alies Lapatsin
74f65cba71 Make Psalm about stub file for redis extension 2022-12-11 14:39:29 +01:00
Alies Lapatsin
62c998b8cf Load ext stubs using extension_loaded but display a deprecation note 2022-12-11 14:39:29 +01:00
Alies Lapatsin
0fd4c520de Load ext stubs using extension_loaded but diaplay a deprecation note 2022-12-11 14:01:20 +01:00
Alies Lapatsin
ecfa81471a Merge branch 'master' into php-ext 2022-12-11 13:58:18 +01:00
Bruce Weirdan
32eaf12d40
Prevent duplicate (Possibly)UnusedMethod/(Possibly)UnusedProperty
This also allows (Possibly)UnusedProperty to be suppressed with
`referencedProperty` attribute in psalm.xml

Fixes vimeo/psalm#8874
2022-12-11 05:49:09 -04:00
Alies Lapatsin
16ab9f786b Unify a way how to load stubs for extentions 2022-12-10 17:02:47 +01:00
orklah
ef02ded050
Merge pull request #8833 from theofidry/feature/cpu-counter
Integrate FidryCpuCoreCounter
2022-12-10 12:14:50 +01:00
Bruce Weirdan
af549fa78a
Merge pull request #8854 from kkmuffme/fix-unsafe-file_get_contents 2022-12-09 23:20:10 -04:00
Bruce Weirdan
1750ec1b8a
Merge pull request #8876 from weirdan/fix-8873
Fixes https://github.com/vimeo/psalm/issues/8873
2022-12-09 22:08:27 -04:00
Bruce Weirdan
d19759cc23
Suppress irrelevant Psalm issue
We're not defining this property to use it, we're defining it to
suppress PHP deprecation warning
2022-12-09 21:57:03 -04:00
Bruce Weirdan
94003a3885
Fixed dynamic property on LanguageServer
Fixes vimeo/psalm#8873
2022-12-09 21:50:10 -04:00
Bruce Weirdan
a4ff9eb204
Allow true in native types
Fixes vimeo/psalm#8872

For `null` and `false`, we already allowed them even as standalone
types, even though PHP before 8.2 only allowed them as part of a union.
2022-12-09 20:17:09 -04:00
Marco Pivetta
68d88c546b Load PHP-version-specific stubs based on analysis PHP version, and only when visiting stub files
While `visitPreloadedStubFiles` seemed to work at first, it led to overriding symbols declared by
PHP itself too eagerly.

By only loading PHP-version-specific stubs in `visitStubFiles`, we ensure that the reflection-declared
symbols take priority, and that our stubs overlay on top of that, without actually replacing the
symbol entirely, but rather merging with its definition.

This fixes current test failures too, and works with the code examples
from https://github.com/vimeo/psalm/pull/8722#issuecomment-1339711882
2022-12-08 18:22:51 +01:00
Théo FIDRY
5d2b739a4e
Fix CS 2022-12-08 12:27:11 +01:00
Théo FIDRY
ba40e34947
Update to stable 2022-12-08 12:17:26 +01:00
Théo FIDRY
cfa570eba2
Merge remote-tracking branch 'upstream/master' into feature/cpu-counter 2022-12-08 12:15:09 +01:00