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

11550 Commits

Author SHA1 Message Date
Bitwise Operators
a5c550cea4 Fix incorrect handling of null response 2022-08-03 18:27:32 +02:00
Bitwise Operators
f782313c45 Add BitwiseNot and BooleanNot operators to SimpleTypeInferer. Should fix #8307. 2022-08-03 15:48:54 +02:00
24f7920e9a
Fix if propagation (#8326)
* Add failing unit test

* Fix test

* Revert "Add comment for skipped test"

This reverts commit e4f73beb08.

* Revert "Simplify context updates even more"

This reverts commit a32e63f131.

* Revert "Remove special handling for elseifs that breaks for else if"

This reverts commit d7d9ddc653.

* Fix test
2022-07-30 19:20:05 -04:00
orklah
f5b7a569e2
Merge pull request #8345 from weirdan/rector-ArraySpreadInsteadOfArrayMergeRector-2
Applied ArraySpreadInsteadOfArrayMergeRector (take 2)
2022-07-30 09:18:15 +02:00
Bruce Weirdan
c9e6b54050
CS fix 2022-07-29 23:08:11 -04:00
Bruce Weirdan
7444ea8e2d
Simplify some methods to keep Psalm happy 2022-07-29 23:01:49 -04:00
Bruce Weirdan
238b54abf8
Revert one particular replacement that confuses Psalm 2022-07-29 22:00:21 -04:00
Bruce Weirdan
58e87fa5e0
Applied ArraySpreadInsteadOfArrayMergeRector (take 2) 2022-07-29 18:17:21 -04:00
orklah
7c4228fb56
Merge pull request #8324 from Nicelocal/fix_union_assertions
Fix union assertions
2022-07-28 19:06:14 +02:00
7a7a7f6bc9
cs-fix 2022-07-28 12:05:13 +02:00
33d8f3a62d
Fix unit tests 2022-07-28 12:03:12 +02:00
abe58876a7
Fix 2022-07-27 20:32:44 +02:00
6ce32a48d5
Fix 2022-07-27 20:24:24 +02:00
68f3f246f5
Fix 2022-07-27 20:08:00 +02:00
1a4d68e53b
Make private 2022-07-27 18:56:24 +02:00
82e8c0dea8
Disable intersection of unrelated classes 2022-07-27 18:55:01 +02:00
c409675e3e
Fix intersection of final classes 2022-07-27 18:46:07 +02:00
c2a8d1bb06
cs 2022-07-27 18:00:24 +02:00
e19589117d
Fix unit test 2022-07-27 17:56:41 +02:00
37274b308f
Add temporary failing test 2022-07-27 17:51:55 +02:00
09fb879428
Fix #8322, #8319 2022-07-27 17:42:48 +02:00
18106af5e5
Refactor 2022-07-27 14:39:34 +02:00
orklah
63b389f54d
Merge pull request #8044 from AndrolGenhald/feature/improve-array-spreading
Fix various array spread issues.
2022-07-26 20:30:31 +02:00
AndrolGenhald
094621d5bb Fix array-shape value type being mixed instead of single key being mixed. 2022-07-26 12:00:05 -05:00
AndrolGenhald
ee68184527 Fix key comparison when unpacking Traversables. 2022-07-26 12:00:05 -05:00
AndrolGenhald
2b389df270 Use count instead of empty. 2022-07-26 12:00:05 -05:00
AndrolGenhald
d54eebfe02 Fix various array spread issues.
- Correctly infer `array` and `list` instead of `non-empty-array` and `non-empty-list` (fixes #7296)
 - Add support for spreading string keys (fixes #7297).
 - Show issue when trying to unpack non-iterable
 - Show issue when trying to unpack iterable with non-array-key key
 - Re-added invalid PHP 8.0 tests removed in #6613
 - Unpacked lists with known keys will be inferred as eg `array{0: int, 1: int}<int<0, max>, int>` now but will still be treated as lists
 - Unpacked arrays with known keys will now be inferred as eg `array{a: string, b: string}<int, int>` instead of `array<int|string, int|string>`
2022-07-26 12:00:03 -05:00
orklah
4b2935f800
Merge pull request #8282 from drupol/stub/fix-cachingiterator
Update `CachingIterator::getCache` stub.
2022-07-22 19:38:06 +02:00
Pol Dellaiera
63b64532d6
Update CachingIterator, use int-mask-of. 2022-07-22 18:38:12 +02:00
orklah
f6fb7155b7
Merge pull request #8306 from AndrolGenhald/pull/8290
Fix type reconciliation breaking Context::$references_in_scope (fixes #8289).
2022-07-21 21:48:40 +02:00
AndrolGenhald
ba6270c06a Fix type reconciliation breaking Context::$references_in_scope (fixes #8289). 2022-07-21 14:27:21 -05:00
Pol Dellaiera
3e0f0b6173
Update CachingIterator, remove newly added @template.
Also update `RecursiveCachingIterator`, remove extended methods and constructor that are the same.
2022-07-21 08:22:02 +02:00
Oliver Hader
98502d4613
Assert ReconcilerTest::arrayReferencesAreHandled reaches the end 2022-07-20 21:44:28 +02:00
Oliver Hader
6c5e5f77fa
Avoid cloning undefined array index 2022-07-20 21:36:49 +02:00
Oliver Hader
ac315fb0a3
Demonstrate flaw in type reconciliation on array references 2022-07-20 20:33:02 +02:00
orklah
85fe7e8bcf
Merge pull request #8283 from AndrolGenhald/feature/value-of-backed-enum
Allow `value-of` to work with backed enums (fixes #7874).
2022-07-20 18:03:58 +02:00
AndrolGenhald
66ebf4a55c Rename TKeyOfArray to TKeyOf. 2022-07-18 14:44:29 -05:00
AndrolGenhald
6505d8e6d5 Fix trailing comma for PHP 7.4. 2022-07-18 14:19:34 -05:00
AndrolGenhald
b51b5ac903 Allow value-of to work with backed enums (fixes #7874). 2022-07-18 14:10:06 -05:00
orklah
33b553e7b1
Merge pull request #8273 from muglug/muglug-remove-special-elseif-handling
Remove special handling for elseifs that breaks for else if
2022-07-18 19:07:01 +02:00
Pol Dellaiera
f4da6aafaa
Update stub based on PR feedback. 2022-07-18 18:13:08 +02:00
Pol Dellaiera
2747f028c9
Update CachingIterator::getCache stub. 2022-07-18 16:24:10 +02:00
Matthew Brown
e4f73beb08
Add comment for skipped test 2022-07-17 14:06:07 -04:00
Matt Brown
a32e63f131 Simplify context updates even more 2022-07-17 13:11:32 -04:00
Matt Brown
d7d9ddc653 Remove special handling for elseifs that breaks for else if 2022-07-17 12:51:17 -04:00
Matt Brown
8c716f8be7 Support taints in new $_GET["a"] calls 2022-07-15 22:17:59 -04:00
AndrolGenhald
2a72a24435
Merge pull request #8222 from AndrolGenhald/master
Merge 4.x to master.
2022-07-13 17:07:07 -05:00
AndrolGenhald
285740a753 Merge branch '4.x' 2022-07-07 15:01:38 -05:00
orklah
6d450036ad
Merge pull request #8000 from discordier/hotfix/update-property-map
update property map
2022-07-06 20:44:29 +02:00
orklah
6e27c236f3
Merge pull request #8219 from Tofandel/patch-2
fix: ltrim may return class-string #8218
2022-07-06 20:27:50 +02:00