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
Bruce Weirdan
00c2fef25d
Forbid named arguments for ArrayAcccess methods
...
Fixes vimeo/psalm#10533
2024-03-10 00:06:27 +01:00
Bruce Weirdan
005e3184fb
Merge pull request #10800 from weirdan/10799-use-wider-classstring
2024-03-09 20:39:11 +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
87f7101e01
Merge pull request #10802 from weirdan/10796-nullable-resource-for-mkdir
2024-03-09 20:14:10 +01:00
Bruce Weirdan
5c780c7b05
$resource
parameter of mkdir()
is nullable since PHP 7.3
...
Fixes vimeo/psalm#10796
2024-03-09 20:06:47 +01:00
Bruce Weirdan
02b58a592f
Merge pull request #10801 from weirdan/fix-trailing-commas-after-anon-functions
2024-03-09 19:38:57 +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
dca888c777
Merge pull request #10781 from theodorejb/fix-sqlsrv-callmap
2024-03-03 20:20:06 +01:00
Theodore Brown
33071242aa
Update CallMap for sqlsrv_connect and sqlsrv_errors to match reflection
2024-03-03 12:08:05 -06: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
b061783848
Merge pull request #10776 from kkmuffme/fix-php8-tests-use-wrong-analysis-version
2024-03-03 15:26:10 +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
9e905ec21d
Merge pull request #10778 from weirdan/10773-fix-weakmap-iteration
2024-03-03 15:09:44 +01:00
Bruce Weirdan
edc123b219
Backport WeakMap
iterator fix from master
...
Refs vimeo/psalm#10773
2024-03-03 13:45:25 +01:00
Bruce Weirdan
20e8604b0c
Merge pull request #10772 from weirdan/10766-named-parameters-for-callables
2024-03-02 20:01:32 +01:00
Bruce Weirdan
ceb290891b
Initial support for named parameters for callables
...
Fixes vimeo/psalm#10766
2024-03-02 19:17:48 +01:00
Bruce Weirdan
cabcb02614
Merge pull request #10765 from theodorejb/avoid-duplication
2024-03-02 15:52:52 +01:00
Bruce Weirdan
d3e070c89e
Merge pull request #10769 from kkmuffme/since-annotations-outside-phpstub-should-not-infer-php-version
2024-03-02 14:14: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
d751c202d8
fix unrelated Config bug not honoring PHP composer versions 8.2 + 8.3
2024-03-02 11:50:52 +01:00
Theodore Brown
e357b972f6
Avoid duplicating code for RiskyTruthyFalsyComparison
2024-02-29 20:38:40 -06:00
Bruce Weirdan
496b214671
Merge pull request #10764 from weirdan/fix-since-version-comparison
2024-03-01 03:03:19 +01:00
Bruce Weirdan
97b22ecdfd
Fix version comparison for @since
...
Refs vimeo/psalm#10761
2024-03-01 01:37:33 +01:00
Bruce Weirdan
8bdf114b9a
Merge pull request #10760 from kkmuffme/fix-crash-invalid-taint-escape
2024-03-01 00:35:07 +01:00
kkmuffme
52fb472207
Fix PHP notice - crash on invalid taint-escape
2024-02-29 17:54:51 +01:00
Bruce Weirdan
9aa450bbe6
Merge pull request #10753 from edsrzf/arguments-isset-disable
2024-02-27 16:50:20 +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
a1352eb647
Merge pull request #10697 from weirdan/forbid-iterating-over-generators-with-non-nullable-send
2024-02-27 01:10:14 +01:00