1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-03 10:07:52 +01:00
Commit Graph

14312 Commits

Author SHA1 Message Date
kkmuffme
1bfa684d7f scientific and underscore notation should be quoted too, since they won't be type juggled 2024-03-23 01:18:23 +01:00
kkmuffme
cd302f040b further improve string-int juggling handling which was previously already improved by me in https://github.com/vimeo/psalm/pull/10481
Also fix https://psalm.dev/r/3b401c6f88
2024-03-22 23:20:57 +01:00
kkmuffme
6030995d8d separate fix of https://github.com/vimeo/psalm/pull/10481 to a reusable function 2024-03-22 20:03:33 +01:00
kkmuffme
120e3122b5 fix tests 2024-03-22 14:25:12 +01:00
kkmuffme
1b91f566c4 add tests for int-like string array keys 2024-03-22 14:25:12 +01:00
Bruce Weirdan
63ea4de701
Merge pull request #10847 from ThomasLandauer/patch-1 2024-03-21 21:18:02 +01:00
Thomas Landauer
2ae91aa95c
Update CallMap_historical.php 2024-03-21 20:33:41 +01:00
Thomas Landauer
2f908817d4
Update CallMap.php 2024-03-21 18:34:34 +01:00
Bruce Weirdan
4266a8e044
Merge pull request #10839 from kkmuffme/misc-class-callable-errors-not-reported 2024-03-20 05:51:34 +01:00
Bruce Weirdan
375fe32992
Update tests/CallableTest.php 2024-03-20 05:32:13 +01:00
Bruce Weirdan
b47449fa89
Merge pull request #10817 from kkmuffme/promoted-properties-not-set-in-extended-constructor 2024-03-20 02:44:01 +01:00
Bruce Weirdan
70530d6a0c
Merge pull request #10756 from edsrzf/array-isset 2024-03-20 02:27:19 +01:00
Evan Shaw
4b707d1233 Additional array fetch test case 2024-03-20 02:18:31 +01:00
Evan Shaw
30e797b5fd Update baseline 2024-03-20 02:18:31 +01:00
Evan Shaw
86173d29c9 When inside isset, array fetch can return null
This prevents false positive for various types of issues inside empty,
such as RedundantConditionGivenDocblockType and TypeDoesNotContainType.
2024-03-20 02:18:31 +01:00
Bruce Weirdan
cc5ad67494
Merge pull request #10821 from kkmuffme/consistent-constructor-param-name-mismatch 2024-03-20 02:07:36 +01:00
kkmuffme
9cfce37785 ParamNameMismatch not reported for __construct
Fix https://github.com/vimeo/psalm/issues/10784
2024-03-20 02:01:34 +01:00
Bruce Weirdan
3a1b10f211
Merge pull request #10828 from jack-worman/MissingClassConstType 2024-03-20 01:58:50 +01:00
Bruce Weirdan
2c1ac98439
Merge pull request #10815 from pilif/filter_var-named-args 2024-03-20 01:49:26 +01:00
Bruce Weirdan
98eab1fe23
Merge pull request #10822 from kkmuffme/report-param-name-mismatch-for-single-param-too 2024-03-20 01:34:53 +01:00
Bruce Weirdan
c5adc51f10
Merge pull request #10824 from kkmuffme/update-misc-deprecated-arg-types-PHP81-83 2024-03-20 01:26:46 +01:00
Bruce Weirdan
e3d55268f9
Merge pull request #10838 from kkmuffme/undefined-parent-not-reported-in-callable 2024-03-20 01:08:45 +01:00
kkmuffme
e83530a6c1 report invalid callable if callable cannot be called like this from current context
Fix https://github.com/vimeo/psalm/issues/10823
Fix https://github.com/vimeo/psalm/issues/8509
2024-03-20 01:02:54 +01:00
kkmuffme
a59248f5a1 self, parent and static in callable are deprecated since PHP 8.2
Fix https://github.com/vimeo/psalm/issues/10837
2024-03-20 01:02:54 +01:00
Bruce Weirdan
f61c7e108f
Merge pull request #10805 from weirdan/10461-allow-more-callable-types-as-subtypes-of-callable 2024-03-20 00:17:24 +01:00
Bruce Weirdan
4b7957b789
Merge pull request #10829 from vimeo/isTypeContainedByType_flags 2024-03-20 00:13:38 +01:00
Bruce Weirdan
644ef8d573
Merge pull request #10832 from Ayesh/php84/nullability 2024-03-20 00:11:42 +01:00
45d9fbeb68
Merge pull request #10843 from kkmuffme/fix-psalm-6-notice-in-tests-config
Explicitly set value in config to fix warning in tests
2024-03-20 00:03:18 +01:00
kkmuffme
8efbf386c3 fix bad class 2024-03-19 21:17:26 +01:00
kkmuffme
ea825c626d Explicitly set value in config to fix warning in tests 2024-03-19 21:06:20 +01:00
e8e1f47ddb
Merge pull request #10842 from kkmuffme/fix-tests-using-other-than-called-from-php-version
fix tests running with other than called PHP binary if called with a non-default PHP binary
2024-03-19 13:47:01 +01:00
kkmuffme
881546340c fix tests running with other than called PHP binary if called with a non-default PHP binary
e.g. you run the tests with a php83 executable but your default php is PHP 7.4, it will suddenly change while running the tests leading to false positive errors
2024-03-19 13:26:25 +01:00
kkmuffme
ff168a9c7a Fix undefined parent not reported in callable
Fix https://github.com/vimeo/psalm/issues/10836
2024-03-16 21:45:24 +01:00
Ayesh Karunaratne
431977cb1d
[PHP 8.4] Fixes for implicit nullability deprecation
Fixes all issues that emits a deprecation notice on PHP 8.4.

