Skip to content

Commit 82e98da

Browse files
authored
More precise signatures for mb_* functions
1 parent af38f03 commit 82e98da

File tree

3 files changed

+13
-11
lines changed

3 files changed

+13
-11
lines changed

resources/functionMap.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6345,18 +6345,18 @@
63456345
'mb_split' => ['array|false', 'pattern'=>'string', 'string'=>'string', 'limit='=>'int'],
63466346
'mb_strcut' => ['string', 'str'=>'string', 'start'=>'int', 'length='=>'?int', 'encoding='=>'string'],
63476347
'mb_strimwidth' => ['string', 'str'=>'string', 'start'=>'int', 'width'=>'int', 'trimmarker='=>'string', 'encoding='=>'string'],
6348-
'mb_stripos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string'],
6348+
'mb_stripos' => ['0|positive-int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string'],
63496349
'mb_stristr' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'part='=>'bool', 'encoding='=>'string'],
6350-
'mb_strlen' => ['int|false', 'str'=>'string', 'encoding='=>'string'],
6351-
'mb_strpos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string'],
6350+
'mb_strlen' => ['0|positive-int|false', 'str'=>'string', 'encoding='=>'string'],
6351+
'mb_strpos' => ['0|positive-int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string'],
63526352
'mb_strrchr' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'part='=>'bool', 'encoding='=>'string'],
63536353
'mb_strrichr' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'part='=>'bool', 'encoding='=>'string'],
6354-
'mb_strripos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string'],
6355-
'mb_strrpos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string'],
6354+
'mb_strripos' => ['0|positive-int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string'],
6355+
'mb_strrpos' => ['0|positive-int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string'],
63566356
'mb_strstr' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'part='=>'bool', 'encoding='=>'string'],
63576357
'mb_strtolower' => ['string', 'str'=>'string', 'encoding='=>'string'],
63586358
'mb_strtoupper' => ['string', 'str'=>'string', 'encoding='=>'string'],
6359-
'mb_strwidth' => ['int', 'str'=>'string', 'encoding='=>'string'],
6359+
'mb_strwidth' => ['0|positive-int', 'str'=>'string', 'encoding='=>'string'],
63606360
'mb_substitute_character' => ['mixed', 'substchar='=>'mixed'],
63616361
'mb_substr' => ['string', 'str'=>'string', 'start'=>'int', 'length='=>'?int', 'encoding='=>'string'],
63626362
'mb_substr_count' => ['0|positive-int', 'haystack'=>'string', 'needle'=>'string', 'encoding='=>'string'],

resources/functionMap_php80delta.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
'ldap_set_rebind_proc' => ['bool', 'ldap'=>'resource', 'callback'=>'?callable'],
7676
'mb_decode_numericentity' => ['string|false', 'string'=>'string', 'convmap'=>'array', 'encoding='=>'string'],
7777
'mb_str_split' => ['non-empty-array<int,string>', 'str'=>'string', 'split_length='=>'positive-int', 'encoding='=>'string'],
78+
'mb_strlen' => ['0|positive-int', 'str'=>'string', 'encoding='=>'string'],
7879
'mktime' => ['int|false', 'hour'=>'int', 'minute='=>'int', 'second='=>'int', 'month='=>'int', 'day='=>'int', 'year='=>'int'],
7980
'odbc_exec' => ['resource|false', 'connection_id'=>'resource', 'query'=>'string'],
8081
'parse_str' => ['void', 'encoded_string'=>'string', '&w_result'=>'array'],
@@ -206,6 +207,7 @@
206207
'ldap_sort' => ['bool', 'link_identifier'=>'resource', 'result_identifier'=>'resource', 'sortfilter'=>'string'],
207208
'mb_decode_numericentity' => ['string|false', 'string'=>'string', 'convmap'=>'array', 'encoding='=>'string', 'is_hex='=>'bool'],
208209
'mktime' => ['int|false', 'hour='=>'int', 'minute='=>'int', 'second='=>'int', 'month='=>'int', 'day='=>'int', 'year='=>'int'],
210+
'mb_strlen' => ['0|positive-int', 'str'=>'string', 'encoding='=>'string'],
209211
'odbc_exec' => ['resource|false', 'connection_id'=>'resource', 'query'=>'string', 'flags='=>'int'],
210212
'parse_str' => ['void', 'encoded_string'=>'string', '&w_result='=>'array'],
211213
'password_hash' => ['string|false|null', 'password'=>'string', 'algo'=>'?string|?int', 'options='=>'array'],

tests/PHPStan/Analyser/LegacyNodeScopeResolverTest.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5302,27 +5302,27 @@ public function dataFunctions(): array
53025302
'$versionCompare8',
53035303
],
53045304
[
5305-
'int',
5305+
'int<0, max>',
53065306
'$mbStrlenWithoutEncoding',
53075307
],
53085308
[
5309-
'int',
5309+
'int<0, max>',
53105310
'$mbStrlenWithValidEncoding',
53115311
],
53125312
[
5313-
'int',
5313+
'int<0, max>',
53145314
'$mbStrlenWithValidEncodingAlias',
53155315
],
53165316
[
53175317
'false',
53185318
'$mbStrlenWithInvalidEncoding',
53195319
],
53205320
[
5321-
PHP_VERSION_ID < 80000 ? 'int|false' : 'int',
5321+
PHP_VERSION_ID < 80000 ? 'int<0, max>|false' : 'int<0, max>',
53225322
'$mbStrlenWithValidAndInvalidEncoding',
53235323
],
53245324
[
5325-
PHP_VERSION_ID < 80000 ? 'int|false' : 'int',
5325+
PHP_VERSION_ID < 80000 ? 'int<0, max>|false' : 'int<0, max>',
53265326
'$mbStrlenWithUnknownEncoding',
53275327
],
53285328
[

0 commit comments

Comments
 (0)