Skip to content

Commit 27e83d0

Browse files
committed
Add union return types for function stubs
1 parent 2804ea6 commit 27e83d0

File tree

91 files changed

+1198
-1909
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+1198
-1909
lines changed

Zend/zend_builtin_functions.stub.php

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,37 +7,31 @@ function func_num_args(): int {}
77
/** @return mixed */
88
function func_get_arg(int $arg_num) {}
99

10-
/** @return array|false */
11-
function func_get_args() {}
10+
function func_get_args(): array|false {}
1211

1312
function strlen(string $str): int {}
1413

1514
function strcmp(string $str1, string $str2): int {}
1615

17-
/** @return int|false */
18-
function strncmp(string $str1, string $str2, int $len) {}
16+
function strncmp(string $str1, string $str2, int $len): int|false {}
1917

2018
function error_reporting($new_error_level = UNKNOWN): int {}
2119

2220
function define(string $constant_name, $value, bool $case_insensitive = false): bool {}
2321

2422
function defined(string $constant_name): bool {}
2523

26-
/** @return string|false */
27-
function get_class(object $object = UNKNOWN) {}
24+
function get_class(object $object = UNKNOWN): string|false {}
2825

29-
/** @return string|false */
30-
function get_called_class() {}
26+
function get_called_class(): string|false {}
3127

32-
/** @return string|false */
33-
function get_parent_class($object = UNKNOWN) {}
28+
function get_parent_class($object = UNKNOWN): string|false {}
3429

3530
function is_subclass_of($object, string $class_name, bool $allow_string = true): bool {}
3631

3732
function is_a($object, string $class_name, bool $allow_string = false): bool {}
3833

39-
/** @return array|false */
40-
function get_class_vars(string $class_name) {}
34+
function get_class_vars(string $class_name): array|false {}
4135

4236
function get_object_vars(object $obj): array {}
4337

@@ -103,8 +97,7 @@ function debug_print_backtrace(int $options = 0, int $limit = 0): void {}
10397

10498
function extension_loaded(string $extension_name): bool {}
10599

106-
/** @return array|false */
107-
function get_extension_funcs(string $extension_name) {}
100+
function get_extension_funcs(string $extension_name): array|false {}
108101

109102
#if ZEND_DEBUG && defined(ZTS)
110103
function zend_thread_id(): int {}

Zend/zend_builtin_functions_arginfo.h

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_func_get_arg, 0, 0, 1)
1010
ZEND_ARG_TYPE_INFO(0, arg_num, IS_LONG, 0)
1111
ZEND_END_ARG_INFO()
1212

13-
ZEND_BEGIN_ARG_INFO_EX(arginfo_func_get_args, 0, 0, 0)
13+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_func_get_args, 0, 0, MAY_BE_ARRAY|MAY_BE_FALSE)
1414
ZEND_END_ARG_INFO()
1515

1616
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_strlen, 0, 1, IS_LONG, 0)
@@ -22,7 +22,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_strcmp, 0, 2, IS_LONG, 0)
2222
ZEND_ARG_TYPE_INFO(0, str2, IS_STRING, 0)
2323
ZEND_END_ARG_INFO()
2424

25-
ZEND_BEGIN_ARG_INFO_EX(arginfo_strncmp, 0, 0, 3)
25+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_strncmp, 0, 3, MAY_BE_LONG|MAY_BE_FALSE)
2626
ZEND_ARG_TYPE_INFO(0, str1, IS_STRING, 0)
2727
ZEND_ARG_TYPE_INFO(0, str2, IS_STRING, 0)
2828
ZEND_ARG_TYPE_INFO(0, len, IS_LONG, 0)
@@ -42,13 +42,14 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_defined, 0, 1, _IS_BOOL, 0)
4242
ZEND_ARG_TYPE_INFO(0, constant_name, IS_STRING, 0)
4343
ZEND_END_ARG_INFO()
4444

45-
ZEND_BEGIN_ARG_INFO_EX(arginfo_get_class, 0, 0, 0)
45+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_get_class, 0, 0, MAY_BE_STRING|MAY_BE_FALSE)
4646
ZEND_ARG_TYPE_INFO(0, object, IS_OBJECT, 0)
4747
ZEND_END_ARG_INFO()
4848

49-
#define arginfo_get_called_class arginfo_func_get_args
49+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_get_called_class, 0, 0, MAY_BE_STRING|MAY_BE_FALSE)
50+
ZEND_END_ARG_INFO()
5051

