Matthew Rardon
9c91912281
Fix ftp_fget/_fput/_nb_fget/_nb_fput arg types
2022-03-28 11:38:18 -04:00
Ciaran McNulty
0b39384325
Add return shape for Throwable::getTrace
...
This is based on the documentation for debug-backtrace:
https://php.net/debug_backtrace
Experimentation that shows the `object` field is not populated for exceptions:
https://3v4l.org/iQoni
And validation on psalm.dev:
https://psalm.dev/r/b35a8df2f3
2022-03-18 09:14:23 +00:00
Jack Worman
88f9e19acd
#7784 PDOStatement::fetchAll() has incorrect type
2022-03-14 14:11:31 -05:00
Ne-Lexa
a57bb1f128
fix #7747 : DateInterval::createFromDateString can be false
2022-03-05 22:37:55 +03:00
orklah
0fe6eaf5d9
Merge remote-tracking branch 'upstream/4.x' into upstream-master13
2022-02-26 21:26:59 +01:00
orklah
3a85f49268
Merge pull request #7673 from VincentLanglet/pdoException
...
PDOException extends RuntimeException and can use int code errors
2022-02-23 13:45:57 +01:00
Vincent Langlet
694157b2e0
PDOException extends RuntimeException and can use int code errors
2022-02-14 21:04:10 +01:00
Bruce Weirdan
edddc87002
Merge branch '4.x' into upstream-master
2022-02-13 07:14:23 +02:00
Chloé Kekoa
092f729e46
Correct name of ErrorException::__construct $line param
2022-02-13 01:19:33 +01:00
Bruce Weirdan
11e60fa261
Merge branch '4.x' into upstream-master
2022-02-11 03:51:48 +02:00
Marco Pivetta
fabcda16b4
Ensure trait_exists()
always returns bool
...
Fixes #7478
As discussed in the upstream issue, `trait_exists()` always returns `bool`: while
it can return `null` when the arguments passed to it do not match (either no arguments, or
3 or more arguments), we do not support that scenario, as that already doesn't respect the
type signature of this function.
We cut to the point: always make it `bool`, which is the scenario that works under healthy
operational conditions.
Ref: https://github.com/Roave/BetterReflection/pull/983#discussion_r790908170
Ref: https://psalm.dev/r/c41a43805d
Ref: https://github.com/vimeo/psalm/issues/7478#issuecomment-1020330351
Ref: https://github.com/vimeo/psalm/issues/7478#issuecomment-1020337712
Ref: https://3v4l.org/XpHmh
2022-02-01 16:51:09 +01:00
Bruce Weirdan
963b41d317
Merge branch '4.x' into upstream-master
2022-01-30 00:32:12 +02:00
orklah
9168cef2d4
Merge remote-tracking branch 'upstream/4.x' into upstream-master6
2022-01-26 21:06:25 +01:00
Kevin van Sonsbeek
5a1ddf5e2d
Fixed the return type in the callmap
2022-01-25 23:13:04 +01:00
Fabien Villepinte
6bf34b5b97
Add missing parameter to Phar::getMetadata()
2022-01-25 21:35:27 +01:00
orklah
841d4f4429
improve support for enum_exists
2022-01-22 18:27:24 +01:00
orklah
af1888b631
Merge remote-tracking branch 'upstream/4.x' into upstream-master4
2022-01-22 17:48:42 +01:00
Matthias Wirtz
5b23a0c51e
in array form all attributes are nullable since PHP 7.3
2022-01-22 15:34:16 +01:00
Matthias Wirtz
bb577ec271
change nullable for array signature to be equal to param signature
2022-01-22 15:26:26 +01:00
Alberto Piai
9b22d63c5b
fix proc_open stub for php >= 8.0
...
The argument names are defined here:
https://github.com/php/php-src/blob/PHP-8.0.0/ext/standard/basic_functions_arginfo.h#L1773-L1780
2022-01-20 13:57:34 +01:00
Rishi Kumar Ray
5e277d4060
Fix Incomplete return type for mb_split() function
2022-01-19 18:07:06 +05:30
5c3d9fd659
Fix kafka stubs
2022-01-19 10:14:09 +01:00
orklah
477c0113c2
Merge remote-tracking branch 'upstream/4.x' into upstream-master3
2022-01-18 18:37:04 +01:00
orklah
a0f52eae2f
Merge pull request #7407 from villfa/fix/7039
...
Improve signature of DOMDocument::loadXML()
2022-01-18 00:01:00 +01:00
Fabien Villepinte
c9eafa15ad
Improve signature of DOMDocument::loadXML()
2022-01-17 22:52:58 +00:00
Ricardo Boss
26dd4c5b8f
Try to provide literal int types when possible ( fixes #6966 ) ( #7071 )
...
* Fixed vimeo/psalm#6966
* Only accept >= 0 values for mode argument in round()
* Made round() only return float or literal float values and remove unneeded test
* Registered RoundReturnTypeProvider
* Updated cast analyzer to handle single string literal int values as literal ints
* Fixed psalm errors
* Fix invalid property accesses
* Addressed comments
* Added Tests
* Marked RoundReturnTypeProvider as internal
* Fixed CS
2022-01-16 21:33:04 +01:00
Fabien Villepinte
642321ea70
Improve signature of random_bytes()
2022-01-16 14:47:42 +01:00
Bruce Weirdan
f9e6ff39fa
Merge pull request #7347 from VincentLanglet/dir
2022-01-09 00:14:28 +02:00
Vincent Langlet
c03154390a
Fix dir
2022-01-08 21:49:45 +01:00
Ricardo Boss
dc0e82f6bc
Updated return type of iterator_count and iterator_apply functions to 0|positive-int
2022-01-07 12:36:07 +01:00
Rudolph Gottesheim
ed4c22044a
uniqid() returns a non-empty-string
2022-01-03 11:51:36 +01:00
Matthias Wirtz
309d1a4634
add samesite option here as well
2021-12-27 09:46:58 +01:00
Francois Botha
014e678e97
MySqli: some parameters are nullable
2021-12-20 16:00:25 +02:00
orklah
646ba983a0
Merge pull request #7140 from yethee/soap
...
Fixed compatibility with SoapClient
2021-12-15 00:55:57 +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
orklah
41fe5534b6
Merge pull request #7159 from AndrolGenhald/bugfix/number-format-optional-arguments
...
Fix optional arguments in number_format (fixes #7158 ).
2021-12-15 00:47:35 +01:00
AndrolGenhald
10b6b9aef0
Fix optional arguments in number_format ( fixes #7158 ).
2021-12-14 09:10:05 -06:00
orklah
a51d16150d
fix CI
2021-12-13 23:35:48 +01:00
yethee
3a574fe072
Update signatures for SoapFault
2021-12-13 22:14:09 +03:00
Fabien Villepinte
3bd9bbddc7
Fix ldap_set_rebind_proc signature
2021-12-13 11:06:31 +01:00
yethee
0897714964
Update signatures of methods of SoapClient
2021-12-12 19:43:06 +03: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
orklah
396ff967e0
Merge pull request #7042 from kamil-tekiela/get_class
...
get_class does not return false
2021-12-02 13:12:36 +01:00
orklah
90d421635d
Merge pull request #7030 from ostrolucky/rediscluster-getoption
...
Fix RedisCluster::getOption() and RedisCluster::setOption() argument types
2021-12-02 07:45:36 +01:00
Kamil Tekiela
19062e56a3
get_class does not return false
...
Technically all functions could return false or null when a wrong parameter is provided, but that was undefined behavour in PHP <8 and should not be relied upon.
2021-12-01 21:36:13 +00:00
orklah
d7d4b37ac1
year in getdate can be before 1970 for negative timestamps
2021-12-01 20:18:25 +01:00
Bruce Weirdan
28c4f86993
Merge pull request #7027 from rarila/issue-6914
2021-11-30 23:34:00 +02:00
Gabriel Ostrolucký
7b78a7e64c
Fix RedisCluster::getOption() and RedisCluster::setOption argument types
...
See aac42cd335/redis_cluster.stub.php (L122)
Related https://github.com/vimeo/psalm/pull/6853
2021-11-30 21:22:48 +01:00
orklah
ea03410645
refine getdate array structure
2021-11-30 21:18:10 +01:00
orklah
02b35ccada
Merge pull request #7023 from orklah/abs
...
refine abs return type
2021-11-29 21:20:26 +01:00
orklah
9f918a8314
refine abs return type
2021-11-29 21:16:51 +01:00
ralila
2c94ce0185
Adjust callmaps
2021-11-29 14:23:57 +01: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
020c5f0d15
Fix mysqli_fetch_fields stub
2021-11-28 22:43:34 +00:00
Kamil Tekiela
84079d1833
More specific array return types
2021-11-28 22:43:34 +00:00
Kamil Tekiela
f7aa5ea4b9
Expand mysqli_fetch_array
2021-11-28 11:15:34 +00:00
Kamil Tekiela
0f22bc4c18
mysqli_fetch_* functions return mixed values
2021-11-28 10:54:07 +00:00
Bruce Weirdan
41256c74d1
Added enum-related stubs and callmaps
...
Fixes vimeo/psalm#6430
2021-11-28 11:41:43 +02: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
Thomas Gerbet
84d327678b
usleep(0) is valid
...
Similar to ef9858c458
.
usleep() only throws the value is < 0:
```
Uncaught ValueError: usleep(): Argument #1 ($microseconds) must be greater than or equal to 0
```
2021-11-22 11:58:39 +01:00
Benjamin Morel
ef9858c458
sleep(0) is valid
2021-11-22 09:47:34 +01:00
Ciaran McNulty
c91e245074
Update data types of file_put_contents
...
The main aim is to exclude boolean false, which could be coerced into '' in the following cases:
```
file_put_contents('outfile', file_get_contents('invalid_file')); // false instead of string
file_put_contents('outfile', fopen('invalid_file', 'r')); // false instead of resource
file_put_contents('outfile', file('invalid_file')); // false instead of array
```
2021-11-21 20:57:45 +00:00
MallardDuck
8292967ec4
Update crypto to use object-like array
2021-11-20 23:56:29 -05:00
MallardDuck
25cd14fe12
correct callmaps for stream_get_meta_data return
2021-11-20 12:16:22 -05:00
Kamil Tekiela
9f0441fcd9
Update callmap
2021-11-16 12:00:58 +00:00
Toon Verwerft
df1947922f
Invalid SoapClient::__doRequest() response type
2021-11-15 14:18:34 +01:00
ralila
8dee0476da
Fix mb_convert_encoding to accept any array.
2021-11-13 20:06:49 +01:00
Toon Verwerft
b72da42dd1
Remove invalid SoapClient::__doRequest stub
2021-11-13 10:27:48 +01:00
575fd1c55a
Small fixes
2021-11-11 12:05:03 +01:00
290002c045
Small fix
2021-11-08 17:26:42 +01:00
ed6f8e0dd7
Use positive integers for various time functions
2021-11-08 17:26:39 +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
Bruce Weirdan
703312278f
Merge pull request #6853 from jirkace/rediscluster_setoption_argument_types
2021-11-08 00:11:29 +02: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
a6b91384c1
RedisCluster::setOption() argument types incorrect #4708
2021-11-07 16:45:28 +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
bcc3023ac9
callmap updated as mysqli __construct()/connect() return bool in php 8.1
2021-11-03 22:02:24 +06: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
S.M. Ataur Rahman
a391de6ab4
added mysqli::connect() to callmap
2021-11-03 21:41:45 +06:00
Alexey Borzov
ae4294f61d
Reverted parameter names for '1 signatures, removed unneeded '1 signatures
2021-10-29 18:34:00 +03:00
Alexey Borzov
a96b93a1e3
Batch 2: checked all the signatures against PHP docs and ext/pgsql code
2021-10-29 02:22:55 +03:00
Alexey Borzov
629100aa23
Batch 1: fix 8.1 return values for query execution methods and pg_lo_open()
2021-10-28 19:44:56 +03:00
Paolo L. Scala
f445ef7dd1
Updated openssl_pkey_get_private function signature
...
Fixes #6469
2021-10-27 16:18:30 +02:00
Semercom
a9d921e9c0
issue-6737: fix CallMap imagecropauto() arguments
2021-10-25 21:29:18 +03:00
Tomas Norre Mikkelsen
b39b523fb4
Convert pgsql functions to use object instead of a resource
2021-10-14 19:30:03 +02:00
Valentin Udaltsov
910258b44c
Added optional offsets 3 and 4 to PDO::errorInfo and PDOStatement::errorInfo
2021-10-10 13:48:52 +03:00
Valentin Udaltsov
e7dd53d4d1
Refined PDO::errorInfo, PDOStatement::errorInfo
...
See https://www.php.net/manual/ru/pdo.errorcode.php and https://www.php.net/manual/ru/pdostatement.errorinfo.php .
2021-10-09 22:09:10 +03:00
Ishan Vyas
bdb494563e
chore: remove FiberExit class from Fiber stubs
...
Signed-off-by: Ishan Vyas <isvyas@gmail.com>
2021-10-09 12:31:52 +05:30
Ishan Vyas
e917546801
feat: Add Fiber stubs
...
Signed-off-by: Ishan Vyas <isvyas@gmail.com>
2021-10-08 23:27:48 +05:30
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
Tomas Norre Mikkelsen
960af957db
Convert PSpell resources to objects
2021-10-04 13:41:31 +02:00
Tomas Norre Mikkelsen
4b8f212ab8
Fix incorrect parameters names
2021-10-04 12:58:03 +02:00
Tomas Norre Mikkelsen
993349d64d
Convert LDAP resources to objects
2021-10-04 12:57:12 +02:00
orklah
73495d73e4
Merge pull request #6567 from tomasnorre/imap-rosource-to-object
...
Convert imap functions to use object instead of a resource
2021-10-04 00:35:04 +02:00
orklah
246f8173e0
Merge pull request #6566 from tomasnorre/fileinfo-resource-to-object
...
Convert finfo functions to use object instead of a resource
2021-10-04 00:34:48 +02:00
Ishan Vyas
79270c01fd
chore: make changes in CallMap.php file
...
Signed-off-by: Ishan Vyas <isvyas@gmail.com>
2021-10-03 22:32:17 +05:30
Tomas Norre Mikkelsen
232ebb7e57
Convert imap functions to use object instead of a resource
2021-10-02 11:58:08 +02:00
Tomas Norre Mikkelsen
518e18f128
Convert finfo functions to use object instead of a resource
2021-10-02 10:16:42 +02:00
Sergei Predvoditelev
31763b3628
Fix fopen
2021-09-30 17:12:54 +03:00
Paweł Słowik
096a6dbe5c
Remove undocumented / untested XlsWriter methods
2021-09-28 17:56:20 +02:00
Paweł Słowik
e1727ffe22
Update XlsWriter signatures
2021-09-28 17:56:20 +02:00
Paweł Słowik
2e51a9a8a7
Permit null user_agent to get_browser()
2021-09-17 16:46:27 +02:00
Semyon
5c375cb3c0
Revert mb_str_split return signature to list<string>
2021-09-16 15:27:34 +03:00
ssnepenthe
655c000009
Update return type for xdebug_get_profiler_filename()
...
Returns false when profiler is not active, string otherwise
2021-09-14 13:45:23 -07:00
Christopher Bray
847f1e41e7
Make imageavif arguments optional
2021-09-08 09:17:06 +01:00
Christopher Bray
46f7a56e13
Add imageavif to CallMap
2021-09-07 22:07:02 +01:00
Christopher Bray
1bc6a231e0
Add imagecreatefromavif to CallMap
2021-09-07 22:03:31 +01:00
Bruce Weirdan
d17f1bd7b3
Merge pull request #6447 from brayniverse/master
2021-09-07 05:26:25 +03:00
Bruce Weirdan
5535ea1ac0
$column
parameter is optional
2021-09-07 03:02:25 +03:00
Christopher Bray
ba84c990dd
Add mysqli_fetch_column to CallMap
2021-09-06 22:34:25 +01:00
50bhan
58e1e6b9a3
Add an optional $options argument to hash functions for PHP 8.1
2021-09-07 01:44:35 +04:30
S.M. Ataur Rahman
5ec5f7d3db
introducing fsync & fdatasync functions in callmap
2021-09-07 00:24:32 +06:00
Bruce Weirdan
e3e667653a
Merge pull request #6435 from SMAtaurRahman/php8.1
2021-09-06 17:27:17 +03:00
S.M. Ataur Rahman
b6e7a77e5a
introducing mysqli execute() method parameter callmap change for php 8.1
2021-09-06 19:33:58 +06:00
Nicolas Giraud
9df0edbbab
Force array_walk to not infer input type.
2021-09-06 15:15:25 +02:00
Bruce Weirdan
36dfeed774
Converted ftp functions to use link object instead of a resource
...
Fixes vimeo/psalm#6403
2021-09-04 23:44:57 +03:00
orklah
9cd8917b88
create callmap for 8.1 and introduce array_is_list
2021-09-04 13:25:23 +02:00
Bruce Weirdan
cbcc38aab8
Merge pull request #6339 from niconoe-/allow-object-on-array_walk
2021-08-31 23:45:10 +03:00
ThomasLandauer
630529740c
Fixing null for openssl_x509_parse()
2021-08-29 12:33:19 +02:00
ThomasLandauer
2210003c98
Fixing openssl_x509_parse() and openssl_x509_read() Closes #6358
2021-08-29 00:04:04 +02:00
Pol Dellaiera
f0d54128b6
Update return type of getInnerIterator
which is always returning an iterator.
2021-08-24 15:27:02 +02:00
Nicolas Giraud
e254ebf5d5
Allow object type to be given to array_walk and array_walk_recursive.
2021-08-19 12:03:06 +02:00
Benjamin Morel
621c4dd8d1
Enforce class-string in is_subclass_of()
2021-08-17 23:14:11 +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
Bruce Weirdan
babfb6a637
Fix histories
2021-08-16 02:52:18 +03: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
Valentin Udaltsov
8b60ebebcf
Refined debug_backtrace return type
2021-08-09 10:43:33 +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
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
b2ba774cb9
Update CallMap with PHP 8 date() signature
2021-08-04 15:27:32 -07:00
Bruce Weirdan
e34a0e39d6
s/limit/length/
2021-08-01 16:35:09 +03:00
bjscharp
e779387b9a
Added missing mb_str_split function from 7.4
2021-08-01 15:12:07 +02:00
Bruce Weirdan
f952f1b616
exec()
may fail
...
Fixes vimeo/psalm#6195
2021-07-28 13:38:49 +03:00
Bruce Weirdan
7aa5564047
Merge pull request #6192 from orklah/array_replace_not_nullable
...
make array_replace and array_replace_recursive not nullable
2021-07-28 00:20:46 +03:00
orklah
d9df3211c5
make array_replace and array_replace_recursive not nullable
2021-07-27 23:02:41 +02:00
Vincent Langlet
47fa2724d7
Add false as return type of shell_exec
...
The doc is only talking about string|null, but
false is possible when the pipe can't be etablished
@see https://github.com/php/php-src/pull/7306#issuecomment-886489235
2021-07-26 11:08:20 +02:00
Bruce Weirdan
6eee971109
Detailed signature for fputcsv and friends
...
Fixes vimeo/psalm#5226
2021-07-21 00:42:36 +03: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
08a80dd238
Fix main callmap should contain newest signatures
...
https://github.com/vimeo/psalm/pull/6099#discussion_r671556027
2021-07-17 22:29:56 +03:00