See:
 - [RFC](https://wiki.php.net/rfc/deprecate-implicitly-nullable-types)
 - [PHP 8.4: Implicitly nullable parameter declarations deprecated](https://php.watch/versions/8.4/implicitly-marking-parameter-type-nullable-deprecated)
2024-03-16 02:19:34 +07:00
b431e5fc73 cs-fix 2024-03-15 12:52:36 +01:00
ad87c2e905 Allow specifying flags to Codebase::isTypeContainedByType 2024-03-15 12:15:05 +01:00
Jack Worman
c7fc76ec57
MissingClassConstType 2024-03-14 14:44:11 -04:00
kkmuffme
c174e35f15 Fix https://github.com/vimeo/psalm/issues/7550 2024-03-14 00:55:49 +01:00
kkmuffme
a2307aca81 report error for single param too since named args can even be used then 2024-03-13 19:27:57 +01:00
kkmuffme
9c5af0f494 Promoted properties missing in extended __construct should report PropertyNotSetInConstructor
Fix #10786
2024-03-13 14:57:20 +01:00
Philip Hofstetter
debffecd13
add support for named arguments for filter_var and filter_input
this fixes #10809
2024-03-13 09:11:17 +01:00
Bruce Weirdan
c9468b63e5
Introduce TCallableInterface
`TClosure` does not implement it at this point. It's intentional, to maintain the
separation between callables and closures that our code relies on.
2024-03-12 12:58:15 +01:00
Bruce Weirdan
4ea41cb69a
Merge branch '5.23.x' into 5.x 2024-03-11 21:34:28 +01:00
Bruce Weirdan
8471a896cc
Merge pull request #10812 from issidorov/bug-10807 2024-03-11 21:33:46 +01:00
Ivan Sidorov
fe42e8821d
Resolve fail test #10807
Resolved problem:
```
Psalm\Tests\AssertAnnotationTest::testAssertsAllongCallStaticMethodWork
Psalm\Exception\CodeException: LessSpecificReturnStatement
The type 'string' is more general than the declared return type 'non-empty-string' for returnNonEmpty
```
2024-03-11 20:09:30 +01:00
Aleksandr Zhuravlev
2a91bd6616
Added test for #10807 2024-03-11 20:09:30 +01:00
Bruce Weirdan
ae1d510c4b
Merge pull request #10806 from weirdan/9596-dont-crash-on-invalid-templates 2024-03-11 01:54:45 +01:00
Bruce Weirdan
4a2cf93d7a Don't crash on invalid templates
Fixes vimeo/psalm#9596
2024-03-11 01:41:52 +01:00
Bruce Weirdan
20c788911f Allow more callable types as subtypes of callable
Fixes vimeo/psalm#10461
2024-03-10 22:23:01 +01:00
Bruce Weirdan
c511185fbe
Merge pull request #10804 from weirdan/10533-no-named-arguments-for-array-access 2024-03-10 01:02:18 +01:00