51-
ZEND_BEGIN_ARG_INFO_EX(arginfo_get_parent_class, 0, 0, 0)
52+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_get_parent_class, 0, 0, MAY_BE_STRING|MAY_BE_FALSE)
5253
ZEND_ARG_INFO(0, object)
5354
ZEND_END_ARG_INFO()
5455

@@ -60,7 +61,7 @@ ZEND_END_ARG_INFO()
6061

6162
#define arginfo_is_a arginfo_is_subclass_of
6263

63-
ZEND_BEGIN_ARG_INFO_EX(arginfo_get_class_vars, 0, 0, 1)
64+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_get_class_vars, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
6465
ZEND_ARG_TYPE_INFO(0, class_name, IS_STRING, 0)
6566
ZEND_END_ARG_INFO()
6667

@@ -175,7 +176,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_extension_loaded, 0, 1, _IS_BOOL
175176
ZEND_ARG_TYPE_INFO(0, extension_name, IS_STRING, 0)
176177
ZEND_END_ARG_INFO()
177178

178-
ZEND_BEGIN_ARG_INFO_EX(arginfo_get_extension_funcs, 0, 0, 1)
179+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_get_extension_funcs, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
179180
ZEND_ARG_TYPE_INFO(0, extension_name, IS_STRING, 0)
180181
ZEND_END_ARG_INFO()
181182

Zend/zend_generators_arginfo.h

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
/* This is a generated file, edit the .stub.php file instead. */
22

3-
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Generator_rewind, 0, 0, 0)
3+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Generator_rewind, 0, 0, IS_VOID, 0)
44
ZEND_END_ARG_INFO()
55

6-
#define arginfo_class_Generator_valid arginfo_class_Generator_rewind
6+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Generator_valid, 0, 0, _IS_BOOL, 0)
7+
ZEND_END_ARG_INFO()
78

8-
#define arginfo_class_Generator_current arginfo_class_Generator_rewind
9+
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Generator_current, 0, 0, 0)
10+
ZEND_END_ARG_INFO()
911

10-
#define arginfo_class_Generator_key arginfo_class_Generator_rewind
12+
#define arginfo_class_Generator_key arginfo_class_Generator_current
1113

1214
#define arginfo_class_Generator_next arginfo_class_Generator_rewind
1315

@@ -19,4 +21,4 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Generator_throw, 0, 0, 1)
1921
ZEND_ARG_OBJ_INFO(0, exception, Throwable, 0)
2022
ZEND_END_ARG_INFO()
2123

22-
#define arginfo_class_Generator_getReturn arginfo_class_Generator_rewind
24+
#define arginfo_class_Generator_getReturn arginfo_class_Generator_current

ext/bcmath/bcmath.stub.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ function bcdiv(string $dividend, string $divisor, int $scale = UNKNOWN) : string
1010

1111
function bcmod(string $dividend, string $divisor, int $scale = UNKNOWN) : string {}
1212

13-
/** @return string|false */
14-
function bcpowmod(string $base, string $exponent, string $modulus, int $scale = UNKNOWN) {}
13+
function bcpowmod(string $base, string $exponent, string $modulus, int $scale = UNKNOWN): string|false {}
1514

1615
function bcpow(string $base, string $exponent, int $scale = UNKNOWN) : string {}
1716

ext/bcmath/bcmath_arginfo.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ ZEND_END_ARG_INFO()
1818

1919
#define arginfo_bcmod arginfo_bcdiv
2020

21-
ZEND_BEGIN_ARG_INFO_EX(arginfo_bcpowmod, 0, 0, 3)
21+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_bcpowmod, 0, 3, MAY_BE_STRING|MAY_BE_FALSE)
2222
ZEND_ARG_TYPE_INFO(0, base, IS_STRING, 0)
2323
ZEND_ARG_TYPE_INFO(0, exponent, IS_STRING, 0)
2424
ZEND_ARG_TYPE_INFO(0, modulus, IS_STRING, 0)

ext/bz2/bz2.stub.php

Lines changed: 11 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,49 +6,37 @@
66
*/
77
function bzopen($file, string $mode) {}
88

9-
/**
10-
* @param resource $bz
11-
* @return string|false
12-
*/
13-
function bzread ($bz, int $length = 1024) {}
9+
/** @param resource $bz */
10+
function bzread($bz, int $length = 1024): string|false {}
1411

15-
/**
16-
* @param resource $bz
17-
* @return int|false
18-
*/
19-
function bzwrite ($bz, string $str, int $length = UNKNOWN) {}
12+
/** @param resource $bz */
13+
function bzwrite($bz, string $str, int $length = UNKNOWN): int|false {}
2014

2115
/**
2216
* @param resource $bz
2317
*/
24-
function bzflush ($bz): bool {}
18+
function bzflush($bz): bool {}
2519

