1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-11 16:59:45 +01:00
Commit Graph

6069 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
1b91f566c4 add tests for int-like string array keys 2024-03-22 14:25:12 +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
Evan Shaw
4b707d1233 Additional array fetch test case 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
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
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
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
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
4ea41cb69a
Merge branch '5.23.x' into 5.x 2024-03-11 21:34:28 +01:00
Aleksandr Zhuravlev
2a91bd6616
Added test for #10807 2024-03-11 20:09:30 +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
00c2fef25d Forbid named arguments for ArrayAcccess methods
Fixes vimeo/psalm#10533
2024-03-10 00:06:27 +01:00
Bruce Weirdan
739d87dba7 Use wider class-string when combining class strings with intersections
Fixes vimeo/psalm#10799
2024-03-09 20:32:20 +01:00
Bruce Weirdan
8e1aa46195 CS fix
- trailing commas in calls with anon functions
- useless array docblock

Refs 8d0f603bef
Refs 6ea0278a67
2024-03-09 18:41:51 +01:00
Bruce Weirdan
667a6a7b01
Merge pull request #10779 from weirdan/10755-namespace-anon-classes 2024-03-03 16:27:49 +01:00
Bruce Weirdan
6b9b4b523d Namespace anonymous classes
Fixes vimeo/psalm#10755
2024-03-03 16:21:20 +01:00
Bruce Weirdan
87e2af43f5 Use PHP_VERSION_ID instead of version_compare()
As we do elsewhere
2024-03-03 15:21:22 +01:00
Bruce Weirdan
64a32721e3 Allow the test fixed in vimeo/psalm#10778 2024-03-03 15:16:39 +01:00
kkmuffme
0975c156af set previous default setting for failing test temporarily
Refs https://github.com/vimeo/psalm/issues/10773
2024-03-03 15:10:03 +01:00
kkmuffme
963feb91a7 fix PHP 8 tests running with wrong --php-version=/phpVersion= if not explicitly specified 2024-03-03 15:10:03 +01:00
Bruce Weirdan
ceb290891b Initial support for named parameters for callables
Fixes vimeo/psalm#10766
2024-03-02 19:17:48 +01:00
kkmuffme
a1848a1a14 @since annotations should only infer PHP version in .phpstub files or for @since 8.0.0 PHP
Fix https://github.com/vimeo/psalm/issues/10761
2024-03-02 11:52:51 +01:00
kkmuffme
52fb472207 Fix PHP notice - crash on invalid taint-escape 2024-02-29 17:54:51 +01:00
Evan Shaw
22f32c1392 Set inside_isset = false when analyzing arguments 2024-02-27 22:30:10 +13:00
Bruce Weirdan
60badd0a93
Merge pull request #10752 from edsrzf/array-isset-disable-dim 2024-02-27 01:11:12 +01:00
Bruce Weirdan
4eec8bb5e8 Disabled wrong test 2024-02-27 01:04:03 +01:00
Bruce Weirdan
27461c98f6 Strip null used to signify completed iterations in foreach context
Even though `Generator::current()` can return `null` once generator is
exhausted, `foreach()` never iterates after iterator ends, so we can
safely remove `null` (unless, of course, generator can yield `null`).
2024-02-27 01:04:03 +01:00
Bruce Weirdan
8a0bc19fa6 Forbid iterating over generators with non-nullable send()
Fixes vimeo/psalm#6985
2024-02-27 01:04:03 +01:00
Bruce Weirdan
e9ea999f50
Merge pull request #10738 from MelechMizrachi/vimeo-fix-long-array-consts-false-flag 2024-02-27 00:40:20 +01:00
Evan Shaw
10ed0f3cd6 Set inside_isset false when analyzing ArrayDimFetch dim 2024-02-26 21:47:05 +13:00
Bruce Weirdan
57caade0d1 Skip symlink test on Windows
Fixes vimeo/psalm#6449

Symlinks on Windows are rare (and quite unreliable)
2024-02-25 14:29:20 +01:00