Jack Worman
69658e8315
SlevomatCodingStandard.Commenting.DocCommentSpacing
2022-12-14 13:34:41 -06:00
Jack Worman
643542346b
Add codesniffer rules and expand php-cs-fixer to bin and test
2022-12-14 13:29:09 -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
orklah
00706de18e
Merge pull request #8826 from othercorey/callmap-methods
...
Add validation for Class::Method names in CallMap
2022-12-13 18:47:23 +01:00
Bruce Weirdan
321d5fee62
Merge pull request #8895 from weirdan/replace-array-to-xml
...
Fixes https://github.com/vimeo/psalm/issues/8852
2022-12-13 05:36:00 -04:00
Corey Taylor
e57079f581
Add validation for Class::Method names in CallMap
2022-12-13 03:34:47 -06:00
Bruce Weirdan
586d0c931c
[skip ci] fix indentation
2022-12-13 05:34:43 -04: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
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
fb685a16df
Merge pull request #8890 from weirdan/enum-forbidden-methods
...
Fixes https://github.com/vimeo/psalm/issues/8889
Fixes https://github.com/vimeo/psalm/issues/8888
2022-12-12 04:18:56 -04:00
Bruce Weirdan
9db0eb3e03
InvalidEnumMethod requires PHP8.1+
2022-12-12 03:12:55 -04: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
Bruce Weirdan
ca0b2a1b65
Merge pull request #8883 from weirdan/unused-messages-duplicates
...
Fixes https://github.com/vimeo/psalm/issues/8874
2022-12-11 06:08:10 -04: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
Bruce Weirdan
114552f9b6
Merge pull request #8882 from theofidry/feature/update-cpu-core-counter
2022-12-10 21:08:17 -04:00
Théo FIDRY
4a6bfea65c
Upgrade CpuCoreCounter
2022-12-11 01:12:52 +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
2a45f18e07
Merge pull request #8870 from lptn/add-missing-sodium-functions
2022-12-09 22:10:30 -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
Alies Lapatsin
0afe0d54f2
Merge branch 'master' into add-missing-sodium-functions
...
# Conflicts:
# dictionaries/CallMap_82_delta.php
2022-12-10 01:47:55 +01:00
Bruce Weirdan
16cdeb9e2c
Merge pull request #8875 from weirdan/fix-8872
...
Fixes https://github.com/vimeo/psalm/issues/8872
2022-12-09 20:25:28 -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
Bruce Weirdan
a568b087a2
Merge pull request #8871 from lptn/libxml_get_external_entity_loader
2022-12-09 19:26:44 -04:00
Bruce Weirdan
0a2cfc62cf
Merge pull request #8869 from lptn/add-new-ZipArchive-methods
2022-12-09 19:21:33 -04:00
Alies Lapatsin
1d26ae6d38
Merge branch 'master' into libxml_get_external_entity_loader
2022-12-09 14:02:52 +03:00
Alies Lapatsin
aced00313b
Add array shape for libxml_*et_external_entity_loader functions
2022-12-09 12:02:03 +01:00
Alies Lapatsin
1cbf45025c
Add libxml_get_external_entity_loader to CallMap (PHP 8.2)
...
https://www.php.net/manual/en/function.libxml-get-external-entity-loader.php
2022-12-09 11:35:30 +01:00
Alies Lapatsin
ce3be3b6f5
Add some missing sodium functions to CallMap
2022-12-09 11:04:36 +01:00
Alies Lapatsin
676e120b49
Add missing ZipArchive method to CallMap (PHP 8.2)
2022-12-09 10:07:59 +01:00
orklah
e4b64af599
Merge pull request #8861 from VincentLanglet/count
...
Precise count range
2022-12-09 00:41:00 +01:00
Bruce Weirdan
18011eb232
Merge pull request #8864 from jrcii/patch-1
2022-12-08 16:38:02 -04:00
John Cornell
153f8224d1
Fixed typo
2022-12-08 14:42:56 -05: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
Vincent Langlet
f6051bc417
Precise count range
2022-12-08 16:44:10 +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
kkmuffme
d3ec894175
use safeFileGetContents in ProjectCacheProvider too
2022-12-07 19:57:52 +01:00
Marco Pivetta
042305107e
Always load preloaded stub files when the analysis version is compatible
...
Before this change, preloaded stubs would only be loaded when running on a PHP version lower than
the one that is in the stubs.
With this change, the analysis PHP version (defined via config, input parameter, or inferred from
the runtime) becomes authoritative.
Since the PHP-version-specific stubs are not just polyfills, but actually type refinements on top
of the PHP core symbols at hand, this change always loads them, so that it is possible to get more
precise type inference downstream.
This will likely lead to downstream breakages, because the stubs do indeed provide better type
resolution, but indeed formalizes the idea that these stubs will provide better value for finding
problems in analyzed code.
2022-12-07 15:48:59 +01:00