2620
/**
2721
* @param resource $bz
2822
*/
29-
function bzclose ($bz): bool {}
23+
function bzclose($bz): bool {}
3024

3125
/**
3226
* @param resource $bz
3327
*/
34-
function bzerrno ($bz): int {}
28+
function bzerrno($bz): int {}
3529

3630
/**
3731
* @param resource $bz
3832
*/
39-
function bzerrstr ($bz): string {}
33+
function bzerrstr($bz): string {}
4034

4135
/**
4236
* @param resource $bz
4337
*/
44-
function bzerror ($bz): array {}
38+
function bzerror($bz): array {}
4539

46-
/**
47-
* @return string|int
48-
*/
49-
function bzcompress (string $source, int $blocksize = 4, int $workfactor = 0) {}
40+
function bzcompress(string $source, int $blocksize = 4, int $workfactor = 0): string|int {}
5041

51-
/**
52-
* @return string|int
53-
*/
54-
function bzdecompress (string $source, int $small = 0) {}
42+
function bzdecompress(string $source, int $small = 0): string|int|false {}

ext/bz2/bz2_arginfo.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_bzopen, 0, 0, 2)
55
ZEND_ARG_TYPE_INFO(0, mode, IS_STRING, 0)
66
ZEND_END_ARG_INFO()
77

8-
ZEND_BEGIN_ARG_INFO_EX(arginfo_bzread, 0, 0, 1)
8+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_bzread, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
99
ZEND_ARG_INFO(0, bz)
1010
ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0)
1111
ZEND_END_ARG_INFO()
1212

13-
ZEND_BEGIN_ARG_INFO_EX(arginfo_bzwrite, 0, 0, 2)
13+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_bzwrite, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
1414
ZEND_ARG_INFO(0, bz)
1515
ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0)
1616
ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0)
@@ -34,13 +34,13 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_bzerror, 0, 1, IS_ARRAY, 0)
3434
ZEND_ARG_INFO(0, bz)
3535
ZEND_END_ARG_INFO()
3636

37-
ZEND_BEGIN_ARG_INFO_EX(arginfo_bzcompress, 0, 0, 1)
37+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_bzcompress, 0, 1, MAY_BE_STRING|MAY_BE_LONG)
3838
ZEND_ARG_TYPE_INFO(0, source, IS_STRING, 0)
3939
ZEND_ARG_TYPE_INFO(0, blocksize, IS_LONG, 0)
4040
ZEND_ARG_TYPE_INFO(0, workfactor, IS_LONG, 0)
4141
ZEND_END_ARG_INFO()
4242

43-
ZEND_BEGIN_ARG_INFO_EX(arginfo_bzdecompress, 0, 0, 1)
43+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_bzdecompress, 0, 1, MAY_BE_STRING|MAY_BE_LONG|MAY_BE_FALSE)
4444
ZEND_ARG_TYPE_INFO(0, source, IS_STRING, 0)
4545
ZEND_ARG_TYPE_INFO(0, small, IS_LONG, 0)
4646
ZEND_END_ARG_INFO()

ext/calendar/calendar.stub.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ function frenchtojd(int $month, int $day, int $year): int {}
1616

1717
function gregoriantojd(int $month, int $day, int $year): int {}
1818

19-
/** @return int|string */
20-
function jddayofweek(int $juliandaycount, int $mode = CAL_DOW_DAYNO) {}
19+
function jddayofweek(int $juliandaycount, int $mode = CAL_DOW_DAYNO): int|string {}
2120

2221
function jdmonthname(int $juliandaycount, int $mode): string {}
2322

@@ -35,5 +34,4 @@ function jewishtojd(int $month, int $day, int $year): int {}
3534

3635
function juliantojd(int $month, int $day, int $year): int {}
3736

38-
/** @return int|false */
39-
function unixtojd(int $timestamp = UNKNOWN) {}
37+
function unixtojd(int $timestamp = UNKNOWN): int|false {}

ext/calendar/calendar_arginfo.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ ZEND_END_ARG_INFO()
3737

3838
#define arginfo_gregoriantojd arginfo_frenchtojd
3939

40-
ZEND_BEGIN_ARG_INFO_EX(arginfo_jddayofweek, 0, 0, 1)
40+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_jddayofweek, 0, 1, MAY_BE_LONG|MAY_BE_STRING)
4141
ZEND_ARG_TYPE_INFO(0, juliandaycount, IS_LONG, 0)
4242
ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0)
4343
ZEND_END_ARG_INFO()
@@ -69,6 +69,6 @@ ZEND_END_ARG_INFO()
6969

