Skip to content

Commit 51eefd8

Browse files
committed
Add stubs for standard library
1 parent 381c9c1 commit 51eefd8

File tree

4 files changed

+292
-207
lines changed

4 files changed

+292
-207
lines changed

ext/standard/basic_functions.c

Lines changed: 0 additions & 199 deletions
Original file line numberDiff line numberDiff line change
@@ -325,205 +325,6 @@ ZEND_BEGIN_ARG_INFO(arginfo_stream_socket_shutdown, 0)
325325
ZEND_END_ARG_INFO()
326326
#endif
327327
/* }}} */
328-
/* {{{ type.c */
329-
ZEND_BEGIN_ARG_INFO(arginfo_gettype, 0)
330-
ZEND_ARG_INFO(0, var)
331-
ZEND_END_ARG_INFO()
332-
333-
ZEND_BEGIN_ARG_INFO(arginfo_settype, 0)
334-
ZEND_ARG_INFO(1, var)
335-
ZEND_ARG_INFO(0, type)
336-
ZEND_END_ARG_INFO()
337-
338-
ZEND_BEGIN_ARG_INFO_EX(arginfo_intval, 0, 0, 1)
339-
ZEND_ARG_INFO(0, var)
340-
ZEND_ARG_INFO(0, base)
341-
ZEND_END_ARG_INFO()
342-
343-
ZEND_BEGIN_ARG_INFO(arginfo_floatval, 0)
344-
ZEND_ARG_INFO(0, var)
345-
ZEND_END_ARG_INFO()
346-
347-
ZEND_BEGIN_ARG_INFO(arginfo_strval, 0)
348-
ZEND_ARG_INFO(0, var)
349-
ZEND_END_ARG_INFO()
350-
351-
ZEND_BEGIN_ARG_INFO(arginfo_boolval, 0)
352-
ZEND_ARG_INFO(0, var)
353-
ZEND_END_ARG_INFO()
354-
355-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_is_null, _IS_BOOL, 0)
356-
ZEND_ARG_INFO(0, var)
357-
ZEND_END_ARG_INFO()
358-
359-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_is_resource, _IS_BOOL, 0)
360-
ZEND_ARG_INFO(0, var)
361-
ZEND_END_ARG_INFO()
362-
363-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_is_bool, _IS_BOOL, 0)
364-
ZEND_ARG_INFO(0, var)
365-
ZEND_END_ARG_INFO()
366-
367-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_is_int, _IS_BOOL, 0)
368-
ZEND_ARG_INFO(0, var)
369-
ZEND_END_ARG_INFO()
370-
371-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_is_float, _IS_BOOL, 0)
372-
ZEND_ARG_INFO(0, var)
373-
ZEND_END_ARG_INFO()
374-
375-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_is_string, _IS_BOOL, 0)
376-
ZEND_ARG_INFO(0, var)
377-
ZEND_END_ARG_INFO()
378-
379-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_is_array, _IS_BOOL, 0)
380-
ZEND_ARG_INFO(0, var)
381-
ZEND_END_ARG_INFO()
382-
383-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_is_object, _IS_BOOL, 0)
384-
ZEND_ARG_INFO(0, var)
385-
ZEND_END_ARG_INFO()
386-
387-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_is_numeric, _IS_BOOL, 0)
388-
ZEND_ARG_INFO(0, value)
389-
ZEND_END_ARG_INFO()
390-
391-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_is_scalar, _IS_BOOL, 0)
392-
ZEND_ARG_INFO(0, value)
393-
ZEND_END_ARG_INFO()
394-
395-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_is_callable, 0, 1, _IS_BOOL, 0)
396-
ZEND_ARG_INFO(0, var)
397-
ZEND_ARG_INFO(0, syntax_only)
398-
ZEND_ARG_INFO(1, callable_name)
399-
ZEND_END_ARG_INFO()
400-
401-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_is_iterable, 0, 1, _IS_BOOL, 0)
402-
ZEND_ARG_INFO(0, var)
403-
ZEND_END_ARG_INFO()
404-
405-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_is_countable, _IS_BOOL, 0)
406-
ZEND_ARG_INFO(0, var)
407-
ZEND_END_ARG_INFO()
408-
/* }}} */
409-
/* {{{ url.c */
410-
ZEND_BEGIN_ARG_INFO_EX(arginfo_parse_url, 0, 0, 1)
411-
ZEND_ARG_INFO(0, url)
412-
ZEND_ARG_INFO(0, component)
413-
ZEND_END_ARG_INFO()
414-
415-
ZEND_BEGIN_ARG_INFO(arginfo_urlencode, 0)
416-
ZEND_ARG_INFO(0, str)
417-
ZEND_END_ARG_INFO()
418-
419-
ZEND_BEGIN_ARG_INFO(arginfo_urldecode, 0)
420-
ZEND_ARG_INFO(0, str)
421-
ZEND_END_ARG_INFO()
422-
423-
ZEND_BEGIN_ARG_INFO(arginfo_rawurlencode, 0)
424-
ZEND_ARG_INFO(0, str)
425-
ZEND_END_ARG_INFO()
426-
427-
ZEND_BEGIN_ARG_INFO(arginfo_rawurldecode, 0)
428-
ZEND_ARG_INFO(0, str)
429-
ZEND_END_ARG_INFO()
430-
431-
ZEND_BEGIN_ARG_INFO_EX(arginfo_get_headers, 0, 0, 1)
432-
ZEND_ARG_INFO(0, url)
433-
ZEND_ARG_INFO(0, format)
434-
ZEND_ARG_INFO(0, context)
435-
ZEND_END_ARG_INFO()
436-
/* }}} */
437-
/* {{{ user_filters.c */
438-
ZEND_BEGIN_ARG_INFO(arginfo_stream_bucket_make_writeable, 0)
439-
ZEND_ARG_INFO(0, brigade)
440-
ZEND_END_ARG_INFO()
441-
442-
ZEND_BEGIN_ARG_INFO(arginfo_stream_bucket_prepend, 0)
443-
ZEND_ARG_INFO(0, brigade)
444-
ZEND_ARG_INFO(0, bucket)
445-
ZEND_END_ARG_INFO()
446-
447-
ZEND_BEGIN_ARG_INFO(arginfo_stream_bucket_append, 0)
448-
ZEND_ARG_INFO(0, brigade)
449-
ZEND_ARG_INFO(0, bucket)
450-
ZEND_END_ARG_INFO()
451-
452-
ZEND_BEGIN_ARG_INFO(arginfo_stream_bucket_new, 0)
453-
ZEND_ARG_INFO(0, stream)
454-
ZEND_ARG_INFO(0, buffer)
455-
ZEND_END_ARG_INFO()
456-
457-
ZEND_BEGIN_ARG_INFO(arginfo_stream_get_filters, 0)
458-
ZEND_END_ARG_INFO()
459-
460-
ZEND_BEGIN_ARG_INFO(arginfo_stream_filter_register, 0)
461-
ZEND_ARG_INFO(0, filtername)
462-
ZEND_ARG_INFO(0, classname)
463-
ZEND_END_ARG_INFO()
464-
/* }}} */
465-
/* {{{ var.c */
466-
ZEND_BEGIN_ARG_INFO_EX(arginfo_var_dump, 0, 0, 1)
467-
ZEND_ARG_VARIADIC_INFO(0, vars)
468-
ZEND_END_ARG_INFO()
469-
470-
ZEND_BEGIN_ARG_INFO_EX(arginfo_debug_zval_dump, 0, 0, 1)
471-
ZEND_ARG_VARIADIC_INFO(0, vars)
472-
ZEND_END_ARG_INFO()
473-
474-
ZEND_BEGIN_ARG_INFO_EX(arginfo_var_export, 0, 0, 1)
475-
ZEND_ARG_INFO(0, var)
476-
ZEND_ARG_INFO(0, return)
477-
ZEND_END_ARG_INFO()
478-
479-
ZEND_BEGIN_ARG_INFO(arginfo_serialize, 0)
480-
ZEND_ARG_INFO(0, var)
481-
ZEND_END_ARG_INFO()
482-
483-
ZEND_BEGIN_ARG_INFO_EX(arginfo_unserialize, 0, 0, 1)
484-
ZEND_ARG_INFO(0, variable_representation)
485-
ZEND_ARG_INFO(0, allowed_classes)
486-
ZEND_END_ARG_INFO()
487-
488-
ZEND_BEGIN_ARG_INFO_EX(arginfo_memory_get_usage, 0, 0, 0)
489-
ZEND_ARG_INFO(0, real_usage)
490-
ZEND_END_ARG_INFO()
491-
492-
ZEND_BEGIN_ARG_INFO_EX(arginfo_memory_get_peak_usage, 0, 0, 0)
493-
ZEND_ARG_INFO(0, real_usage)
494-
ZEND_END_ARG_INFO()
495-
/* }}} */
496-
497-
/* {{{ win32/codepage.c */
498-
#ifdef PHP_WIN32
499-
ZEND_BEGIN_ARG_INFO_EX(arginfo_sapi_windows_cp_set, 0, 0, 1)
500-
ZEND_ARG_TYPE_INFO(0, code_page, IS_LONG, 0)
501-
ZEND_END_ARG_INFO()
502-
503-
ZEND_BEGIN_ARG_INFO_EX(arginfo_sapi_windows_cp_get, 0, 0, 0)
504-
ZEND_END_ARG_INFO()
505-
506-
ZEND_BEGIN_ARG_INFO_EX(arginfo_sapi_windows_cp_is_utf8, 0, 0, 0)
507-
ZEND_END_ARG_INFO()
508-
509-
ZEND_BEGIN_ARG_INFO_EX(arginfo_sapi_windows_cp_conv, 0, 0, 3)
510-
ZEND_ARG_INFO(0, in_codepage)
511-
ZEND_ARG_INFO(0, out_codepage)
512-
ZEND_ARG_TYPE_INFO(0, subject, IS_STRING, 0)
513-
ZEND_END_ARG_INFO()
514-
515-
ZEND_BEGIN_ARG_INFO_EX(arginfo_sapi_windows_set_ctrl_handler, 0, 0, 1)
516-
ZEND_ARG_INFO(0, callable)
517-
ZEND_ARG_INFO(0, add)
518-
ZEND_END_ARG_INFO()
519-
520-
ZEND_BEGIN_ARG_INFO_EX(arginfo_sapi_windows_generate_ctrl_event, 0, 0, 1)
521-
ZEND_ARG_INFO(0, event)
522-
ZEND_ARG_INFO(0, pid)
523-
ZEND_END_ARG_INFO()
524-
#endif
525-
/* }}} */
526-
/* }}} */
527328

