1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-11 08:49:52 +01:00
Commit Graph

13854 Commits

Author SHA1 Message Date
kkmuffme
d4732f118e fix minor trim bug in original code and small speed up 2023-06-13 22:04:39 +02:00
kkmuffme
e75d514ada speed up on unix 2023-06-13 21:55:43 +02:00
kkmuffme
9a4d7aa719 additional gains 2023-06-13 21:52:03 +02:00
kkmuffme
3f3890382b replace all at once 2023-06-13 21:19:52 +02:00
kkmuffme
5ac3ed08df additional ones 2023-06-13 20:37:33 +02:00
kkmuffme
394a40b0f7 remove preg, minor performance gain (up to 1%) 2023-06-13 20:29:20 +02:00
orklah
49c6f31071
Merge pull request #9915 from kkmuffme/fix-psalm-6-warning-findUnusedCode
fix CI warnings for findUnusedCode in psalm 6
2023-06-13 18:24:53 +02:00
kkmuffme
51fd63cfbb fix CI warnings 2023-06-13 16:59:25 +02:00
orklah
2c50745d8f
Merge pull request #9904 from kkmuffme/sprintf-additional-validations-and-bugfix
Sprintf additional validations and bugfix
2023-06-12 20:03:29 +02:00
kkmuffme
8a8aeb6452 fix tests 2023-06-12 19:44:22 +02:00
kkmuffme
96988ea5ec code style 2023-06-12 19:44:22 +02:00
kkmuffme
d0f14ba19e ignore complex placeholders for now
Fix https://github.com/vimeo/psalm/issues/9900
Fix https://github.com/vimeo/psalm/issues/9901
Fix original core stubs sprintf returning a wrong type too (unrelated to return type provider) for placeholders that are always empty
2023-06-12 19:44:22 +02:00
kkmuffme
9bc4752e29 add checks for complex empty format and make return type more specific 2023-06-12 19:44:22 +02:00
kkmuffme
9232e4e76b code style 2023-06-12 19:44:22 +02:00
kkmuffme
697d06b24d fix empty format return type, add errors for empty format or format without placeholders 2023-06-12 19:44:22 +02:00
kkmuffme
f2168de96e fix printf bug 2023-06-12 19:44:22 +02:00
orklah
68559b1324
Merge pull request #9898 from vimeo/dependabot/github_actions/mheap/github-action-required-labels-5
Bump mheap/github-action-required-labels from 4 to 5
2023-06-12 19:19:46 +02:00
orklah
715a91d15c
Merge pull request #9889 from dkarlovi/feat/cache.gz
feat: cache.gz
2023-06-12 18:50:01 +02:00
Yannick Gottschalk
d11bb90c96 Style fixes 2023-06-12 15:29:22 +02:00
Yannick Gottschalk
40ce0cf7d7 Fixes #9827 2023-06-12 15:25:17 +02:00
dependabot[bot]
7a3bb6c7fa
Bump mheap/github-action-required-labels from 4 to 5
Bumps [mheap/github-action-required-labels](https://github.com/mheap/github-action-required-labels) from 4 to 5.
- [Release notes](https://github.com/mheap/github-action-required-labels/releases)
- [Commits](https://github.com/mheap/github-action-required-labels/compare/v4...v5)

---
updated-dependencies:
- dependency-name: mheap/github-action-required-labels
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-12 07:59:08 +00:00
orklah
b9f5c05276
Merge pull request #9895 from morozov/date-interval-invert-writable
Unmark DateInterval::$invert as read-only
2023-06-12 07:14:13 +02:00
Sergei Morozov
9ac3e88c70
Unmark DateInterval::$invert as read-only
Despite the PHP documentation recommending that DateInterval properties
should be considered as read-only, there is no way to specify an
inverted interval via the constructor. Therefore, setting this property
on an existing object should not be considered an error.

See: https://www.php.net/manual/en/class.dateinterval.php
2023-06-11 16:43:51 -07:00
orklah
b6cba5a377
Merge pull request #9877 from kkmuffme/sprintf-improve-return-param-type-validation
Sprintf improve return param type validation
2023-06-11 13:08:24 +02:00
Dalibor Karlović
8d1197427e
fix: import igbinary_* functions 2023-06-09 17:12:35 +02:00
Dalibor Karlović
ddacfeaa3e
SA: add expected types 2023-06-09 16:33:23 +02:00
Dalibor Karlović
5e49ebb8e6
SA: remove obsolete suppresses 2023-06-09 16:28:43 +02:00
Dalibor Karlović
dd0402b6d7
SA: only possible return type is a string 2023-06-09 16:07:41 +02:00
Dalibor Karlović
59f45480c4
feat: Gzip support in PHP parser cache 2023-06-09 16:03:25 +02:00
Dalibor Karlović
495a466c5e
init cache in child classes 2023-06-09 15:57:29 +02:00
Dalibor Karlović
d4f384e13f
cs 2023-06-09 15:48:56 +02:00
Dalibor Karlović
5ffaa117c8
cs 2023-06-09 14:59:49 +02:00
Dalibor Karlović
dc3e0455de
feat: Gzip support in PHP parser cache 2023-06-09 14:58:27 +02:00
Dalibor Karlović
3e95ecd713
feat: Gzip support in ClassStorage cache 2023-06-09 14:44:29 +02:00
Dalibor Karlović
dd5c3ac241
feat: Gzip support 2023-06-09 14:32:56 +02:00
Dalibor Karlović
bd8313a46c
fix: PHP 7 compat 2023-06-09 13:48:09 +02:00
Dalibor Karlović
0db819510d
feat: centralized Cache management 2023-06-09 13:46:00 +02:00
orklah
5df772b31b
Merge pull request #9887 from kkmuffme/readonly-property-ignore-invariance-if-contained
readonly does not have write access, therefore is safe as long as the…
2023-06-09 13:07:19 +02:00
kkmuffme
1465ed7c23 fix CoreGenericFunctions.phpstub not falling back to callmap 2023-06-09 12:59:13 +02:00
kkmuffme
98d15637ce remove declaration 2023-06-09 12:59:13 +02:00
kkmuffme
1c10673e14 move variable context 2023-06-09 12:59:13 +02:00
kkmuffme
277f9c34f5 fix printf false positive return type when first arg is null, simplify return value handling 2023-06-09 12:59:13 +02:00
kkmuffme
145f1fb242 phpcs code style 2023-06-09 12:59:13 +02:00
kkmuffme
6e5fdac32e vprintf is pure too 2023-06-09 12:59:13 +02:00
kkmuffme
9c1e34b89f fix infinite loop bug in PHP 7 2023-06-09 12:59:13 +02:00
kkmuffme
a0b87ad935 suppress PHP 7 issues and remove unspecific return type 2023-06-09 12:59:13 +02:00
kkmuffme
3179498643 check args for sprintf + printf
* check args for (s)printf for Invalid/TooMany/TooFew
* don't change the return type when we cannot infer it more specifically (nullable return)
* fix https://github.com/vimeo/psalm/issues/9874
* implement https://github.com/vimeo/psalm/issues/9817
* add tests
2023-06-09 12:59:13 +02:00
kkmuffme
e3f589d79e improve printf,... callmap 2023-06-09 12:59:13 +02:00
kkmuffme
cf4536f646 fix incorrect return type of printf 2023-06-09 12:59:12 +02:00
kkmuffme
0a54c84055 readonly does not have write access, therefore is safe as long as the type is contained in the parent type
Fix https://github.com/vimeo/psalm/issues/9831#issuecomment-1569022701
2023-06-09 12:37:41 +02:00