1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-06 05:29:00 +01:00
Commit Graph

145 Commits

Author SHA1 Message Date
5427835fa5 Re-apply changes manually 2022-10-17 12:46:12 +02:00
15f5c593a7 Fix 2022-10-17 12:40:50 +02:00
748a74bb2c Merge remote-tracking branch 'origin/4.x' into HEAD 2022-10-16 13:41:27 +02:00
Alies Lapatsin
ea5f4cb569 Add PHP 8.0 delta for hash_hkdf() 2022-10-09 17:40:52 +03:00
Alies Lapatsin
198a4ba9b0 Return non-empty-string by hash functions 2022-10-09 17:31:14 +03:00
Alies Lapatsin
ee86d6360c
Remove extra changes 2022-10-09 18:05:35 +04:00
Alies Lapatsin
dec8d0edc2
Mark hash functions as non-false
See https://github.com/php/php-src/issues/7759 and PR https://github.com/phpstan/phpstan-src/pull/822/files#
2022-10-09 17:49:17 +04:00
kkmuffme
ce76158085 fix crash in <PHP8 with ResourceBundle
partially reverts https://github.com/vimeo/psalm/pull/8217
2022-09-22 01:01:08 +02:00
orklah
eba63a3821
Merge pull request #8367 from kkmuffme/revert-nullable-curl_multi_getcontent
partial revert nullable type for curl_multi_getcontent
2022-09-08 22:58:29 +02:00
kkmuffme
6e4c1823d6 partial revert nullable type for curl_multi_getcontent
Fix https://github.com/vimeo/psalm/issues/8351

Partially reverts f28ac73777
2022-09-08 21:46:15 +02:00
Paul Fedorow
8908638219 Fix imageinterlace function signature 2022-08-12 11:22:45 +02:00
Marco Pivetta
7ee12c7493 Removed DateTimeImmutable::format() from the CallMap: fully covered by stub
Note: some conditional return type magic was required here.

See: https://github.com/vimeo/psalm/pull/8350#discussion_r937089212
2022-08-05 12:24:35 +02:00
Mathieu Rochette
14241d74b3
ReflectionProperty::getValue $object is nullable since php 8.0
https://www.php.net/manual/en/reflectionproperty.getvalue.php
2022-07-29 22:14:12 +02:00
Corey Taylor
f28ac73777 Fix nullable return types for CallMap functions 2022-07-13 22:44:38 -05:00
AndrolGenhald
285740a753 Merge branch '4.x' 2022-07-07 15:01:38 -05:00
Corey Taylor
e0ebfe19a2 Fix class functions CallMap signatures 2022-07-05 15:36:09 -05:00
Corey Taylor
d0dcd543e4 Fix count() CallMap signature 2022-07-05 15:36:06 -05:00
orklah
9b4c8cb53f
Merge pull request #8151 from othercorey/fix-array-sigs
Fix array_* function signatures
2022-06-24 18:43:00 +02:00
Corey Taylor
3297e35d9a Fix datefmt_* function signatures 2022-06-23 22:55:29 -05:00
Corey Taylor
417bf87df0 Fix array_* function signatures 2022-06-23 20:32:29 -05:00
Corey Taylor
b9cae01855 Remove ldap functions dropped in php 8.0 2022-06-23 15:06:09 -05:00
Alexandru Patranescu
4bafb96cee allow decimal_separator and thousands_separator parameters to be nullable in PHP 7 and 8 2022-06-15 07:43:04 +03:00
Bitwise Operators
651ad6cb50 release:fix: Change return type of createFromInterface() methods on DateTime and DateTimeImmutable to 'static' so extending classes are recognized. 2022-06-13 14:41:02 +02:00
Sam Mousa
44b2ccb4b7
fix #8099: ob_implicit_flush argument type changed to bool 2022-06-13 12:44:43 +02:00
Matt Brown
5b91506926 cache statements even without persistent parser cache 2022-04-27 01:50:13 -04:00
Matt Brown
20351c6667 Avoid json_encode when serializing non-UTF8 literals
`\Psalm\Internal\Clause::$hash` basically holds a hash on
arbitrary input literals, used for later comparison. Using
`json_encode` fails when dealing with non-UTF8 literals,
which has been replaced by plain PHP `serialize`.