528329
#include "basic_functions_arginfo.h"
529330

ext/standard/basic_functions.stub.php

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1179,18 +1179,151 @@ function random_int(int $min, int $max): int {}
11791179

11801180
function soundex(string $string): string|false {}
11811181

1182+
/* type.c */
1183+
1184+
/** @param mixed $var */
1185+
function gettype($var): string {}
1186+
1187+
function settype(&$var, string $type): bool {}
1188+
1189+
/** @param mixed $value */
1190+
function intval($value, int $base = 10): int {}
1191+
1192+
/** @param mixed $value */
1193+
function floatval($value): float {}
1194+
1195+
/** @param mixed $value */
1196+
function boolval($value): bool {}
1197+
1198+
/** @param mixed $value */
1199+
function strval($value): float {}
1200+
1201+
/** @param mixed $value */
1202+
function is_null($value): bool {}
1203+
1204+
/** @param mixed $value */
1205+
function is_resource($value): bool {}
1206+
1207+
/** @param mixed $value */
1208+
function is_bool($value): bool {}
1209+
1210+
/** @param mixed $value */
1211+
function is_int($value): bool {}
1212+
1213+
/** @param mixed $value */
1214+
function is_float($value): bool {}
1215+
1216+
/** @param mixed $value */
1217+
function is_numeric($value): bool {}
1218+
1219+
/** @param mixed $value */
1220+
function is_string($value): bool {}
1221+
1222+
/** @param mixed $value */
1223+
function is_array($value): bool {}
1224+
1225+
/** @param mixed $value */
1226+
function is_object($value): bool {}
1227+
1228+
/** @param mixed $value */
1229+
function is_scalar($value): bool {}
1230+
1231+
/** @param mixed $value */
1232+
function is_callable($value, bool $syntax_only = false, &$callable_name = null) {}
1233+
1234+
/** @param mixed $value */
1235+
function is_iterable($value): bool {}
1236+
1237+
/** @param mixed $value */
1238+
function is_countable($value): bool {}
1239+
11821240
/* uniqid.c */
11831241

