1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-04 18:48:03 +01:00
Commit Graph

11569 Commits

Author SHA1 Message Date
f11ed46f26 Immutable assertions 2022-10-03 11:32:15 +02:00
ef60a0c88c Fix properties-of on generics&intersections 2022-10-03 11:28:01 +02:00
3abd0b961f Immutable Unions 2022-10-03 10:45:36 +02:00
orklah
028ac7f540
Merge pull request #8494 from pvandommelen/fix_any_type_widening
Fix type widening when `Any` assertion is used
2022-09-18 19:35:07 +02:00
Peter van Dommelen
2eb4ca0e3b Within the reconciler's fast path, do not require the existing type to include mixed when handling an Any assertion. 2022-09-18 17:07:30 +02:00
Peter van Dommelen
05f28ce8cd Do not widen type to mixed and lose the existing type information when an Any assertion is used.
Fixes #8084.
2022-09-18 17:02:09 +02:00
Matthew Brown
d957ff2015
Fix mixed type hole when sending Foo<string> to Foo<mixed> (#8481)
* Fix mixed type hole when sending Foo<string> to Foo<mixed>

* Fix ifThisIs test

* Suppress bugs highlighted with fix

* Fix PHPDoc parsing
2022-09-13 13:13:06 -04:00
orklah
afe85fad86
Merge pull request #8418 from Nicelocal/fix_8414
fix: Fix template resolution of complex extended types
2022-08-17 20:38:02 +02:00
979091d2ab
Optimize 2022-08-17 13:38:11 +02:00
0220da0b32
Add tests 2022-08-17 13:30:36 +02:00
95ef63ece9
Update 2022-08-17 13:25:00 +02:00
24b008ee40
Fix 2022-08-17 13:19:25 +02:00
1401bf94db
Fix #8414 2022-08-17 13:11:27 +02:00
orklah
42462b8640
Merge pull request #8408 from ThomasLandauer/patch-1
Adding note about referencedMethod
2022-08-13 16:33:18 +02:00
Thomas Landauer
f87becfb3b
Adding note about referencedMethod
Info is taken from https://github.com/vimeo/psalm/issues/2297#issuecomment-549480186
2022-08-13 16:14:51 +02:00
orklah
f315647338
Merge pull request #8402 from gmessier/master
Add capability to use inclusion files in a different directory (fix)
2022-08-11 21:20:03 +02:00
Guillaume Messier
ca3d0990be
Add capability to use inclusion files in a different directory for plugins and issueHandlers 2022-08-11 14:36:04 -04:00
orklah
ffc8c8080d
Merge pull request #8360 from bitwise-operators/8307-operand-class-constants
Add BitwiseNot and BooleanNot operators to SimpleTypeInferer
2022-08-04 20:30:52 +02:00
Bitwise Operators
9f6ce3059d tests: added tests for bitwise-and, bitwise-xor, bitwise-not and boolean-not class constants 2022-08-04 08:52:43 +02:00
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