1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-11 16:59:45 +01:00
Commit Graph

556 Commits

Author SHA1 Message Date
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
Andreas Braun
48bf5496d8
Add missing parameter type for Serializable::unserialize 2022-08-26 10:03:08 +02:00
Andreas Braun
5b8f611e73
Handle tentative return types for interfaces correctly 2022-08-25 15:27:04 +02:00
Andreas Braun
6a6922d29e
Update call maps for MongoDB extension 2022-08-25 14:35:54 +02:00
orklah
0d0a049eb2
Merge pull request #8405 from vjik/get-modifiers-name
Clarification of `Reflection::getModifierNames()` result type
2022-08-12 18:53:47 +02:00
Sergei Predvoditelev
4498a523b9
fix 2022-08-12 16:12:36 +03:00
Sergei Predvoditelev
ffe4375a60
Clarification of Reflection::getModifierNames() result type 2022-08-12 16:03:56 +03:00
Paul Fedorow
8908638219 Fix imageinterlace function signature 2022-08-12 11:22:45 +02:00
Marco Pivetta
a1ed84f1ed Removed DateTimeImmutable::createFromMutable() from the CallMap: fully covered by stub 2022-08-05 12:52:32 +02:00
Marco Pivetta
aaac9ccb90 Removed DateTimeImmutable::setTimestamp() from the CallMap: fully covered by stub
Also simplified the return type from `static|false` to `static`, since
the method throws at all times, on failure.

On PHP 7.x, it could only fail if an invalid type was passed in, which is
not really valid anyway, from a type perspective.

Ref (PHP 8.1.x): 32d55f7422/ext/date/php_date.c (L3353-L3369)
Ref (PHP 7.0.33): bf574c2b67/ext/date/php_date.c (L3596-L3612)
2022-08-05 12:50:51 +02:00
Marco Pivetta
964f64a500 Removed DateTimeImmutable::setISODate() from the CallMap: fully covered by stub
Also simplified the return type from `static|false` to `static`, since
the method throws at all times, on failure.

On PHP 7.x, it could only fail if an invalid type was passed in, which is
not really valid anyway, from a type perspective.

Ref (PHP 8.1.x): 32d55f7422/ext/date/php_date.c (L3308-L3324)
Ref (PHP 7.0.33): bf574c2b67/ext/date/php_date.c (L3549-L3565)
2022-08-05 12:49:45 +02:00
Marco Pivetta
0a6c9d0177 Removed DateTimeImmutable::setDate() from the CallMap: fully covered by stub
Also simplified the return type from `static|false` to `static`, since
the method throws at all times, on failure.

On PHP 7.x, it could only fail if an invalid type was passed in, which is
not really valid anyway, from a type perspective.

Ref (PHP 8.1.x): 32d55f7422/ext/date/php_date.c (L3258-L3274)
Ref (PHP 7.0.33): bf574c2b67/ext/date/php_date.c (L3496-L3512)
2022-08-05 12:48:29 +02:00
Marco Pivetta
e61c593a2c Removed DateTimeImmutable::setTime() from the CallMap: fully covered by stub
Also simplified the return type from `static|false` to `static`, since
the method throws at all times, on failure.

On PHP 7.x, it could only fail if an invalid type was passed in, which is
not really valid anyway, from a type perspective.

Ref (PHP 8.1.x): 32d55f7422/ext/date/php_date.c (L3212-L3228)
Ref (PHP 7.0.33): bf574c2b67/ext/date/php_date.c (L3447-L3463)
2022-08-05 12:47:04 +02:00
Marco Pivetta
4fe554d6d2 Removed DateTimeImmutable::setTimezone() from the CallMap: fully covered by stub
Also simplified the return type from `static|false` to `static`, since
the method throws at all times, on failure.

On PHP 7.x, it could only fail if an invalid type was passed in, which is
not really valid anyway, from a type perspective.

Ref (PHP 8.2.x): 534127d3b2/ext/date/php_date.c (L3291-L3307)
Ref (PHP 8.2.x): 534127d3b2/ext/date/php_date.stub.php (L517-L518)
Ref (PHP 7.0.33): bf574c2b67/ext/date/php_date.c (L3363-L3379)
2022-08-05 12:42:45 +02:00
Marco Pivetta
cb9939cbd3 Removed DateTimeImmutable::add() from the CallMap: fully covered by stub
Ref: 534127d3b2/ext/date/php_date.stub.php (L511-L512)
Ref: 534127d3b2/ext/date/php_date.c (L3129-L3144)
2022-08-05 12:39:16 +02:00
Marco Pivetta
7cd3d49dc4 Removed DateTimeImmutable::modify() from the CallMap: fully covered by stub
Also expanded the return type from `static` to `static|false`, since the
operation can fail (with a warning too), such as in following example:

https://3v4l.org/Xrjlc

```php
<?php

var_dump(
    (new DateTimeImmutable())
        ->modify('potato')
);
```

Produces

```
Warning: DateTimeImmutable::modify(): Failed to parse time string (potato) at position 0 (p): The timezone could not be found in the database in /in/Xrjlc on line 6
bool(false)
```

Ref: 534127d3b2/ext/date/php_date.stub.php (L508-L509)
2022-08-05 12:37:24 +02:00
Marco Pivetta
18557b8c70 Removed DateTimeImmutable::diff() from the CallMap: fully covered by stub 2022-08-05 12:34:31 +02:00
Marco Pivetta
002585b57e Removed DateTimeImmutable::getTimestamp() from the CallMap: fully covered by stub
This also simplifies the return type from `int|false` to always `int`,
since a timestamp can always be produced.