11841242
#ifdef HAVE_GETTIMEOFDAY
11851243
function uniqid(string $prefix = "", bool $more_entropy = false): string {}
11861244
#endif
11871245

1246+
/* url.c */
1247+
1248+
/** @return mixed */
1249+
function parse_url(string $url, int $component = -1) {}
1250+
1251+
function urlencode(string $string): string {}
1252+
1253+
function urldecode(string $string): string {}
1254+
1255+
function rawurlencode(string $string): string {}
1256+
1257+
function rawurldecode(string $string): string {}
1258+
1259+
/** @param resource $context */
1260+
function get_headers(string $url, int $format = 0, $context = null): array|false {}
1261+
1262+
/* user_filters.c */
1263+
1264+
/** @param resource $brigade */
1265+
function stream_bucket_make_writeable($brigade): ?object {}
1266+
1267+
/** @param resource $brigade */
1268+
function stream_bucket_prepend($brigade, object $bucket): void {}
1269+
1270+
/** @param resource $brigade */
1271+
function stream_bucket_append($brigade, object $bucket): void {}
1272+
1273+
/** @param resource $stream */
1274+
function stream_bucket_new($stream, string $buffer): object|false {}
1275+
1276+
function stream_get_filters(): array {}
1277+
1278+
function stream_filter_register(string $filtername, string $classname): bool {}
1279+
11881280
/* uuencode.c */
11891281

