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