1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-04 02:27:59 +01:00
Commit Graph

423 Commits

Author SHA1 Message Date
orklah
40622148ca
Merge pull request #9362 from othercorey/drop-associative-array
Convert callmap associative-array types into proper array types
2023-02-23 21:17:48 +01:00
Bruce Weirdan
bf7e5a3f9b
Fixed count/sizeof mismatches in callmaps
`sizeof` is an alias for `count`, so their signatures must always match.
2023-02-22 19:54:27 -04:00
Javier Spagnoletti
1cd64fe6b8 Instances of object returned by db2_*() functions are always instances of stdClass 2023-02-21 20:24:06 -03:00
Alies Lapatsin
f2c7ea6e4a Add json_validate to the main callmap 2023-02-21 13:49:29 +01:00
Alies Lapatsin
b7f8ea9d83 Update gc_status shape 2023-02-21 13:42:08 +01:00
Corey Taylor
4e46706800 Convert callmap associative-array types into proper array types 2023-02-21 01:28:16 -06:00
Corey Taylor
c62465ceef Fix several spl callmap methods 2023-02-20 22:30:21 -06:00
Corey Taylor
ab77cfd490 Fix memcached extension callmap 2023-02-15 17:26:58 -06:00
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
Corey Taylor
f922e576c8 Fix xmlrpc callmap functions that were dropped in PHP 8.0 2023-02-02 12:21:31 -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
b2c69ada43 Fix libxml_get_errors() return type 2023-01-16 17:38:22 -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
Ryan Bonham
0d360419b7
Update Call Maps and Signature for get_headers 2023-01-06 19:24:00 -05:00
Corey Taylor
e779c5f741 Fix iterator and exception callmaps 2022-12-31 11:34:48 -06:00
Sebastian Krüger
c74aacdeee
feat: add xdebug_info (fixes #8977) 2022-12-27 17:45:58 +01:00
Alies Lapatsin
f700feb5b5 Add imap_is_open() to PHP 8.2 dictionary (Only as of PHP 8.2.1) 2022-12-26 16:19:03 +01: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
Tomas
ed859450c4 Add DateTimeInterface::__serialize and DateTimeInterface::__unserialize to call maps 2022-12-21 20:52:48 +01: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
orklah
00706de18e
Merge pull request #8826 from othercorey/callmap-methods
Add validation for Class::Method names in CallMap
2022-12-13 18:47:23 +01:00
Corey Taylor
e57079f581 Add validation for Class::Method names in CallMap 2022-12-13 03:34:47 -06:00
Alies Lapatsin
0afe0d54f2 Merge branch 'master' into add-missing-sodium-functions
# Conflicts:
#	dictionaries/CallMap_82_delta.php
2022-12-10 01:47:55 +01:00
Bruce Weirdan
a568b087a2
Merge pull request #8871 from lptn/libxml_get_external_entity_loader 2022-12-09 19:26:44 -04: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
Alies Lapatsin
ce3be3b6f5 Add some missing sodium functions to CallMap 2022-12-09 11:04:36 +01:00
Alies Lapatsin
676e120b49 Add missing ZipArchive method to CallMap (PHP 8.2) 2022-12-09 10:07:59 +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
Kamil Tekiela
ace5743c99 mysqli_execute_query accepts any type of param 2022-12-04 17:29:50 +00: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
orklah
8f39de9001
Merge pull request #8739 from niconoe-/fix-8735
Fix #8735: IntlDateFormatter CallMaps.
2022-11-23 18:57:53 +01:00
Nicolas Giraud
18bd412dd5 Fix #8735: IntlDateFormatter CallMaps. 2022-11-23 13:33:02 +01:00
orklah
e83ac65e79
Merge pull request #8729 from lptn/fix-dictionary-for-strip_tags-function
Fix dictionary for strip_tags
2022-11-23 13:28:48 +01:00
Alies Lapatsin
7678b34945 Update CallMap to reflect the most up-to-date signature 2022-11-22 23:51:50 +01:00
Alies Lapatsin
d33c338072 strip_tags: allow nullable allowed_tags arguments from PHP80 2022-11-22 12:27:50 +01:00
Kamil Tekiela
810ef8b771
Argument 1 of curl_unescape 2022-11-21 22:59:22 +00:00
Alies Lapatsin
8dd76ded86 Fix dictionary for strip_tags
- allow null
 - allow array from PHP 7.4 (see https://www.php.net/manual/en/function.strip-tags.php)

https://3v4l.org/VjbXO
https://3v4l.org/VWsPr
2022-11-21 23:33:25 +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
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
orklah
74111a3e93 adding openssl_x509_verify 2022-11-06 21:22:57 +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
Côme Chilliet
24581dfecb
Fix return type of ReflectionExtension::getVersion
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-11-03 15:08:27 +01:00
Benjamin Morel
ee7fc0fad8 Fix XMLReader::expand() nullable parameter $baseNode 2022-11-01 13:26:41 +01:00
Alies Lapatsin
9516baced6 Update str_split signature to reflect PHP 8.2 changes 2022-10-31 21:27:46 +03:00
Alies Lapatsin
b450eac812 Add PHP 8.2 functions to the main delta 2022-10-31 13:00:11 +03: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
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
eb93f69251 Add null-type to several DOM-functions 2022-09-18 11:51:36 +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
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