Add some basic_functions stubs

This commit is contained in:
Nikita Popov 2019-08-10 12:34:29 +02:00
parent 172c71980d
commit d9e2d18505
4 changed files with 124 additions and 81 deletions

View File

@ -121,86 +121,7 @@ static void user_shutdown_function_dtor(zval *zv);
static void user_tick_function_dtor(user_tick_function_entry *tick_function_entry);
/* {{{ arginfo */
/* {{{ main/main.c */
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_set_time_limit, _IS_BOOL, 0)
ZEND_ARG_INFO(0, seconds)
ZEND_END_ARG_INFO()
/* }}} */
/* {{{ main/sapi.c */
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_header_register_callback, _IS_BOOL, 0)
ZEND_ARG_INFO(0, callback)
ZEND_END_ARG_INFO()
/* }}} */
/* {{{ main/output.c */
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_start, 0, 0, _IS_BOOL, 0)
ZEND_ARG_INFO(0, user_function)
ZEND_ARG_INFO(0, chunk_size)
ZEND_ARG_INFO(0, flags)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_flush, _IS_BOOL, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_clean, _IS_BOOL, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_end_flush, _IS_BOOL, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_end_clean, _IS_BOOL, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO(arginfo_ob_get_flush, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO(arginfo_ob_get_clean, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO(arginfo_ob_get_contents, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_get_level, IS_LONG, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO(arginfo_ob_get_length, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_list_handlers, IS_ARRAY, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_get_status, 0, 0, IS_ARRAY, 0)
ZEND_ARG_INFO(0, full_status)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_implicit_flush, 0, 0, IS_VOID, 0)
ZEND_ARG_INFO(0, flag)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_output_reset_rewrite_vars, _IS_BOOL, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_output_add_rewrite_var, _IS_BOOL, 0)
ZEND_ARG_INFO(0, name)
ZEND_ARG_INFO(0, value)
ZEND_END_ARG_INFO()
/* }}} */
/* {{{ main/streams/userspace.c */
ZEND_BEGIN_ARG_INFO_EX(arginfo_stream_wrapper_register, 0, 0, 2)
ZEND_ARG_INFO(0, protocol)
ZEND_ARG_INFO(0, classname)
ZEND_ARG_INFO(0, flags)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO(arginfo_stream_wrapper_unregister, 0)
ZEND_ARG_INFO(0, protocol)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO(arginfo_stream_wrapper_restore, 0)
ZEND_ARG_INFO(0, protocol)
ZEND_END_ARG_INFO()
/* }}} */
/* {{{ array.c */
ZEND_BEGIN_ARG_INFO_EX(arginfo_krsort, 0, 0, 1)
ZEND_ARG_INFO(1, arg) /* ARRAY_INFO(1, arg, 0) */

View File

@ -1,4 +1,61 @@
<?php
/* main/main.c */
function set_time_limit(int $seconds): bool {}
/* main/SAPI.c */
// TODO: Make this a proper callable argument?
function header_register_callback($callback): bool {}
/* main/output.c */
function ob_start(
$user_function = null, int $chunk_size = 0, int $flags = PHP_OUTPUT_HANDLER_STDFLAGS): bool {}
function ob_flush(): bool {}
function ob_clean(): bool {}
function ob_end_flush(): bool {}
function ob_end_clean(): bool {}
/** @return string|false */
function ob_get_flush() {}
/** @return string|false */
function ob_get_clean() {}
/** @return string|false */
function ob_get_contents() {}
function ob_get_level(): int {}
/** @return int|false */
function ob_get_length() {}
function ob_list_handlers(): array {}
function ob_get_status(bool $full_status = false): array {}
// TODO: Shouldn't this be a bool argument?
function ob_implicit_flush(int $flag = 1): void {}
function output_reset_rewrite_vars(): bool {}
function output_add_rewrite_var(string $name, string $value): bool {}
/* main/streams/userspace.c */
function stream_wrapper_register(string $protocol, string $classname, int $flags = 0): bool {}
function stream_wrapper_unregister(string $protocol): bool {}
function stream_wrapper_restore(string $protocol): bool {}
/* array.c */
/** @return int|false */
function array_push(array &$stack, ...$args) {}

View File

@ -1,5 +1,70 @@
/* This is a generated file, edit the .stub.php file instead. */
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0)
ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_header_register_callback, 0, 1, _IS_BOOL, 0)
ZEND_ARG_INFO(0, callback)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_start, 0, 0, _IS_BOOL, 0)
ZEND_ARG_INFO(0, user_function)
ZEND_ARG_TYPE_INFO(0, chunk_size, IS_LONG, 0)
ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_flush, 0, 0, _IS_BOOL, 0)
ZEND_END_ARG_INFO()
#define arginfo_ob_clean arginfo_ob_flush
#define arginfo_ob_end_flush arginfo_ob_flush
#define arginfo_ob_end_clean arginfo_ob_flush
ZEND_BEGIN_ARG_INFO_EX(arginfo_ob_get_flush, 0, 0, 0)
ZEND_END_ARG_INFO()
#define arginfo_ob_get_clean arginfo_ob_get_flush
#define arginfo_ob_get_contents arginfo_ob_get_flush
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_get_level, 0, 0, IS_LONG, 0)
ZEND_END_ARG_INFO()
#define arginfo_ob_get_length arginfo_ob_get_flush
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_list_handlers, 0, 0, IS_ARRAY, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_get_status, 0, 0, IS_ARRAY, 0)
ZEND_ARG_TYPE_INFO(0, full_status, _IS_BOOL, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_implicit_flush, 0, 0, IS_VOID, 0)
ZEND_ARG_TYPE_INFO(0, flag, IS_LONG, 0)
ZEND_END_ARG_INFO()
#define arginfo_output_reset_rewrite_vars arginfo_ob_flush
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_output_add_rewrite_var, 0, 2, _IS_BOOL, 0)
ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stream_wrapper_register, 0, 2, _IS_BOOL, 0)
ZEND_ARG_TYPE_INFO(0, protocol, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, classname, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stream_wrapper_unregister, 0, 1, _IS_BOOL, 0)
ZEND_ARG_TYPE_INFO(0, protocol, IS_STRING, 0)
ZEND_END_ARG_INFO()
#define arginfo_stream_wrapper_restore arginfo_stream_wrapper_unregister
ZEND_BEGIN_ARG_INFO_EX(arginfo_array_push, 0, 0, 1)
ZEND_ARG_TYPE_INFO(1, stack, IS_ARRAY, 0)
ZEND_ARG_VARIADIC_INFO(0, args)

View File

@ -1392,7 +1392,7 @@ PHP_FUNCTION(ob_end_clean)
}
/* }}} */
/* {{{ proto bool ob_get_flush(void)
/* {{{ proto string|false ob_get_flush(void)
Get current buffer contents, flush (send) the output buffer, and delete current output buffer */
PHP_FUNCTION(ob_get_flush)
{
@ -1411,7 +1411,7 @@ PHP_FUNCTION(ob_get_flush)
}
/* }}} */
/* {{{ proto bool ob_get_clean(void)
/* {{{ proto string|false ob_get_clean(void)
Get current buffer contents and delete current output buffer */
PHP_FUNCTION(ob_get_clean)
{