Ref: eff9aed159/ext/date/php_date.stub.php (L496-L500)
2022-08-05 12:32:26 +02:00
Marco Pivetta
1be04e0988 Removed DateTimeImmutable::getOffset() from the CallMap: fully covered by stub 2022-08-05 12:27:29 +02:00
Marco Pivetta
2b6fddf88d Removed DateTimeImmutable::getTimezone() from the CallMap: fully covered by stub
Note: also verified that a `DateTimeImmutable#getTimezone()` always returns
a default timezone (initialized internally), and therefore restricted the
type a bit.
2022-08-05 12:26:59 +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
Marco Pivetta
58ca4e0b73 Removed DateTimeImmutable::createFromFormat() from the CallMap: fully covered by stub 2022-08-05 12:23:43 +02:00
Marco Pivetta
267d76088d Removed DateTimeImmutable::sub() from the CallMap: fully covered by stub 2022-08-05 12:23:00 +02:00
Marco Pivetta
dc7d26abb1 Removed DateTimeImmutable::__construct from the CallMap: fully covered by stub 2022-08-05 12:22:27 +02:00
Vincent Langlet
90ac39d89f Fix formatCurrency return type 2022-07-30 23:31:21 +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
Honca
8b5999470a Fixed ini_set types for arg value 2022-07-22 11:09:03 +02:00
orklah
4fbbf820d8
Merge pull request #8228 from othercorey/callmap-nullable
Fix nullable return types for CallMap functions
2022-07-14 09:03:35 +02:00
Corey Taylor
f28ac73777 Fix nullable return types for CallMap functions 2022-07-13 22:44:38 -05:00
orklah
057d78dc41
Merge pull request #8214 from BenMorel/geos2
Fix GEOSGeometry stubs with default values
2022-07-11 18:52:08 +02:00
Benjamin Morel
bcf3c5153c Fix GEOSGeometry stubs with default values 2022-07-11 11:51:35 +02:00
AndrolGenhald
285740a753 Merge branch '4.x' 2022-07-07 15:01:38 -05:00
orklah
e28cd128db
Merge pull request #8217 from othercorey/fix-callmap-funcs
Fix several CallMap function signatures
2022-07-06 07:16:13 +02:00
Corey Taylor
b1e3094bae Allow testing expected CallMap return types and ignore functions that currently fail 2022-07-05 17:32:34 -05:00
Corey Taylor
e0ebfe19a2 Fix class functions CallMap signatures 2022-07-05 15:36:09 -05:00
Corey Taylor
2469b6222d Fix extract() CallMap signature 2022-07-05 15:36:09 -05:00
Corey Taylor
c71dcd581e Fix fputcsv() CallMap signature 2022-07-05 15:36:09 -05:00
Corey Taylor
d0dcd543e4 Fix count() CallMap signature 2022-07-05 15:36:06 -05:00
Christian Schiffler
8e05adb8d4 Regenerate property map file 2022-07-04 11:40:54 +02:00
Christian Schiffler
5fd2090526 Add update script and update property map
See #7983
2022-06-29 09:23:45 +02:00
Christian Schiffler
c65e6e817b Sort PropertyMap by keys
We need a defined, reproducible starting point.
2022-06-29 09:23:45 +02:00
orklah
d626d24241
Merge pull request #8148 from BenMorel/reflectionproperty
Add ReflectionProperty properties
2022-06-25 01:29:09 +02:00
Benjamin Morel
933714f6ad Add ReflectionProperty properties 2022-06-24 18:47:49 +02:00
orklah
9b4c8cb53f
Merge pull request #8151 from othercorey/fix-array-sigs
Fix array_* function signatures
2022-06-24 18:43:00 +02:00
orklah
cd54574616
Merge pull request #8152 from othercorey/fix-filter-var
Fix filter_var and filter_var_array signatures
2022-06-24 18:42:31 +02:00
Corey Taylor
3297e35d9a Fix datefmt_* function signatures 2022-06-23 22:55:29 -05:00
Corey Taylor
e1e858512d Fix filter_var and filter_var_array signatures 2022-06-23 21:50:41 -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
Corey Taylor
b053253513 Fix signatures of ldap_* functions 2022-06-23 04:21:56 -05:00
Corey Taylor
07b335d068 Update ldap parameter to ldap_unbind in callmap 2022-06-20 06:59:36 -05:00
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
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
b69e670060
chore: remove FiberExit class 2021-10-09 09:34:39 +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
Ishan Vyas
5266114222
chore: make mime field optional
Signed-off-by: Ishan Vyas <isvyas@gmail.com>
2021-10-03 22:31:06 +05:30
Ishan Vyas
75755ac4dc
Add CURLStringFile in classmap delta 2021-10-03 12:09:13 +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
b0444f2a7d Add missing definition of callmap in the history. 2021-09-06 15:22:33 +02: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
Bruce Weirdan
c4f0386aff
Merge pull request #6375 from ThomasLandauer/issue-6358 2021-08-30 04:42:37 +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
630529740c Fixing null for openssl_x509_parse() 2021-08-29 12:33:19 +02:00
Bruce Weirdan
624246b996
Merge pull request #6376 from orklah/use-variable-in-backtick 2021-08-29 04:39:13 +03:00
orklah
27b6d5ad3b fix psalm errors 2021-08-29 00:39:36 +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
6cff8b627f Update also historical classmap. 2021-08-19 13:03:47 +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
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