Resolves: #7771
2022-04-27 01:42:37 -04:00
Mikko Pesari
161a8ae6c4 Fix openssl_csr_export() signature 2022-04-13 17:47:59 +03:00
Daniel Kemper
2ee7ba32c7 changed return types of callmap 2022-04-12 08:49:40 +02:00
Daniel Kemper
8e01a12033 Resolve #7855 remove false from return type, in php8.0 and further versions there is a ValueError returned instead 2022-04-11 22:44:36 +02:00
Jack Worman
0ab947024b #7784 PDOStatement::fetchAll() has incorrect type 2022-03-14 13:33:29 -05:00
Kevin van Sonsbeek
7507274b1c Fixed return type in the historical callmap, and the old state in the CallMap_80_delta.php 2022-01-26 18:02:27 +01:00
Kevin van Sonsbeek
62d458bfe8 Added the change to the delta callmap for php 8.0 2022-01-25 23:12:52 +01:00
Fabien Villepinte
6bf34b5b97 Add missing parameter to Phar::getMetadata() 2022-01-25 21:35:27 +01:00
orklah
2cd7b19ee3
Merge pull request #7145 from villfa/fix/ldap_set_rebind_proc
Fix ldap_set_rebind_proc signature
2021-12-15 00:49:50 +01:00
AndrolGenhald
10b6b9aef0 Fix optional arguments in number_format (fixes #7158). 2021-12-14 09:10:05 -06:00
Fabien Villepinte
3bd9bbddc7 Fix ldap_set_rebind_proc signature 2021-12-13 11:06:31 +01:00
Kamil Tekiela
88ce10b1dc Fix count_chars stubs 2021-12-07 21:31:05 +00:00
Bruce Weirdan
142ee57836
Refine *strlen() return type to exclude negative integers
Fixes vimeo/psalm#7062
2021-12-05 03:57:36 +02:00
Kamil Tekiela
b854f436ff Improve count_chars stub 2021-12-04 20:56:17 +00:00
Bruce Weirdan
5197a68192
Merge pull request #6987 from pilif/fix-openssl-open-callmap 2021-11-29 08:13:23 +02:00
Philip Hofstetter
323b74b8d8
fix all openssl_* signatures for PHP >= 8.0
while some signatures were already updated in the past, many others were
not.

This commits fixes all signatures to match what the PHP manual
specifies.
2021-11-29 06:21:42 +01:00
Kamil Tekiela
b44c16bc68 Fix signatures of gmstrftime and strftime 2021-11-27 22:55:34 +00:00
Kamil Tekiela
c4c97d3018 Stub fixes for mysqli extension
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2021-11-24 22:21:56 +00:00
orklah
e13c48a719
Merge pull request #6927 from veewee/soap-stub-response
Invalid SoapClient::__doRequest() response type
2021-11-22 21:23:42 +01:00
Kamil Tekiela
d0528a37f6 Update CallMap_80_delta.php 2021-11-16 12:02:39 +00:00
Kamil Tekiela
2b05f66d36
session_set_cookie_params signature changed in 8.0 2021-11-16 11:37:19 +00:00
Toon Verwerft
df1947922f Invalid SoapClient::__doRequest() response type 2021-11-15 14:18:34 +01:00
ralila
09933db94a Adjusting delta/historical callmaps 2021-11-13 22:59:19 +01:00
Toon Verwerft
b72da42dd1 Remove invalid SoapClient::__doRequest stub 2021-11-13 10:27:48 +01:00
Bruce Weirdan
d844eabdfa
Merge pull request #6846 from jirkace/openssl_sign_callmap_php80_fix
Fixed callmap for function openssl_sign, it changed in PHP 8.0 (modif…
2021-11-08 12:53:40 +02:00
blackie
8fde59f885 fixup! fixup! Fixed callmap for function openssl_sign, it changed in PHP 8.0 (modified types for param private_key) #6842 2021-11-08 08:07:10 +01:00
blackie
e96bb7823c fixup! Fixed callmap for function openssl_sign, it changed in PHP 8.0 (modified types for param private_key) #6842 2021-11-07 20:36:26 +01:00
blackie
cb9bf8b5af Fixed docblock for newInstanceArgs for PHP 8.0 #5136 2021-11-07 16:16:23 +01:00
blackie
d5a5db12a2 Fixed callmap for function openssl_sign, it changed in PHP 8.0 (modified types for param private_key) #6842 2021-11-07 01:44:00 +01:00
S.M. Ataur Rahman
52265d926f parameters of mysqli __construct()/connect() are nullable in php 8.0 2021-11-03 21:56:31 +06:00
Paolo L. Scala
f445ef7dd1 Updated openssl_pkey_get_private function signature
Fixes #6469
2021-10-27 16:18:30 +02:00
Semercom
016db6869c issue-6737: fix CallMap_80 and CallMap_historical imagecropauto() arguments 2021-10-25 21:55:39 +03:00
Manuel VACELET
d561b29e4d ReflectionClass::getReflectionConstants has a filter parameter
It was introduced in php 8.0.

Fixes #6588
2021-10-05 14:15:28 +02:00
Semyon
5c375cb3c0 Revert mb_str_split return signature to list<string> 2021-09-16 15:27:34 +03:00
ThomasLandauer
fa3fd10058 Fixing null for openssl_x509_parse() in CallMap_80_delta.php too :-) 2021-08-29 12:35:28 +02:00
ThomasLandauer
2210003c98 Fixing openssl_x509_parse() and openssl_x509_read() Closes #6358 2021-08-29 00:04:04 +02:00
Vincent Langlet
4b84793b2f Add false back for mb_str_split 2021-08-17 18:45:02 +02:00
Vincent Langlet
1cdad83630 Remove false if length is positive int 2021-08-17 17:47:22 +02:00
Vincent Langlet
786d926d78 str split return non empty 2021-08-17 11:03:54 +02:00
Marc Ole Bulling
1818609f43 Fix for #6318 2021-08-16 19:23:10 +02:00
Tyson Andre
ff72d2c92e Fix issues in php 8.0 delta
In a last minute change in php 8.0 after the feature freeze,
PhpToken::getAll was changed to tokenize

Also, https://www.php.net/manual/en/function.mb-get-info
has been around since php 4.2 - it's in psalm/dictionaries/CallMap.php
already with the same signature. Same for ReflectionNamedType::isBuiltin

Also, add signatures for getAttributes.

Also, use the same param names for fdiv that are found in reflection in
php 8.0 and 8.1 to support named arguments
2021-08-15 19:28:44 -04:00
Bruce Weirdan
cc1335022f
Fix SimpleXMLIterator historic and current signatures
Historically, `SimpleXMLIterator` had only implemented `Iterator` and
`RecursiveIterator` methods. This changed in 8.0, when iterator methods
were moved to `SimpleXMLElement`, and `SimpleXMLIterator` was made a
dummy class extending `SimpleXMLElement`.

Fixes vimeo/psalm#6305, in the sense that Psalm would no longer report
different errors depending on the runtime PHP version.
2021-08-16 00:04:59 +03:00
Maurício Meneghini Fauth
1bc71522fb
Fix wrong return type for imagejpeg GD function
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2021-08-08 14:57:17 -03:00
Bruce Weirdan
66056e391b
Restored some callmap types 2021-08-08 19:50:16 +03:00
bjscharp
90a09a7a9a Remove outdated line about removal from delta docblocks 2021-08-08 15:42:28 +02:00
bjscharp
88f15f0526 Fix version error in delta docblocks 2021-08-08 15:40:26 +02:00
bjscharp
96056d329f Add simple test to verify outout of getCallMap method
Convert deltafile format to new style proposed by weirdan
Modify CallMapTest to use new format
Modify InternalCallMapHandler to use new format
Move assertions to base testcase
2021-08-08 10:39:54 +02:00
bjscharp
f39c462138 Add missing bcadd function to 8.0 delta file.
To prevent similar errors, add baseline file with signatures pre-7.1, to help verify delta files are correct.
Modify test to use this to detect missing 'old' entries
2021-08-05 23:21:41 +02:00
bjscharp
4997208ee7 Merge branch 'master' into callmap-delta-inconsistencies
# Conflicts:
#	dictionaries/CallMap_80_delta.php
2021-08-05 22:03:32 +02:00
bjscharp
ac5ea252ff Added test to detect problems and inconsistencies in CallMap files
- Fixed inconsistencies in callmap delta files (mainly 8.0)
- Added several missing changes in the bc_* functions
- Added several missing changes in the mb_* functions
- Added several missing changes in the xml_parser_* functions
- Fixed several issues with sodium_ functions
- Removed all but one of the date_* functions. All were marked as having lost the option to return false, despite this only being true for date_format
2021-08-05 19:07:31 +02:00
Mason McElvain
81661395ce Add old date signature to CallMap_80_delta 2021-08-04 15:26:42 -07:00
Mason McElvain
4d2a5b1bfa Permit null timestamp to date() in PHP 8
PHP 8 allows the timestamp to be null, but version 7.4 doesn't.
Creates a mapping for date() to allow $timestamp to be null in PHP 8.
2021-08-04 15:07:45 -07:00
Bruce Weirdan
a29cbd3c95
More callmap fixes
* `writeDtdEntity()`/`xmlwriter_write_dtd_entity()` has optional params
* `xmlwriter_write_attribute_ns` has `$namespace` param as nullable, not
`$content`
* `xmlwriter_write_element()`/`xmlwriter_write_element_ns()` has
`$content` param as optional
2021-07-17 23:37:32 +03:00
Arnout Boks
f90e366398
Fix incorrect signature for XMLWriter::writeAttributeNs()
https://github.com/vimeo/psalm/pull/6099#discussion_r670604872
2021-07-17 22:29:56 +03:00
Arnout Boks
f304408662
Fix incorrect signature for xmlwriter_start_dtd 2021-07-17 22:29:56 +03:00
Arnout Boks
184505733d
Correct callmap entries for XMLWriter
Checked and fixed the following, based on the current
documentation in the PHP manual:

* capitalization in method names
* parameter names
* parameter types (especially for nullable params)
* return types (especially for '|false'-types)
* differences between pre- and post-8.0.0-signatures

Fixes #6091
2021-07-17 22:29:52 +03:00
Justin
f7a2aaef6e
Update DateTime and DateTimeImmutable signatures
`DateTime::format` and `DateTimeImmutable::format` will always
return a string starting in PHP 8.0.
2021-07-03 04:29:54 -04:00
Mikko Pesari
8443cd8d24 Update mbstring signatures for PHP 8 2021-07-02 16:12:43 +03:00
Bruce Weirdan
997ffcda4c
Add $filter parameter to ReflectionClass::getConstants() (#5847)
Fixes vimeo/psalm#5837
2021-05-28 09:48:22 -04:00
Bruce Weirdan
b4fab67f3b
Fix DateTimeZone::listIdentifiers() and timezone_identifiers_list() signature (#5443)
Including historic changes, according to php.net docs.

Fixes vimeo/psalm#5442
2021-03-20 15:43:05 -04:00
Ilija Tovilo
27e7fb554a
Fix gd CallMap for PHP 8 (#5271) 2021-03-01 11:23:45 -05:00
Philip Hofstetter
25659dd1a9
add missing parameter names to DateTime::createFromInterface (#5138)
this causes `Trying to access array offset on value of type int in
src/Psalm/Internal/Codebase/InternalCallMapHandler.php`
2021-02-01 10:20:12 -05:00
sji
f1123d0ccc
Fix wrong comments in CallMap_80_delta.php (#5104) 2021-01-25 11:05:13 -05:00
sji
e61daf5c2f
Fix CallMap of PDOStatement for PHP8 (#5100)
The definitions are based on the php-src stub. 4bbb98c24f/ext/pdo/pdo_stmt.stub.php
2021-01-25 11:04:30 -05:00
Bruce Weirdan
3209ef76fe
Remove ReflectionType::getName(), move ReflectionType::isBuiltin() (#5090)
* Remove ReflectionType::getName(), move ReflectionType::isBuiltin()

* `ReflectionType::getName()` was never there: https://3v4l.org/1iZt4
* `ReflectionType::isBuiltin()` was moved to
`ReflectionNamedType::isBuiltin()` in PHP 8

Fixes vimeo/psalm#5089

* Fix test

* Mark test as php 8.0 only
2021-01-24 13:31:10 -05:00
orklah
592f6794a8
fix wrong order of types (#5058) 2021-01-20 17:41:41 -05:00
orklah
9e0525439d
add createFromInterface in PHP 8 (#5055) 2021-01-19 17:22:25 -05:00
Tyson Andre
d71ed7b9e9
Fix curl_multi_getcontent signature (#4580) 2020-11-16 21:47:33 -05:00
Matt Brown
eeacec315a 4.x - fix callmap regressions 2020-10-12 10:08:15 -04:00
Matt Brown
b85cbd01a7 4.x - add support for PHP 8 callmap 2020-10-12 09:41:25 -04:00