11901282
function convert_uuencode(string $data): string|false {}
11911283

11921284
function convert_uudecode(string $data): string|false {}
11931285

1286+
/* var.c */
1287+
1288+
/** @param mixed $value */
1289+
function var_dump($value, ...$value): void {}
1290+
1291+
/** @param mixed $value */
1292+
function var_export($value, bool $return = false): ?string {}
1293+
1294+
/** @param mixed $value */
1295+
function debug_zval_dump($value, ...$value): void {}
1296+
1297+
/** @param mixed $value */
1298+
function serialize($value): ?string {}
1299+
1300+
/** @return mixed */
1301+
function unserialize(string $value, array $options = []) {}
1302+
1303+
function memory_get_usage(bool $real_usage = false): int {}
1304+
1305+
function memory_get_peak_usage(bool $real_usage = false): int {}
1306+
11941307
/* versioning.c */
11951308

11961309
function version_compare(string $version1, string $version2, string $operator = UNKNOWN): int|bool {}
1310+
1311+
/* win32/codepage.c */
1312+
1313+
function sapi_windows_cp_set(int $cp): bool {}
1314+
1315+
function sapi_windows_cp_get(string $kind = UNKNOWN): int {}
1316+
1317+
/**
1318+
* @param int|string $in_codepage
1319+
* @param int|string $out_codepage
1320+
*/
1321+
function sapi_windows_cp_conv($in_codepage, $out_codepage, string $subject) {}
1322+
1323+
function sapi_windows_cp_is_utf8(): bool {}
1324+
1325+
/** @param callable|null $handler */
1326+
function sapi_windows_set_ctrl_handler($handler, bool $add = true): bool {}
1327+
1328+
/** @param callable|null $handler */
1329+
function sapi_windows_generate_ctrl_event(int $event, int $pid = 0): bool {}

0 commit comments

Comments
 (0)