othercorey
9ce57e6c10
Add missing ldap_unbind mapping for php 8.1
2022-06-19 07:44:53 -05:00
Benjamin Morel
d0cbf97e23
Add ReflectionClass::isEnum()
2022-06-17 16:42:21 +02: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
orklah
e72e4488fc
Merge pull request #8042 from KevinVanSonsbeek/bugfix/splfileobject-fputcsv-invalidnamedargument
...
Bugfix/splfileobject fputcsv invalidnamedargument
2022-06-02 18:41:52 +02:00
Kevin van Sonsbeek
e402a3b822
Remove changes from delta, and retroactively fix param name in the historical callmap
2022-06-02 18:37:18 +02:00
Kevin van Sonsbeek
1042ececaf
Update the CallMap to have the correct param names
2022-06-02 00:30:58 +02:00
Kevin van Sonsbeek
943131688d
Updated the delta to accommodate the param name changes when going from 7.4 to 8.0
2022-06-02 00:30:33 +02:00
Vincent Langlet
087d7ce649
Update historical
2022-05-30 09:40:41 +03:00
Vincent Langlet
6352d9a855
Precise stat return type
2022-05-30 09:40:41 +03:00
Bruce Weirdan
e0acf22e40
Merge branch '4.x' into update-master
2022-05-28 14:49:12 -04:00
Mathieu Rochette
e2aafdeab2
Improve array_unique callmap stubs
...
see #7956
2022-05-23 21:19:00 +02:00
Matt Brown
fccc366c1e
Merge pull request #7887 from ging-dev/lsp-fixes
...
improve LSP
2022-04-27 10:13:17 -04:00
Matt Brown
5b91506926
cache statements even without persistent parser cache
2022-04-27 01:50:13 -04:00
Matt Brown
a9e3c1fdc1
Fix namespaced min/max int range keyword issue introduced in #7775 .
2022-04-27 01:44:57 -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
Matt Brown
043bbfbbb4
Remove useless array casting as CallMap for stream_select is reset.
2022-04-27 01:40:51 -04:00
Matt Brown
890375d908
Cast the read streams to an array while looping over as it can be NULL.
2022-04-27 01:39:30 -04:00
Matt Brown
7360626ef4
Merge pull request #7758 from Ne-Lexa/fix-dateinterfal-false
...
DateInterval::createFromDateString can be false
2022-04-27 01:33:27 -04:00
Matt Brown
d58736a550
fix #7747 : DateInterval::createFromDateString can be false
2022-04-27 01:32:38 -04:00
Paul Fedorow
b2d357fbb8
Fix return type of ldap_search
2022-04-23 14:55:46 +02:00
Mikko Pesari
161a8ae6c4
Fix openssl_csr_export() signature
2022-04-13 17:47:59 +03:00
hirokinoue
c6d7bc0d19
Improve Throwable::getTrace() return type
2022-04-12 23:42:37 +09:00
Daniel Kemper
2ee7ba32c7
changed return types of callmap
2022-04-12 08:49:40 +02:00
Daniel Kemper
114aad4c23
Resolve #7855 remove false from return type, in php8.0 and further versions there is a ValueError returned instead
2022-04-11 22:48:13 +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
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
Jack Worman
0ab947024b
#7784 PDOStatement::fetchAll() has incorrect type
2022-03-14 13:33:29 -05:00
Ne-Lexa
7a43baa23c
fixed return type in the historical callmap
2022-03-06 20:47:50 +03: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
Bruce Weirdan
7f304be4fb
Merge pull request #7659 from chloekek/ErrorException-__construct-line-parameter-name
2022-02-13 05:41:51 +02:00
Sergei Morozov
946268e4fe
Update return type for mysqli::connect_error
2022-02-12 19:08:09 -08: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
2966f1c9d4
Merge pull request #7107 from AndrolGenhald/feature/5482-load-extensions-based-on-composer-config
...
Enable extensions based on composer.json instead of those loaded at runtime (fixes #5482 ).
2022-01-28 18:45:52 +01:00
mal-tee
ee990ebff6
InternalTaintSinkMap: Add getimagesize as SSRF sink
2022-01-28 12:29:26 +01:00
AndrolGenhald
2fe4fc397c
Enable extensions based on composer.json instead of those loaded at runtime ( fixes #5482 ).
2022-01-27 16:30:14 -06:00
Kevin van Sonsbeek
6b59dd9c66
Made the nodeValue nullable as indicated by the docs.
2022-01-27 19:19:57 +01:00
orklah
9168cef2d4
Merge remote-tracking branch 'upstream/4.x' into upstream-master6
2022-01-26 21:06:25 +01: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
5a1ddf5e2d
Fixed the return type in the callmap
2022-01-25 23:13:04 +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
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
d39ccb50bf
unify argument names in historical and current CallMap for proc_open
...
Since before 8.0 the named arguments were not part of the interface, we
don't care about the intermediate steps of the proc_open definition. For
consistency, this makes the definition the same across all versions.
This also fixes the type for the `options` argument already in
CallMap_historical to be nullable.
The names of the arguments are now consistent across versions, while the
delta for 7.4 reflects the change of the `command` argument from
`string` to `string|array`.
2022-01-21 09:45:28 +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
dd64326479
Update CallMap_historical too
2022-01-16 14:49:16 +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
925e5be808
Fix the return type of uniqid() in historical call map
2022-01-03 12:12:30 +01:00
Rudolph Gottesheim
ed4c22044a
uniqid() returns a non-empty-string
2022-01-03 11:51:36 +01:00
orklah
926a56a97c
Merge pull request #7230 from orklah/cleanup6
...
code grooming
2021-12-27 22:54:39 +01:00
orklah
3e29a3d961
unnecessary qualified names
2021-12-27 20:16:34 +01:00
Matthias Wirtz
309d1a4634
add samesite option here as well
2021-12-27 09:46:58 +01:00
Matthias Wirtz
2c93b4fe0e
add missing samesite array attribute
...
https://www.php.net/manual/en/function.session-set-cookie-params
When using the second signature, an associative array which may have any of the keys lifetime, path, domain, secure, httponly and samesite. The values have the same meaning as described for the parameters with the same name. The value of the samesite element should be either Lax or Strict. If any of the allowed options are not given, their default values are the same as the default values of the explicit parameters. If the samesite element is omitted, no SameSite cookie attribute is set.
2021-12-25 08:12:13 +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
orklah
5ddf5df10d
Merge pull request #7155 from rarila/partials-conversion-2
...
Convertion of partials to full imports
2021-12-15 00:39:20 +01:00
orklah
dcb5234b69
remove ReflectionMethod::isStatic and add ReflectionFunctionAbstract::isStatic in 8.1
2021-12-14 18:30:31 +01:00
AndrolGenhald
10b6b9aef0
Fix optional arguments in number_format ( fixes #7158 ).
2021-12-14 09:10:05 -06:00
rarila
1c298c4605
Conversion of Psalm\Type
2021-12-14 02:31:22 +01: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
53855f19b0
Update ldap_set_rebind_proc in Callmap_historical
2021-12-13 13:02:56 +01: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
d0528a37f6
Update CallMap_80_delta.php
2021-11-16 12:02:39 +00:00
Kamil Tekiela
9f0441fcd9
Update callmap
2021-11-16 12:00:58 +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
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
159a42c581
fixup! RedisCluster::setOption() argument types incorrect #4708
2021-11-07 20:18:31 +01:00
Bruce Weirdan
7fc4ae3a50
Merge pull request #6852 from jirkace/reflectionclass_newinstanceargs_docblock_fix_php80
2021-11-07 18:59:38 +02: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
bf34a3b486
DOMParentNode and DOMChildNode stubs (php 8) are missing #6771
2021-11-07 15:54:54 +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
016db6869c
issue-6737: fix CallMap_80 and CallMap_historical imagecropauto() arguments
2021-10-25 21:55:39 +03: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
orklah
911076939c
Merge pull request #6628 from orklah/phpparser2
...
Php-Parser 4.13
2021-10-11 20:42:32 +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
orklah
870ee4ff93
->args to ->getArgs
2021-10-09 23:37:04 +02: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