7070
#define arginfo_juliantojd arginfo_frenchtojd
7171

72-
ZEND_BEGIN_ARG_INFO_EX(arginfo_unixtojd, 0, 0, 0)
72+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_unixtojd, 0, 0, MAY_BE_LONG|MAY_BE_FALSE)
7373
ZEND_ARG_TYPE_INFO(0, timestamp, IS_LONG, 0)
7474
ZEND_END_ARG_INFO()

ext/com_dotnet/com_extension.stub.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,7 @@ function variant_cast(variant $variant, int $type): variant {}
5555

5656
function com_get_active_object(string $progid, int $code_page = UNKNOWN): variant {}
5757

58-
/** @return string|false */
59-
function com_create_guid() {}
58+
function com_create_guid(): string|false {}
6059

6160
function com_event_sink(variant $comobject, object $sinkobject, $sinkinterface = UNKNOWN): bool {}
6261

ext/com_dotnet/com_extension_arginfo.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_com_get_active_object, 0, 1, vari
8585
ZEND_ARG_TYPE_INFO(0, code_page, IS_LONG, 0)
8686
ZEND_END_ARG_INFO()
8787

88-
ZEND_BEGIN_ARG_INFO_EX(arginfo_com_create_guid, 0, 0, 0)
88+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_com_create_guid, 0, 0, MAY_BE_STRING|MAY_BE_FALSE)
8989
ZEND_END_ARG_INFO()
9090

9191
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_com_event_sink, 0, 2, _IS_BOOL, 0)

ext/curl/curl.stub.php

Lines changed: 10 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ function curl_close($handle): void {}
55

66
/**
77
* @param resource $handle
8-
*
98
* @return resource|false
109
*/
1110
function curl_copy_handle($handle) {}
@@ -16,19 +15,11 @@ function curl_errno($handle): int {}
1615
/** @param resource $handle */
1716
function curl_error($handle): string {}
1817

19-
/**
20-
* @param resource $handle
21-
*
22-
* @return string|false
23-
*/
24-
function curl_escape($handle, string $string) {}
18+
/** @param resource $handle */
19+
function curl_escape($handle, string $string): string|false {}
2520

26-
/**
27-
* @param resource $handle
28-
*
29-
* @return string|bool
30-
*/
31-
function curl_exec($handle) {}
21+
/** @param resource $handle */
22+
function curl_exec($handle): string|bool {}
3223

3324
function curl_file_create(
3425
string $filename,
@@ -38,14 +29,12 @@ function curl_file_create(
3829

3930
/**
4031
* @param resource $handle
41-
*
4232
* @return mixed
4333
*/
4434
function curl_getinfo($handle, int $option = UNKNOWN) {}
4535

4636
/**
4737
* @param resource $handle
48-
*
4938
* @return resource|false
5039
*/
5140
function curl_init(string $url = UNKNOWN) {}
@@ -59,11 +48,7 @@ function curl_multi_add_handle($multi_handle, $handle): int {}
5948
/** @param resource $multi_handle */
6049
function curl_multi_close($multi_handle): void {}
6150

62-
/**
63-
* @param resource $multi_handle
64-
*
65-
* @return int|false
66-
*/
51+
/** @param resource $multi_handle */
6752
function curl_multi_errno($multi_handle): int {}
6853

6954
/** @param resource $multi_handle */
@@ -72,12 +57,8 @@ function curl_multi_exec($multi_handle, &$still_running): int {}
7257
/** @param resource $multi_handle */
7358
function curl_multi_getcontent($multi_handle): ?string {}
7459

75-
/**
76-
* @param resource $multi_handle
77-
*
78-
* @return array|false
79-
*/
80-
function curl_multi_info_read($multi_handle, &$msgs_in_queue = null) {}
60+
/** @param resource $multi_handle */
61+
function curl_multi_info_read($multi_handle, &$msgs_in_queue = null): array|false {}
8162

8263
/** @return resource */
8364
function curl_multi_init() {}
@@ -136,12 +117,7 @@ function curl_share_strerror(int $error_number): ?string {}
136117

137118
function curl_strerror(int $error_number): ?string {}
138119

139-
/**
140-
* @param resource $handle
141-
*
142-
* @return string|false
143-
*/
144-
function curl_unescape($handle, string $string) {}
120+
/** @param resource $handle */
121+
function curl_unescape($handle, string $string): string|false {}
145122

146-
/** @return array|false */
147-
function curl_version(int $age = UNKNOWN) {}
123+
function curl_version(int $age = UNKNOWN): array|false {}

0 commit comments

Comments
 (0)