Bruce Weirdan
f73fe36bfd
Merge pull request #9292 from othercorey/drop-cairo-callmap
2023-02-14 10:44:52 -04:00
Corey Taylor
18b4fc532a
Drop abandoned ncurses callmap
2023-02-14 05:54:24 -06:00
Corey Taylor
c3b5877519
Drop abandoned cairo extension
2023-02-14 05:52:51 -06:00
Corey Taylor
8fb290eb0d
Fix remaining callmap functions
2023-02-12 23:10:09 -06:00
Corey Taylor
42e301cf84
Update callmap types for php 8.2
2023-02-12 01:24:43 -06:00
Bruce Weirdan
0fb0714141
Merge pull request #9271 from othercorey/drop-newt-functions
2023-02-11 21:12:47 -04:00
Bruce Weirdan
506d05f7d4
Merge pull request #9270 from othercorey/drop-maxdb-functions
2023-02-11 21:08:26 -04:00
Corey Taylor
ea8979ecd9
Drop abandoned newt callmap functions
2023-02-11 18:20:32 -06:00
Corey Taylor
c48c0c5c85
Drop abandoned maxdb callmap functions
2023-02-11 18:01:55 -06:00
Corey Taylor
8bbef27587
Drop removed xsl callmap functions
2023-02-11 17:50:31 -06:00
orklah
8e3ba6af72
Merge pull request #9264 from othercorey/fix-callmap-sigs
...
Fix several callmap fuction signatures
2023-02-11 12:22:33 +01:00
Corey Taylor
9547a5cba5
Fix several callmap function signatures
2023-02-11 04:53:11 -06:00
Corey Taylor
4f4ffb9080
Drop abandoned mcve m_ functions
2023-02-11 04:44:18 -06:00
Bruce Weirdan
1ee0f1bcb8
Merge pull request #9256 from othercorey/spoofchecker-callmap
...
fixes https://github.com/vimeo/psalm/issues/9254
2023-02-09 12:53:42 -04:00
Corey Taylor
b467a0a74e
Fix Spoofchecker callmaps
2023-02-09 10:38:39 -06:00
orklah
2b7ba42520
Merge pull request #9226 from phansys/mysqli
...
Use "numeric-string" type for some MySQLi properties
2023-02-06 21:36:21 +01:00
Javier Spagnoletti
22efcb12fb
Use "numeric-string" type for some MySQLi properties
2023-02-06 17:20:05 -03:00
orklah
05bdeb2c5a
Merge pull request #9227 from othercorey/callmap-resources
...
Convert callmaps resource types
2023-02-06 18:33:52 +01:00
Corey Taylor
e754fd8b59
Add more specific return for class-implements
2023-02-06 01:24:18 -06:00
Corey Taylor
e8ae1ec084
Convert callmaps resource types
2023-02-06 01:12:14 -06:00
orklah
a4d1b0691d
Merge pull request #9085 from BenMorel/newInstanceArgs
...
Fix ReflectionClass::newInstanceArgs() with named parameters
2023-01-19 23:08:21 +01:00
Corey Taylor
cfaf763ba7
Fix remaining ignored CallMap return types that can be updated
2023-01-17 17:24:51 -06:00
Jack Worman
12632df67f
Fix libxml_get_errors() return type
2023-01-16 17:48:36 -05:00
Corey Taylor
bbc522709b
Clean up more callmap return types
2023-01-15 03:57:22 -06:00
Benjamin Morel
a669c89074
Fix ReflectionClass::newInstanceArgs()
2023-01-08 23:58:14 +01:00
Corey Taylor
e779c5f741
Fix iterator and exception callmaps
2022-12-31 11:34:48 -06:00
Jack Worman
1bb9eb4cfc
forbidden function bug and better get_defined_functions() signature
2022-12-24 12:34:40 -06:00
Corey Taylor
d6eca8c056
Verify nullable callmap parameters
2022-12-23 06:04:35 -06:00
orklah
9c0c234f25
Merge pull request #8974 from fluffycondor/chr-non-empty-string
...
(mb_)chr returns a non-empty-string
2022-12-21 18:47:29 +01:00
fluffycondor
63e0e4a3a7
(mb_)chr returns a non-empty-string
2022-12-21 22:55:05 +06:00
Jack Worman
b712355775
getopt return type fix
2022-12-19 07:02:50 -06:00
fluffycondor
cac273e04f
Make md5 return type more precise
2022-12-18 23:15:25 +06:00
Corey Taylor
067d0649ca
Fix remaining invalid unreflectable methods
2022-12-15 04:09:02 -06:00
Corey Taylor
902ea9d7e2
Fix DOM and Reflection unreflectable methods
2022-12-14 10:18:15 -06:00
Alies Lapatsin
1d26ae6d38
Merge branch 'master' into libxml_get_external_entity_loader
2022-12-09 14:02:52 +03:00
Alies Lapatsin
aced00313b
Add array shape for libxml_*et_external_entity_loader functions
2022-12-09 12:02:03 +01:00
Alies Lapatsin
1cbf45025c
Add libxml_get_external_entity_loader to CallMap (PHP 8.2)
...
https://www.php.net/manual/en/function.libxml-get-external-entity-loader.php
2022-12-09 11:35:30 +01:00
orklah
e4b64af599
Merge pull request #8861 from VincentLanglet/count
...
Precise count range
2022-12-09 00:41:00 +01:00
Vincent Langlet
f6051bc417
Precise count range
2022-12-08 16:44:10 +01:00
orklah
4a77f24869
Merge pull request #8825 from othercorey/fix-returns
...
Fix return types for date functions in callmap
2022-12-04 01:07:33 +01:00
Corey Taylor
d9b651a126
Fix return types for date functions in callmap
2022-12-03 17:55:29 -06:00
Alies Lapatsin
e0a7df4bad
Update dictionaties: use more specific boolean types
2022-12-03 21:28:03 +01:00
Nicolas Giraud
208b745ec4
Remove IntlDateFormatter::setTimeZoneId from CallMap_historical as this method is removed since PHP 7.0.0.
2022-11-23 13:47:37 +01:00
Nicolas Giraud
9f4ba8d834
#8735 : Add missing updates of CallMap_historical regarding new changes of IntlDateFormatter.
2022-11-23 13:42:50 +01:00
Fran Moreno
c3bd060f06
Fix DateTimeZone::listAbbreviations return type
...
Also fixes DateTimeZone::getOffset return type
2022-11-18 08:50:00 +01:00
Matthew Brown
8d36bdc3ed
Make array shapes strict by default ( #8701 )
...
* Make array shapes strict by default
* Fix PSL tests
2022-11-11 20:14:21 -05:00
Bram Leeda
66af7392fc
Update the historical CallMap data for MemcachePool::getExtendedStats
2022-11-11 14:18:53 +01:00
Bram Leeda
6000b0f327
Add extra types to Memcache::getExtendedStats and Memcached::getStats
2022-11-11 11:54:07 +01:00
68a5511057
Merge remote-tracking branch 'origin/4.x' into HEAD
2022-11-08 10:25:04 +01:00
Marco Pivetta
5e9b921fc6
Making json_encode()
always produce a non-empty-string
, when successful
...
`json_encode()` never produces `''` as a value: that would be invalid JSON anyway
2022-11-07 20:42:47 +01:00
orklah
f630a0dc39
Merge pull request #8655 from come-nc/fix/reflectionextension-callmap
...
Fix return type of ReflectionExtension::getVersion
2022-11-07 13:23:42 +01:00
Côme Chilliet
8e70aa3a77
Fix ReflectionExtension::getVersion signature in CallMap_historical.php as well
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-11-07 09:12:36 +01:00
Corey Taylor
b87ebd697f
Fix assert testing callmap return types
2022-11-06 00:59:55 -05:00
1986c8b4a8
Add support for strict arrays, fix type alias intersection, fix array_is_list assertion on non-lists ( #8395 )
...
* Immutable CodeLocation
* Remove excess clones
* Remove external clones
* Remove leftover clones
* Fix final clone issue
* Immutable storages
* Refactoring
* Fixes
* Fixes
* Fix
* Fix
* Fixes
* Simplify
* Fixes
* Fix
* Fixes
* Update
* Fix
* Cache global types
* Fix
* Update
* Update
* Fixes
* Fixes
* Refactor
* Fixes
* Fix
* Fix
* More caching
* Fix
* Fix
* Update
* Update
* Fix
* Fixes
* Update
* Refactor
* Update
* Fixes
* Break one more test
* Fix
* FIx
* Fix
* Fix
* Fix
* Fix
* Improve performance and readability
* Equivalent logic
* Fixes
* Revert
* Revert "Revert"
This reverts commit f9175100c8452c80559234200663fd4c4f4dd889.
* Fix
* Fix reference bug
* Make default TypeVisitor immutable
* Bugfix
* Remove clones
* Partial refactoring
* Refactoring
* Fixes
* Fix
* Fixes
* Fixes
* cs-fix
* Fix final bugs
* Add test
* Misc fixes
* Update
* Fixes
* Experiment with removing different property
* revert "Experiment with removing different property"
This reverts commit ac1156e077fc4ea633530d51096d27b6e88bfdf9.
* Uniform naming
* Uniform naming
* Hack hotfix
* Clean up $_FILES ref #8621
* Undo hack, try fixing properly
* Helper method
* Remove redundant call
* Partially fix bugs
* Cleanup
* Change defaults
* Fix bug
* Fix (?, hope this doesn't break anything else)
* cs-fix
* Review fixes
* Bugfix
* Bugfix
* Improve logic
* Add support for list{} and callable-list{} types, properly implement array_is_list assertions (fixes #8389 )
* Default to sealed arrays
* Fix array_merge bug
* Fixes
* Fix
* Sealed type checks
* Properly infer properties-of and get_object_vars on final classes
* Fix array_map zipping
* Fix tests
* Fixes
* Fixes
* Fix more stuff
* Recursively resolve type aliases
* Fix typo
* Fixes
* Fix array_is_list assertion on keyed array
* Add BC docs
* Fixes
* fix
* Update
* Update
* Update
* Update
* Seal arrays with count assertions
* Fix #8528
* Fix
* Update
* Improve sealed array foreach logic
* get_object_vars on template properties
* Fix sealed array assertion reconciler logic
* Improved reconciler
* Add tests
* Single source of truth for test types
* Fix tests
* Fixup tests
* Fixup tests
* Fixup tests
* Update
* Fix tests
* Fix tests
* Final fixes
* Fixes
* Use list syntax only when needed
* Fix tests
* Cs-fix
* Update docs
* Update docs
* Update docs
* Update docs
* Update docs
* Document missing types
* Update docs
* Improve class-string-map docs
* Update
* Update
* I love working on psalm :)
* Keep arrays unsealed by default
* Fixup tests
* Fix syntax mistake
* cs-fix
* Fix typo
* Re-import missing types
* Keep strict types only in return types
* argc/argv fixes
* argc/argv fixes
* Fix test
* Comment-out valinor code, pinging @romm pls merge https://github.com/CuyZ/Valinor/pull/246 so we can add valinor to the psalm docs :)
2022-11-05 22:34:42 +01:00
James Gilliland
a1f40c9cab
Fix Spl file handling signatures
...
Update SplFileInfo method signatures and related classes.
Fixes #8642
2022-11-04 07:11:05 +01:00
Benjamin Morel
ee7fc0fad8
Fix XMLReader::expand() nullable parameter $baseNode
2022-11-01 13:26:41 +01:00
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
Tim van Dijen
7144551940
Fix parameter + return type for lookupNamespaceURI + lookupPrefix
2022-10-11 13:05:49 +02:00
Alies Lapatsin
198a4ba9b0
Return non-empty-string by hash functions
2022-10-09 17:31:14 +03:00
Peter de Blieck
f1d1721fa7
Fixed function signatures of imap_delete and imap_undelete
2022-10-05 14:36:33 +02: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
Ricardo Boss
bf1c0320fd
Cherry-pick: 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-09-19 21:54:16 +02:00
orklah
8185260126
Merge pull request #8490 from tvdijen/setAttributeNS
...
Add null-type to several DOM-functions
2022-09-18 13:55:41 +02:00
Tim van Dijen
2a315bef45
Fix some more
2022-09-18 11:53:09 +02:00
Tim van Dijen
3b737480bd
Fix CallMap_historical
2022-09-18 11:51:39 +02:00
George Steel
17ca8ef014
date_get_last_errors()
, DateTime::getLastErrors()
may return false
...
Up to PHP 8.2, these functions return false if no previous date operations have been performed. In PHP 8.2, false is returned after a date operation that yields neither warnings nor errors:
https://3v4l.org/HBq0q
https://3v4l.org/3QsKY
Signed-off-by: George Steel <george@net-glue.co.uk>
2022-09-13 23:51:32 +01: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
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
Sergei Predvoditelev
4498a523b9
fix
2022-08-12 16:12:36 +03: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
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
Corey Taylor
2469b6222d
Fix extract() CallMap signature
2022-07-05 15:36:09 -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
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