1
0
mirror of https://github.com/danog/psalm.git synced 2025-01-09 14:38:37 +01:00
Commit Graph

405 Commits

Author SHA1 Message Date
Matt Brown
9cc2af56b4 Support Stringable before PhpToken autoloading 2022-04-27 01:36:17 -04:00
Aleksandr Zhuravlev
b4fdc3e326 Made most of callbacks static. Reworked some array_map() into foreach() 2022-04-09 21:58:26 +12:00
Bruce Weirdan
997bded2e3
Merge branch '4.x' into upstream-master 2022-02-21 01:08:21 +02:00
AndrolGenhald
9310a4ff5a Fix issues with int range unpacking and with min/max. 2022-02-18 15:55:26 -06:00
AndrolGenhald
ea2f452c25 Analyze attribute statements instead of constructing virtual statements. 2022-02-18 08:18:34 -06:00
orklah
5f1b796af9 redundant condition 2022-02-13 19:38:44 +01:00
Bruce Weirdan
4ee8a80a17
Use array_fill_keys
There was a number of calls to `array_map(fn()=>true, array_flip($array))` that got replaced with a simpler (and more performant) `array_fill_keys($array, true)`
2022-02-13 07:09:28 +02:00
Bruce Weirdan
7c344366a3
Fix RedundantCondition 2022-02-10 01:44:50 +02:00
Matthew Brown
3a298d028e Rename getArrayVarId to getExtendedVarId 2022-02-04 12:49:12 -05:00
orklah
2e01e9b7cd
Merge pull request #7396 from Patrick-Remy/feat/key-of-value-of-improvements
feat: make key-of/value-of usable with non-const arrays
2022-01-31 21:39:01 +01:00
orklah
4609bc4e25
Merge pull request #7471 from klimick/function-dynamic-storage-provider
Function dynamic storage provider
2022-01-28 18:46:26 +01:00
adrew
1a8367a273 Add some doc about DynamicFunctionStorageProvider 2022-01-28 15:18:30 +03:00
adrew
dd0e00e153 Renaming all occurrences of "function dynamic storage" to "dynamic function storage" 2022-01-28 15:18:30 +03:00
adrew
e5dae6a901 Prevent first-class-callable handling with FunctionDynamicStorageProvider 2022-01-28 15:18:30 +03:00
adrew
9b383a5a19 Try to create public api for new hook 2022-01-28 15:18:30 +03:00
adrew
a4e56ae288 Fix method name 2022-01-28 15:18:30 +03:00
adrew
ce1cec5d3a Using FuncCall instead of list<Arg> in FunctionDynamicStorageProvider for more flexibility 2022-01-28 15:18:30 +03:00
adrew
e93c90bc89 Fix double run FunctionDynamicStorageProvider for already analysed function 2022-01-28 15:18:29 +03:00
adrew
438be03414 Ability to provide dynamically created function storage via plugin hook 2022-01-28 15:18:29 +03:00
AndrolGenhald
2fe4fc397c Enable extensions based on composer.json instead of those loaded at runtime (fixes #5482). 2022-01-27 16:30:14 -06:00
Patrick Remy
8cd5ccd076
feat: make value-of<T> capable for template types 2022-01-27 22:28:40 +01:00
orklah
9168cef2d4 Merge remote-tracking branch 'upstream/4.x' into upstream-master6 2022-01-26 21:06:25 +01:00
AndrolGenhald
57b99be519 Improve reference support for assertions, array offsets, and properties. 2022-01-26 12:55:47 -06:00
orklah
3f799fc5fd fix CS issue 2022-01-25 20:58:40 +01:00
ElisDN
9f01c16ae9 Fix array_replace type 2022-01-25 15:22:50 +03:00
orklah
63b802bff4 remove TPositiveInt 2022-01-23 23:49:23 +01:00
Matthew Brown
0a81f8cd6c
Use objects, not strings, for assertions (#7410)
* Use objects, not strings, for assertions

* Remove unnecessary param

* Remove some unnecessary checks

* Fix bad find/replace

* Add note about assertions no longer stored as strings in UPGRADING.md
2022-01-20 17:33:06 -05:00
orklah
ac858e353d create a return type provider for mb_internal_encoding 2022-01-19 21:45:44 +01:00
orklah
477c0113c2 Merge remote-tracking branch 'upstream/4.x' into upstream-master3 2022-01-18 18:37:04 +01:00
Ricardo Boss
26dd4c5b8f
Try to provide literal int types when possible (fixes #6966) (#7071)
* Fixed vimeo/psalm#6966

* Only accept >= 0 values for mode argument in round()

* Made round() only return float or literal float values and remove unneeded test

* Registered RoundReturnTypeProvider

* Updated cast analyzer to handle single string literal int values as literal ints

* Fixed psalm errors

* Fix invalid property accesses

* Addressed comments

* Added Tests

* Marked RoundReturnTypeProvider as internal

* Fixed CS
2022-01-16 21:33:04 +01:00
orklah
bf9845a4aa Psalm can't be sure get_object_vars will return an empty array unless object is known AND final 2022-01-15 21:36:46 +01:00
orklah
b633619a2c Merge remote-tracking branch 'upstream/4.x' into upstream-master 2022-01-14 21:01:25 +01:00
orklah
65efab3a8d keep class-strings through array_merge 2022-01-09 15:48:58 +01:00
Bruce Weirdan
1a1b5a9e6a
Merge branch '4.x' into upstream-master 2022-01-08 23:38:29 +02:00
orklah
9d225086e9 replace empty checks on Union with dedicated method 2022-01-07 21:27:45 +01: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
dd09450092
Applied NullCoalescingOperatorRector 2022-01-05 13:09:37 +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
f5dc2ee964
Merge branch '4.x' into upstream-master 2022-01-04 19:42:08 +02:00
Fabien Villepinte
c42f3d51bd
Fix typo 2022-01-04 16:27:06 +01:00
Fabien Villepinte
2f3af4a5bc
Remove unused import 2022-01-04 16:13:48 +01:00
Fabien Villepinte
1fa6b612b1
Fix parse_url() return type 2022-01-04 16:09:18 +01:00
Bruce Weirdan
2e24a16cbb
Dropped legacy plugin API 2022-01-03 18:18:44 +02:00
Bruce Weirdan
b924032850
Mark internal classes @internal 2022-01-03 09:33:22 +02:00
orklah
d912663da4
remove isEmpty 2022-01-03 04:10:41 +02:00
orklah
8d6b781b3e
use consistent way to compare php version 2022-01-02 13:35:43 +02:00
orklah
5f6bb39888 if with common parts 2021-12-27 23:08:19 +01:00
orklah
2baf3b560a unnecessary statements 2021-12-27 23:00:40 +01:00
orklah
9029e1d613 remove always true/false conditions 2021-12-27 19:59:11 +01:00