Aleksandr Zhuravlev
d7097281ba
trim(), ltrim(), rtrim() now keep lowercase string attribute
2022-08-31 21:02:20 +12:00
Tim Düsterhus
3c2018a1e0
Configure a correct attribute target in stubs/CoreGenericClasses.phpstub
2022-08-24 21:32:26 +02:00
Thomas Gerbet
4b1adaafec
Allow *bin2hex and *bin2base64 functions to keep non-empty-string type
...
Those functions should not return a string when they receive a
non-empty-string in input.
The following example is expected to work:
```php
<?php
/**
* @param non-empty-string $i
*/
function takesNonEmptyString(string $i): void {
echo $i;
}
takesNonEmptyString(bin2hex("a"));
takesNonEmptyString(base64_encode("a"));
```
2022-08-23 16:38:17 +02:00
Markus Staab
63915d1e2c
added SensitiveParameter, AllowDynamicProperties php 8.2 attributes
2022-08-22 16:44:55 +02:00
Marco Pivetta
13828771c7
Removed DateTimeImmutable::createFromInterface()
from stubs
...
While there is value in declaring `DateTimeImmutable::createFromInterface()` as mutation-free in
a stub, this method was introduced in PHP 8.0, so we cannot really declare it in a stub.
For now, we drop it, as the value of its stub declaration is much lower than the problems it
introduces through its conditional existence.
2022-08-05 13:28:53 +02:00
Marco Pivetta
68ffae097e
Simplified DateTimeImmutable::format()
: always returns a string
...
Also:
* a non-empty format string will always lead to `non-empty-string`
* it seems that you can throw **everything** at `DateTimeInterface#format()`, even null bytes,
and it will always produce a `string`
2022-08-05 13:21:28 +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
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
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
267d76088d
Removed DateTimeImmutable::sub()
from the CallMap: fully covered by stub
2022-08-05 12:23:00 +02:00
Marco Pivetta
68978b9e19
s/psalm-pure/psalm-mutation-free, since psalm-mutation-free is safer to use
...
Ref: c205d652d1 (r934032422)
The idea is that `@psalm-pure` disallows `$this` usage in child classes,
which is not wanted, while `@psalm-mutation-free` allows it.
By using `@psalm-mutation-free`, we don't completely destroy inheritance
use-cases based on internal (immutable) state.
2022-08-01 10:08:35 +02:00
Marco Pivetta
b4b2bc66c7
Added better stubs for DateTimeImmutable
, highlighting how the constructor is **NOT** immutable
...
`DateTimeImmutable` is **almost** immutable: `DateTimeImmutable::__construct()` is in fact not a pure
method, since `new DateTimeImmutable('now')` produces a different value at each instantiation (by design).
This change makes sure that `DateTimeImmutable` loses its `@psalm-immutable` class-level marker,
preventing downstream misuse of the constructor inside otherwise referentially transparent code.
Note: only pure methods are stubbed here: all other methods declared by `DateTimeImmutable` (parent interface)
are NOT present here, and are either inferred from runtime reflection, or `CallMap*.php` definitions.
Methods are sorted in the order defined by reflection on PHP 8.1.8, at the time of writing this ( https://3v4l.org/3TGg8 ).
Following simplistic snippet was used to infer the current signature:
```php
<?php
$c = new \ReflectionClass(\DateTimeImmutable::class);
$methods = array_map(function ($m) {
return $m->getName()
. '(' . implode(',', array_map(function ($p) {
return $p->getType()
. ' $' . $p->getName()
. ($p->isOptional() ? ' = ' . var_export($p->getDefaultValue(), true) : '');
}, $m->getParameters())) . ')' . ($m->getReturnType() ? (': ' . $m->getReturnType()) : '');
}, $c->getMethods());
$properties = array_map(function ($m) {
return $m->getName();
}, $c->getProperties());
var_dump($methods, $properties);
```
2022-07-31 18:02:30 +02:00
Semyon
b1295d6894
Code style
2022-07-25 17:15:28 +03:00
Semyon
462ce7138a
Make DatePeriod implement Traversable oh PHP 7, rename constructor params
2022-07-25 17:11:36 +03:00
Semyon
9d3253482d
Add stub for DatePeriod
2022-07-25 17:11:36 +03:00
Pol Dellaiera
63b64532d6
Update CachingIterator
, use int-mask-of
.
2022-07-22 18:38:12 +02:00
Pol Dellaiera
3e0f0b6173
Update CachingIterator
, remove newly added @template
.
...
Also update `RecursiveCachingIterator`, remove extended methods and constructor that are the same.
2022-07-21 08:22:02 +02:00
Pol Dellaiera
f4da6aafaa
Update stub based on PR feedback.
2022-07-18 18:13:08 +02:00
Pol Dellaiera
2747f028c9
Update CachingIterator::getCache
stub.
2022-07-18 16:24:10 +02:00
Corey Taylor
f28ac73777
Fix nullable return types for CallMap functions
2022-07-13 22:44:38 -05:00
AndrolGenhald
285740a753
Merge branch '4.x'
2022-07-07 15:01:38 -05:00
Adrien Foulon
6c49dad38c
fix: ltrim may return class-string #8218
...
Fixes #8218
2022-07-06 02:36:20 +02:00
Christian Schiffler
ce4ba69e70
Add missing properties to stubs/Reflection.phpstub
...
This should fix the now failing tests as the properties got removed from
the autogenerated property map.
2022-07-04 11:14:34 +02:00
Benjamin Morel
df6fdb99d7
Fix return type of ReflectionNamedType::getName()
...
Fixes #8167
2022-06-29 18:22:46 +02:00
AndrolGenhald
79603820d8
Fix SimpleXMLIterator::current() return type.
2022-06-22 01:38:58 -05:00
AndrolGenhald
c0de59c943
Add simplexml stub.
2022-06-22 01:15:43 -05:00
AndrolGenhald
ea987697dc
Update DOM stub.
2022-06-22 00:44:19 -05:00
sergkash7
ffe18296b0
Update phpredis.phpstub
2022-06-21 22:03:11 +03:00
Bruce Weirdan
e0acf22e40
Merge branch '4.x' into update-master
2022-05-28 14:49:12 -04:00
Kevin van Sonsbeek
23eff58a09
bugfix/#7912: Add Iterator implements to stub
2022-05-17 23:55:44 +02:00
Kevin van Sonsbeek
f86b599878
bugfix/#7912: Added stub for the APCu extension
2022-05-17 23:45:08 +02:00
hirokinoue
4fc34d998b
improve @return annotation of join()
2022-05-14 23:47:46 +09:00
hirokinoue
91640e7e90
improve @return annotation of implode()
2022-05-14 23:44:43 +09:00
Markus Staab
3c837e5d9a
fix missing is_a() parameter type
2022-05-12 15:37:29 +02:00
hirokinoue
2b34b1228b
handle the non-empty case for usort()
2022-04-29 00:36:28 +09:00
hirokinoue
8c64bddf29
handle the non-empty case for uksort()
2022-04-29 00:23:57 +09:00
hirokinoue
37bf36d475
handle the non-empty case for uasort()
2022-04-28 23:49:32 +09:00
hirokinoue
95b5e8cb56
handle the non-empty case for shuffle()
2022-04-28 23:07:43 +09:00
hirokinoue
1605b18678
handle the non-empty case for rsort()
2022-04-28 23:01:17 +09:00
hirokinoue
0770f0128c
improve syntax
2022-04-28 22:44:39 +09: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
043bbfbbb4
Remove useless array casting as CallMap for stream_select is reset.
2022-04-27 01:40:51 -04:00
Matt Brown
0c65a19554
Allow null to ArrayAccess::offsetSet $offset param
2022-04-27 01:34:09 -04:00
Matt Brown
d58736a550
fix #7747 : DateInterval::createFromDateString can be false
2022-04-27 01:32:38 -04:00
hirokinoue
37c53ee783
handle the non-empty case for sort()
2022-04-23 22:51:50 +09:00
hirokinoue
c6d7bc0d19
Improve Throwable::getTrace() return type
2022-04-12 23:42:37 +09:00
Ciaran McNulty
ca185d7f28
Update Throwable::getTrace in stubs
2022-03-18 09:14:37 +00:00
orklah
7cfb601ab8
Merge pull request #7718 from niconoe-/fix-3036
...
Fix #3036 : make argument $read of internal PHP function stream_socket nullable.
2022-03-13 16:16:35 +01:00
Nicolas Giraud
0dc435409c
Replace changes in the CallMap for stream_select by a stub.
2022-03-11 08:52:36 +01:00
Fran Moreno
ff195e76c9
Allow null to ArrayAccess::offsetSet $offset param
2022-03-06 13:47:32 +01:00
kkmuffme
8fc41e6907
update phpredis stubs
...
* fixes feedback for setOption of https://github.com/vimeo/psalm/issues/7709
* latest WIP stubs with additional changes from upstream phpredis master and other additions
From https://raw.githubusercontent.com/phpredis/phpredis/77334ecbf2c06ea1ff18ea5e3ecc168cb1897a8b/redis.stub.php via https://github.com/phpredis/phpredis/pull/2015
2022-03-04 12:56:30 +01:00
orklah
0fe6eaf5d9
Merge remote-tracking branch 'upstream/4.x' into upstream-master13
2022-02-26 21:26:59 +01:00
AndrolGenhald
1387f94324
Attribute analysis improvements.
2022-02-23 22:12:32 -06:00
Bei Xiao
40cc346991
Update stub
2022-02-23 00:52:53 +02:00
Mark McEver
828b093964
Prevent unnecessary filter_var() warnings on primitive types
2022-02-15 14:13:44 -06:00
orklah
fac55576ab
Merge remote-tracking branch 'upstream/4.x' into upstream-master7
2022-02-12 09:59:55 +01:00
orklah
c13a536386
Merge pull request #7614 from kkmuffme/add-phpredis-stubs
...
add phpredis stubs
2022-02-11 23:15:48 +01:00
Bruce Weirdan
11e60fa261
Merge branch '4.x' into upstream-master
2022-02-11 03:51:48 +02:00
orklah
0702a0b3e7
add ReflectionIntersectionType stub
2022-02-09 19:32:17 +01:00
Office
9d120896d5
add phpredis stubs
2022-02-09 08:14:58 +01:00
orklah
2e01e9b7cd
Merge pull request #7396 from Patrick-Remy/feat/key-of-value-of-improvements
...
feat: make key-of/value-of usable with non-const arrays
2022-01-31 21:39:01 +01:00
orklah
1220320e0b
fix some iterator stubs ( #6970 )
...
* fix some iterator stubs
* fix iterators
* update stubs
* fix a test
* fixes
* fixes
* fix a test
* fix
2022-01-30 01:18:05 +01:00
AndrolGenhald
653d17ff81
Add stub for PDOException.
2022-01-27 17:05:48 -06:00
AndrolGenhald
02cd7bbbba
Add SoapHeader stub.
2022-01-27 16:30:14 -06:00
AndrolGenhald
63cd3f3b95
Add SoapFault stub.
2022-01-27 16:30:14 -06: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
Patrick Remy
8cd5ccd076
feat: make value-of<T>
capable for template types
2022-01-27 22:28:40 +01:00
Patrick Remy
2880d046ce
feat: make key-of/value-of usable with non-const arrays
2022-01-27 22:22:14 +01:00
orklah
841d4f4429
improve support for enum_exists
2022-01-22 18:27:24 +01:00
Bruce Weirdan
3fb3db3516
Merge branch '4.x' into upstream-master
2022-01-06 10:05:53 +02:00
Andreas Hennings
9da6b3f094
Issue #6618 : All reflection classes should implement Reflector.
2022-01-06 01:55:55 +01:00
Bruce Weirdan
c1acab4606
Merge branch '4.x' into upstream-master
2022-01-03 22:06:12 +02:00
Markus Staab
3de9c68830
pdo: more precise generic type
2022-01-03 17:11:03 +01:00
Matthew Brown
83911c7408
Remove unnecessary references to empty in TypeCombiner
2022-01-03 04:10:41 +02:00
orklah
0747b48d06
remove TEmpty
2022-01-03 04:09:59 +02:00
Markus Staab
457dd2f1c9
typo
2021-12-29 16:56:09 +01:00
Markus Staab
5361cda062
typo
2021-12-29 16:53:47 +01:00
Markus Staab
dd245f0dc5
mysqli_fetch_object: added missing generic
2021-12-29 16:50:38 +01:00
Saif Eddin Gmati
40ab6551a4
fix(stubs): UnitEnum::cases() can return an empty list
2021-12-21 12:06:41 +01:00
Ricardo Boss
f0d7556200
Added pure annotations to enum functions
2021-12-20 23:20:50 +01:00
orklah
c8959bd02a
fix other occurences of getAttributes
2021-12-20 10:19:01 +01:00
orklah
639b1b94a3
fix stub and fix test
2021-12-20 09:57:06 +01:00
orklah
9583d6a7e7
invert stub, add test
2021-12-17 00:12:54 +01:00
orklah
e9073eb059
doesn't infer empty for ReflectionClass::getAttributes without params
2021-12-16 23:39:23 +01:00
orklah
646ba983a0
Merge pull request #7140 from yethee/soap
...
Fixed compatibility with SoapClient
2021-12-15 00:55:57 +01:00
orklah
b2de778fb8
Merge pull request #7156 from simPod/set-map
...
Add Set::map() to ext-ds stub
2021-12-15 00:48:23 +01:00
orklah
93689c2860
add isStatic in stubs to solve the issue
2021-12-14 20:04:33 +01:00
Simon Podlipsky
9f13b73a01
Add Set::map() to ext-ds stub
2021-12-14 10:19:08 +01:00
yethee
0897714964
Update signatures of methods of SoapClient
2021-12-12 19:43:06 +03:00
Bruce Weirdan
3cce69189f
array_count_values return type for uncertain arrays
...
Fixes vimeo/psalm#7114
2021-12-10 02:45:58 +02:00
AndrolGenhald
b29fc6ad3c
Allow operator overloading for Decimal extension ( fixes #3938 ).
2021-12-08 10:59:37 -06:00
marcosh
07224e7d31
abs should always return a positive integer
2021-12-07 11:52:13 +01:00
Bruce Weirdan
9c324a7d74
Refined strlen()
return type to not include negative ints
...
Fixes vimeo/psalm#7062
2021-12-05 21:35:58 +02:00
Bruce Weirdan
dc271fe25c
Consider emptiness for array_count_values()
...
Fixes vimeo/psalm#7044
2021-12-02 04:51:06 +02:00
ralila
d57c246c93
Add stub for preg_match
2021-11-29 14:21:58 +01:00
Kamil Tekiela
d64539faa1
Fix indentation
2021-11-28 12:22:41 +00:00
Bruce Weirdan
41256c74d1
Added enum-related stubs and callmaps
...
Fixes vimeo/psalm#6430
2021-11-28 11:41:43 +02:00
Bruce Weirdan
806db287d2
Infer ::from()
and ::tryFrom()
return types on backed enums
...
Fixes vimeo/psalm#6429
2021-11-28 09:47:01 +02:00
Kamil Tekiela
d922808e8f
Create mysqli.phpstub
...
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2021-11-24 22:30:22 +00:00
Ricardo Boss
f93c84b918
Made name property of UnitEnum readonly
2021-11-22 13:47:36 +01:00
Ricardo Boss
6d58a708fc
Make UnitEnum name property non-empty
2021-11-22 13:38:08 +01:00
ralila
e5ed2e7066
Add @psalm-ignore-falsable-return to the stub
2021-11-14 10:59:24 +01:00
ralila
930ee578f1
Add missing false return value to the stub
2021-11-14 10:36:03 +01:00
ralila
af1b00f212
Add stub for mb_convert_encoding
2021-11-13 22:13:55 +01:00
Toon Verwerft
b72da42dd1
Remove invalid SoapClient::__doRequest stub
2021-11-13 10:27:48 +01:00
orklah
de443192c7
Merge pull request #6873 from orklah/ReturnTypeWillChange3
...
load the ReturnTypeWillChange stubs for all versions to allow using it on every PHP version
2021-11-09 23:18:07 +01:00
orklah
b7e70f3cd7
load the ReturnTypeWillChange stubs for all versions to allow using it on every PHP version
2021-11-09 19:57:03 +01:00
orklah
3ff3616ef4
add stub for taint detection on vprintf
2021-11-07 09:25:27 +01:00
tminich
2013adafee
Fix missed names in psalm annotations
2021-11-04 16:10:59 +01:00
tminich
541bd6cb36
Fix parameter names in CoreGenericFunctions.phpstub for PHP 8 named parameters
2021-11-04 10:27:07 +01:00
orklah
ce87fc4882
fix is_a when used with Stringable classes
2021-10-28 20:08:43 +02:00
orklah
8bf8036213
add ReturnTypeWillChange with attribute attribute
2021-10-24 23:21:57 +02:00
Tomas Norre Mikkelsen
dd49ac5975
Resolve forgotten merge conflict
2021-10-14 20:38:26 +02:00
Tomas Norre Mikkelsen
b39b523fb4
Convert pgsql functions to use object instead of a resource
2021-10-14 19:30:03 +02:00
Bruce Weirdan
6abdb092bc
Merge pull request #6667 from SCIF/bugfix-5135-reflectionnamedtype-stub
2021-10-14 13:26:50 +03:00
Aleksandr Zhuravlev
657f8e22ed
Made the test marked 7.4
2021-10-14 22:05:40 +13:00
Aleksandr Zhuravlev
ff1b745e2a
Since 8.0 added
2021-10-14 11:35:54 +13:00
Aleksandr Zhuravlev
cbb67c0672
Stubbed RelfectionNamedType
2021-10-14 11:09:52 +13:00
orklah
f387c3f535
fix stub
2021-10-13 10:33:26 +02:00
orklah
1efe272aed
stub for is_a
2021-10-12 22:12:51 +02:00
orklah
870ee4ff93
->args to ->getArgs
2021-10-09 23:37:04 +02:00
Dgame
a8ce748d1b
Fixed trim-stub
2021-10-07 20:10:36 +02:00
Manuel VACELET
40cdb2f912
php 8.0 introduced visibility constants on ReflectionClassConstant
...
Spotted in issue #6588
2021-10-06 08:58:53 +02:00
sasezaki
014543b0ec
Fix invalid class/method declaration in stub
2021-10-05 21:41:27 +09:00
Tomas Norre Mikkelsen
960af957db
Convert PSpell resources to objects
2021-10-04 13:41:31 +02:00
orklah
b0842c6b6f
Merge pull request #6475 from orklah/range6
...
3> min/max, rand inference improvement with integer range
2021-10-04 13:23:03 +02:00
Tomas Norre Mikkelsen
a49ff46448
Update typo in PHP81.phpstub
2021-10-04 12:58:01 +02:00
Tomas Norre Mikkelsen
993349d64d
Convert LDAP resources to objects
2021-10-04 12:57:12 +02:00
Tomas Norre Mikkelsen
232ebb7e57
Convert imap functions to use object instead of a resource
2021-10-02 11:58:08 +02:00
orklah
b9f14f8687
improve min/max inference, add a return type provider for rand, mt_rand and random_int
2021-10-02 09:53:58 +02:00
orklah
ef82910de3
Merge pull request #6537 from mmcev106/master
...
Prevent unnecessary filter_var() warnings on primitive types
2021-09-27 20:15:01 +02:00
Mark McEver
79340b4a6f
Prevent unnecessary filter_var() warnings
2021-09-27 18:46:01 +01:00
Mark McEver
76dade477d
Prevent unnecessary filter_var() warning
2021-09-27 18:34:58 +01:00
orklah
7328456a33
Merge pull request #6438 from SCIF/serializable-interface
...
Changed signature of Serializable::unserialize stub
2021-09-20 16:49:00 +02:00
Simon Podlipsky
d0370de0db
Fix wrong template type in Sequence::copy()
2021-09-16 18:59:05 +02:00
Aleksandr Zhuravlev
65407cc10d
Got rid of test
2021-09-16 23:07:32 +12:00
Aleksandr Zhuravlev
e76cbf75e8
Merge remote-tracking branch 'origin/master' into serializable-interface
2021-09-16 22:05:08 +12:00
Alessandro Lai
1aba202a5a
Fix #6464 : false positive for RecursiveArrayIterator::CHILD_ARRAYS_ONLY
2021-09-09 11:12:24 +02:00
Tim van Dijen
417ea9c43d
Fix return-type
2021-09-07 23:02:28 +02:00
Aleksandr Zhuravlev
f290e0fa3e
Changed signature of Serializable::unserialize stub
2021-09-06 22:55:12 +12:00
Bruce Weirdan
08155dcb41
Added FTP\Connection
class
2021-09-04 23:45:21 +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
Bruce Weirdan
6c475e0be5
Merge pull request #6206 from Jack97/update-return-types
...
Update return types for get_headers and get_meta_tags
2021-07-29 22:38:06 +03:00
Jack Robertson
6ed8a4d292
Update return types for get_headers and get_meta_tags
2021-07-29 20:05:06 +01:00
Bruce Weirdan
c766a1d38d
Correct param names for array_combine()
...
Fixes vimeo/psalm#6189
2021-07-27 18:05:27 +03:00
Jack Robertson
ce6642d1aa
Handle malformed parentheses
2021-07-25 10:43:34 +01:00
Matthew Brown
88c4e2468e
Support interface-string<Foo> as temporary alias of class-string<Foo> ( #6106 )
2021-07-16 18:38:39 -04:00
Bruce Weirdan
f015c30a43
Merge pull request #6107 from orklah/get_defined_constants
2021-07-16 12:28:45 +03:00
orklah
45d2aede3c
fix syntax
2021-07-15 23:47:00 +02:00
orklah
38767166cf
stub get_defined_constants with parameter
2021-07-15 23:39:16 +02:00
Markus Staab
e037c4496a
Utilize non-falsy-string
2021-07-15 20:40:18 +02:00
Markus Staab
2671ea78da
Detailed return type for strtoupper
2021-07-15 20:15:08 +02:00
Bruce Weirdan
a5a2377dcf
Detailed return types for str_pad()
and str_repeat()
...
Fixes vimeo/psalm#6049
2021-07-15 01:54:03 +03:00
Bruce Weirdan
f93d925bdc
Updated join
signature to match implode
...
Fixes vimeo/psalm#6080
2021-07-12 23:59:34 +03:00
Bruce Weirdan
83bf9b8ed9
Merge pull request #5608 from paxal/patch/preg_replace_callback
...
Allow to use string key for preg_replace_callback callable argument
2021-07-11 04:55:03 +03:00
Fran Moreno
decb397b8e
Add ReflectionProperty::getType() and hasType()
2021-07-10 13:05:57 +02:00
elnoro
ec7aaa4a47
Update stubs/CoreGenericFunctions.phpstub
...
Co-authored-by: Bruce Weirdan <weirdan@gmail.com>
2021-07-09 23:25:12 +05:00
Ruslan Karimov
b373c0c7f9
added str_word_count to the stub file ( fix #6016 )
2021-07-09 21:45:18 +05:00
Matt Brown
6d4d1668f6
Allow more types for back-compat
2021-06-21 20:11:00 -04:00
Matt Brown
d8f4eb2d6d
Restrict type of implode to prevent Array-to-string conversion;
2021-06-21 19:55:27 -04:00
Matt Brown
9dde8eed9d
Add support for literal-int annotations as well
2021-06-14 23:24:09 -04:00
Matt Brown
3140654a44
Experiment with implode literal tracking
2021-06-14 16:03:37 -04:00
Matt Brown
47bf5ed567
Fix #5918 - add new issue to detect unquoted strings
2021-06-10 17:43:04 -04:00
Bruce Weirdan
689315b05f
Fix sscanf()
signature ( #5901 )
...
Fixes vimeo/psalm#5870
2021-06-07 13:19:17 -04:00
Oliver Hader
4898cd262e
[TASK] Enrich taint details for outputting core stubs ( #5827 )
...
Affects `printf`, `print_r`, `var_dump`, `var_export`
2021-05-24 16:42:18 -04:00
orklah
67413c88f9
fix #5797 ( #5822 )
2021-05-23 19:12:02 -04:00
Fran Moreno
e89f7e3960
Add mongodb Cursor and CursorInterface stubs and fix WriteConcern::__construct ( #5813 )
...
* Add mongodb Cursor and CursorInterface stubs
* Use proper variable name
* Update WriteConcern constructor
Based on https://www.php.net/manual/es/mongodb-driver-writeconcern.construct.php
2021-05-22 19:03:07 -04:00
still-dreaming-1
ecb4ca8730
strlen can return positive-int ( #5793 )
2021-05-19 15:20:56 -04:00
still-dreaming-1
a62ee22adb
htmlspecialchars can return non-empty-string ( #5785 )
2021-05-17 19:43:08 -04:00
Robert Chettleburgh
fe190c2eb7
unpack() can return false on error ( #5726 )
...
* Unpack() can return false on error
* unpack only returns false rarely
supporess with @psalm-ignore-falsable-return
Co-authored-by: Bruce Weirdan <weirdan@gmail.com>
Co-authored-by: Bruce Weirdan <weirdan@gmail.com>
2021-05-06 14:32:17 -04:00
Matthew Brown
832a190dd4
Support enums ( #5699 )
...
* Add initial enum preparation
* Support cases method
* Ignore bad use error
cc @weirdan
* Fix type
2021-05-03 17:54:09 -04:00
AndrolGenhald
518d0af895
Strict int/float comparison for conditional types, improve range return type ( #5601 )
2021-04-09 11:28:48 -04:00
Cyril PASCAL
c45e47d8ad
Allow to use string key for preg_replace_callback callable argument
2021-04-09 15:33:16 +02:00
ccf4c91688
The return value of generator methods can potentially be null ( #5577 )
...
* The return value of generator methods can potentially be null
* Add @psalm-ignore-nullable-return
2021-04-06 11:28:39 -04:00
Valentin Udaltsov
6851b5c1f1
Added TValue template to PDOStatement stub ( #5579 )
2021-04-05 18:20:59 -04:00
orklah
09ee4c1d79
json_encode does not return false if JSON_THROW_ON_ERROR is in flags ( #5417 )
2021-03-18 09:41:44 -04:00
orklah
1149050817
adapt bcdiv for PHP8 in stubs ( #5401 )
2021-03-16 13:45:54 -04:00
orklah
1a3ff5676a
fix stub for array_combine + remove false in PHP8 + improve tests ( #5395 )
2021-03-16 13:43:49 -04:00
orklah
dd4d970a37
makes array_combine return non-empty-array for most cases ( #5393 )
...
* makes array_combine return non-empty-array for most cases
* Add back newline
Co-authored-by: Matthew Brown <github@muglug.com>
2021-03-14 21:18:19 -04:00
Matt Brown
c97ee5ccdb
Fix #5258 - allow ReflectionParameeter::hasType() to inform getType() return
2021-03-06 16:54:23 -05:00
Matt Brown
c05a3ea073
Break up CoreGenericClasses
2021-03-06 16:05:14 -05:00
Bruce Weirdan
841efbdfaf
Make WeakMap generic ( #5313 )
2021-03-02 22:25:19 -05:00
Matt Brown
e60c333f2d
Fix completion of Foo:: before an if statement
2021-02-15 11:12:04 -05:00
Tarmo Leppänen
ede95105ac
Update CoreImmutableClasses.phpstub ( #5218 )
...
Fixes wrong parameter names - https://psalm.dev/r/8cfdb309d9
2021-02-14 12:07:39 -05:00
Vincent Langlet
a80d5b736b
Rename stub to avoid phpstorm conflict ( #5213 )
2021-02-13 18:42:34 -05:00
Matt Brown
98ff5b5f8a
Fix #5099 - use class constant for default
2021-01-26 21:33:52 -05:00
Lukas Bestle
fdb181fe00
Stubs: Don't explicitly depend on \Stringable ( #5037 )
...
Fixes #5007 .
2021-01-17 10:56:24 -05:00
orklah
7997766e8b
use coherent annotations ( #5031 )
2021-01-17 10:54:45 -05:00
orklah
26f756d244
remove signature return types in stubs ( #5014 )
...
* remove return types from signatures for some stubs
* fix duplicate type
2021-01-14 16:34:22 -05:00
Bruce Weirdan
7007000a68
Allow Attribute::IS_REPEATABLE ( #4971 )
...
This allows Attribute::IS_REPEATABLE to be specified as attribute flag.
Fixes vimeo/psalm#4892 , vimeo/psalm#4970
2021-01-10 21:55:06 -05:00
Matthew Brown
ec4c7bde73
Fix #4951 - add Traversable interface to PDOStatement
2021-01-07 15:53:19 -05:00
orklah
0e17a3354f
add stubs for standard iterators ( #4725 )
...
* add stubs for standard iterators
* Apply suggestions from code review cc @weirdan
Co-authored-by: Bruce Weirdan <weirdan@gmail.com>
* complete stub + delete code made redundant by stubs + fix some syntax in stubs
* fix parse error
Co-authored-by: Bruce Weirdan <weirdan@gmail.com>
2021-01-07 10:07:07 -05:00
orklah
665170eadb
add ArrayAccess to SimpleXmlElement ( #4934 )
...
* add ArrayAccess to SimpleXmlElement
* add test
2021-01-06 09:44:12 -05:00
Holger Woltersdorf
30696f9089
Add missing param for constructor arguments in PDOStatement#fetchObject ( #4915 )
...
* Add missing param for constructor arguments
PDOStatement#fetchObject allows a second, optional parameter for constructor arguments, which - if given - will be passed to the given class' constructor.
See: https://www.php.net/manual/de/pdostatement.fetchobject.php
Also see the PhpStorm stubs: https://github.com/JetBrains/phpstorm-stubs/blob/master/PDO/PDO.php#L1441
* Fix wrong nullability for 2nd argument in PDOStatement#fetchObject
2020-12-31 00:59:10 +00:00
orklah
1d9987e0ed
fix phpdoc ( #4905 )
2020-12-29 11:42:41 +00:00