mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Declare ext/standard constants in stubs - part 1 (#9404)
This commit is contained in:
parent
10a27bc47b
commit
bc4c012611
5 changed files with 179 additions and 64 deletions
|
@ -645,13 +645,13 @@ PHP_METHOD(SplObjectStorage, contains)
|
|||
PHP_METHOD(SplObjectStorage, count)
|
||||
{
|
||||
spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS);
|
||||
zend_long mode = COUNT_NORMAL;
|
||||
zend_long mode = PHP_COUNT_NORMAL;
|
||||
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS(), "|l", &mode) == FAILURE) {
|
||||
RETURN_THROWS();
|
||||
}
|
||||
|
||||
if (mode == COUNT_RECURSIVE) {
|
||||
if (mode == PHP_COUNT_RECURSIVE) {
|
||||
RETURN_LONG(php_count_recursive(&intern->storage));
|
||||
}
|
||||
|
||||
|
|
|
@ -44,18 +44,6 @@
|
|||
#include "ext/random/php_random.h"
|
||||
|
||||
/* {{{ defines */
|
||||
#define EXTR_OVERWRITE 0
|
||||
#define EXTR_SKIP 1
|
||||
#define EXTR_PREFIX_SAME 2
|
||||
#define EXTR_PREFIX_ALL 3
|
||||
#define EXTR_PREFIX_INVALID 4
|
||||
#define EXTR_PREFIX_IF_EXISTS 5
|
||||
#define EXTR_IF_EXISTS 6
|
||||
|
||||
#define EXTR_REFS 0x100
|
||||
|
||||
#define CASE_LOWER 0
|
||||
#define CASE_UPPER 1
|
||||
|
||||
#define DIFF_NORMAL 1
|
||||
#define DIFF_KEY 2
|
||||
|
@ -89,34 +77,6 @@ PHP_MINIT_FUNCTION(array) /* {{{ */
|
|||
{
|
||||
ZEND_INIT_MODULE_GLOBALS(array, php_array_init_globals, NULL);
|
||||
|
||||
REGISTER_LONG_CONSTANT("EXTR_OVERWRITE", EXTR_OVERWRITE, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("EXTR_SKIP", EXTR_SKIP, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("EXTR_PREFIX_SAME", EXTR_PREFIX_SAME, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("EXTR_PREFIX_ALL", EXTR_PREFIX_ALL, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("EXTR_PREFIX_INVALID", EXTR_PREFIX_INVALID, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("EXTR_PREFIX_IF_EXISTS", EXTR_PREFIX_IF_EXISTS, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("EXTR_IF_EXISTS", EXTR_IF_EXISTS, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("EXTR_REFS", EXTR_REFS, CONST_CS | CONST_PERSISTENT);
|
||||
|
||||
REGISTER_LONG_CONSTANT("SORT_ASC", PHP_SORT_ASC, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("SORT_DESC", PHP_SORT_DESC, CONST_CS | CONST_PERSISTENT);
|
||||
|
||||
REGISTER_LONG_CONSTANT("SORT_REGULAR", PHP_SORT_REGULAR, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("SORT_NUMERIC", PHP_SORT_NUMERIC, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("SORT_STRING", PHP_SORT_STRING, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("SORT_LOCALE_STRING", PHP_SORT_LOCALE_STRING, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("SORT_NATURAL", PHP_SORT_NATURAL, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("SORT_FLAG_CASE", PHP_SORT_FLAG_CASE, CONST_CS | CONST_PERSISTENT);
|
||||
|
||||
REGISTER_LONG_CONSTANT("CASE_LOWER", CASE_LOWER, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("CASE_UPPER", CASE_UPPER, CONST_CS | CONST_PERSISTENT);
|
||||
|
||||
REGISTER_LONG_CONSTANT("COUNT_NORMAL", COUNT_NORMAL, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("COUNT_RECURSIVE", COUNT_RECURSIVE, CONST_CS | CONST_PERSISTENT);
|
||||
|
||||
REGISTER_LONG_CONSTANT("ARRAY_FILTER_USE_BOTH", ARRAY_FILTER_USE_BOTH, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("ARRAY_FILTER_USE_KEY", ARRAY_FILTER_USE_KEY, CONST_CS | CONST_PERSISTENT);
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
/* }}} */
|
||||
|
@ -661,7 +621,7 @@ PHPAPI zend_long php_count_recursive(HashTable *ht) /* {{{ */
|
|||
PHP_FUNCTION(count)
|
||||
{
|
||||
zval *array;
|
||||
zend_long mode = COUNT_NORMAL;
|
||||
zend_long mode = PHP_COUNT_NORMAL;
|
||||
zend_long cnt;
|
||||
|
||||
ZEND_PARSE_PARAMETERS_START(1, 2)
|
||||
|
@ -670,14 +630,14 @@ PHP_FUNCTION(count)
|
|||
Z_PARAM_LONG(mode)
|
||||
ZEND_PARSE_PARAMETERS_END();
|
||||
|
||||
if (mode != COUNT_NORMAL && mode != COUNT_RECURSIVE) {
|
||||
if (mode != PHP_COUNT_NORMAL && mode != PHP_COUNT_RECURSIVE) {
|
||||
zend_argument_value_error(2, "must be either COUNT_NORMAL or COUNT_RECURSIVE");
|
||||
RETURN_THROWS();
|
||||
}
|
||||
|
||||
switch (Z_TYPE_P(array)) {
|
||||
case IS_ARRAY:
|
||||
if (mode != COUNT_RECURSIVE) {
|
||||
if (mode != PHP_COUNT_RECURSIVE) {
|
||||
cnt = zend_hash_num_elements(Z_ARRVAL_P(array));
|
||||
} else {
|
||||
cnt = php_count_recursive(Z_ARRVAL_P(array));
|
||||
|
@ -2397,7 +2357,7 @@ PHP_FUNCTION(extract)
|
|||
{
|
||||
zval *var_array_param;
|
||||
zend_long extract_refs;
|
||||
zend_long extract_type = EXTR_OVERWRITE;
|
||||
zend_long extract_type = PHP_EXTR_OVERWRITE;
|
||||
zend_string *prefix = NULL;
|
||||
zend_long count;
|
||||
zend_array *symbol_table;
|
||||
|
@ -2409,18 +2369,18 @@ PHP_FUNCTION(extract)
|
|||
Z_PARAM_STR(prefix)
|
||||
ZEND_PARSE_PARAMETERS_END();
|
||||
|
||||
extract_refs = (extract_type & EXTR_REFS);
|
||||
extract_refs = (extract_type & PHP_EXTR_REFS);
|
||||
if (extract_refs) {
|
||||
SEPARATE_ARRAY(var_array_param);
|
||||
}
|
||||
extract_type &= 0xff;
|
||||
|
||||
if (extract_type < EXTR_OVERWRITE || extract_type > EXTR_IF_EXISTS) {
|
||||
if (extract_type < PHP_EXTR_OVERWRITE || extract_type > PHP_EXTR_IF_EXISTS) {
|
||||
zend_argument_value_error(2, "must be a valid extract type");
|
||||
RETURN_THROWS();
|
||||
}
|
||||
|
||||
if (extract_type > EXTR_SKIP && extract_type <= EXTR_PREFIX_IF_EXISTS && ZEND_NUM_ARGS() < 3) {
|
||||
if (extract_type > PHP_EXTR_SKIP && extract_type <= PHP_EXTR_PREFIX_IF_EXISTS && ZEND_NUM_ARGS() < 3) {
|
||||
zend_argument_value_error(3, "is required when using this extract type");
|
||||
RETURN_THROWS();
|
||||
}
|
||||
|
@ -2441,22 +2401,22 @@ PHP_FUNCTION(extract)
|
|||
|
||||
if (extract_refs) {
|
||||
switch (extract_type) {
|
||||
case EXTR_IF_EXISTS:
|
||||
case PHP_EXTR_IF_EXISTS:
|
||||
count = php_extract_ref_if_exists(Z_ARRVAL_P(var_array_param), symbol_table);
|
||||
break;
|
||||
case EXTR_OVERWRITE:
|
||||
case PHP_EXTR_OVERWRITE:
|
||||
count = php_extract_ref_overwrite(Z_ARRVAL_P(var_array_param), symbol_table);
|
||||
break;
|
||||
case EXTR_PREFIX_IF_EXISTS:
|
||||
case PHP_EXTR_PREFIX_IF_EXISTS:
|
||||
count = php_extract_ref_prefix_if_exists(Z_ARRVAL_P(var_array_param), symbol_table, prefix);
|
||||
break;
|
||||
case EXTR_PREFIX_SAME:
|
||||
case PHP_EXTR_PREFIX_SAME:
|
||||
count = php_extract_ref_prefix_same(Z_ARRVAL_P(var_array_param), symbol_table, prefix);
|
||||
break;
|
||||
case EXTR_PREFIX_ALL:
|
||||
case PHP_EXTR_PREFIX_ALL:
|
||||
count = php_extract_ref_prefix_all(Z_ARRVAL_P(var_array_param), symbol_table, prefix);
|
||||
break;
|
||||
case EXTR_PREFIX_INVALID:
|
||||
case PHP_EXTR_PREFIX_INVALID:
|
||||
count = php_extract_ref_prefix_invalid(Z_ARRVAL_P(var_array_param), symbol_table, prefix);
|
||||
break;
|
||||
default:
|
||||
|
@ -2468,22 +2428,22 @@ PHP_FUNCTION(extract)
|
|||
zval array_copy;
|
||||
ZVAL_COPY(&array_copy, var_array_param);
|
||||
switch (extract_type) {
|
||||
case EXTR_IF_EXISTS:
|
||||
case PHP_EXTR_IF_EXISTS:
|
||||
count = php_extract_if_exists(Z_ARRVAL(array_copy), symbol_table);
|
||||
break;
|
||||
case EXTR_OVERWRITE:
|
||||
case PHP_EXTR_OVERWRITE:
|
||||
count = php_extract_overwrite(Z_ARRVAL(array_copy), symbol_table);
|
||||
break;
|
||||
case EXTR_PREFIX_IF_EXISTS:
|
||||
case PHP_EXTR_PREFIX_IF_EXISTS:
|
||||
count = php_extract_prefix_if_exists(Z_ARRVAL(array_copy), symbol_table, prefix);
|
||||
break;
|
||||
case EXTR_PREFIX_SAME:
|
||||
case PHP_EXTR_PREFIX_SAME:
|
||||
count = php_extract_prefix_same(Z_ARRVAL(array_copy), symbol_table, prefix);
|
||||
break;
|
||||
case EXTR_PREFIX_ALL:
|
||||
case PHP_EXTR_PREFIX_ALL:
|
||||
count = php_extract_prefix_all(Z_ARRVAL(array_copy), symbol_table, prefix);
|
||||
break;
|
||||
case EXTR_PREFIX_INVALID:
|
||||
case PHP_EXTR_PREFIX_INVALID:
|
||||
count = php_extract_prefix_invalid(Z_ARRVAL(array_copy), symbol_table, prefix);
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -2,6 +2,126 @@
|
|||
|
||||
/** @generate-class-entries */
|
||||
|
||||
/* array.c */
|
||||
|
||||
/**
|
||||
* @var int
|
||||
* @cvalue PHP_EXTR_OVERWRITE
|
||||
*/
|
||||
const EXTR_OVERWRITE = UNKNOWN;
|
||||
/**
|
||||
* @var int
|
||||
* @cvalue PHP_EXTR_SKIP
|
||||
*/
|
||||
const EXTR_SKIP = UNKNOWN;
|
||||
/**
|
||||
* @var int
|
||||
* @cvalue PHP_EXTR_PREFIX_SAME
|
||||
*/
|
||||
const EXTR_PREFIX_SAME = UNKNOWN;
|
||||
/**
|
||||
* @var int
|
||||
* @cvalue PHP_EXTR_PREFIX_ALL
|
||||
*/
|
||||
const EXTR_PREFIX_ALL = UNKNOWN;
|
||||
/**
|
||||
* @var int
|
||||
* @cvalue PHP_EXTR_PREFIX_INVALID
|
||||
*/
|
||||
const EXTR_PREFIX_INVALID = UNKNOWN;
|
||||
/**
|
||||
* @var int
|
||||
* @cvalue PHP_EXTR_PREFIX_IF_EXISTS
|
||||
*/
|
||||
const EXTR_PREFIX_IF_EXISTS = UNKNOWN;
|
||||
/**
|
||||
* @var int
|
||||
* @cvalue PHP_EXTR_IF_EXISTS
|
||||
*/
|
||||
const EXTR_IF_EXISTS = UNKNOWN;
|
||||
/**
|
||||
* @var int
|
||||
* @cvalue PHP_EXTR_REFS
|
||||
*/
|
||||
const EXTR_REFS = UNKNOWN;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
* @cvalue PHP_SORT_ASC
|
||||
*/
|
||||
const SORT_ASC = UNKNOWN;
|
||||
/**
|
||||
* @var int
|
||||
* @cvalue PHP_SORT_DESC
|
||||
*/
|
||||
const SORT_DESC = UNKNOWN;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
* @cvalue PHP_SORT_REGULAR
|
||||
*/
|
||||
const SORT_REGULAR = UNKNOWN;
|
||||
/**
|
||||
* @var int
|
||||
* @cvalue PHP_SORT_NUMERIC
|
||||
*/
|
||||
const SORT_NUMERIC = UNKNOWN;
|
||||
/**
|
||||
* @var int
|
||||
* @cvalue PHP_SORT_STRING
|
||||
*/
|
||||
const SORT_STRING = UNKNOWN;
|
||||
/**
|
||||
* @var int
|
||||
* @cvalue PHP_SORT_LOCALE_STRING
|
||||
*/
|
||||
const SORT_LOCALE_STRING = UNKNOWN;
|
||||
/**
|
||||
* @var int
|
||||
* @cvalue PHP_SORT_NATURAL
|
||||
*/
|
||||
const SORT_NATURAL = UNKNOWN;
|
||||
/**
|
||||
* @var int
|
||||
* @cvalue PHP_SORT_FLAG_CASE
|
||||
*/
|
||||
const SORT_FLAG_CASE = UNKNOWN;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
* @cvalue PHP_CASE_LOWER
|
||||
*/
|
||||
const CASE_LOWER = UNKNOWN;
|
||||
/**
|
||||
* @var int
|
||||
* @cvalue PHP_CASE_UPPER
|
||||
*/
|
||||
const CASE_UPPER = UNKNOWN;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
* @cvalue PHP_COUNT_NORMAL
|
||||
*/
|
||||
const COUNT_NORMAL = UNKNOWN;
|
||||
/**
|
||||
* @var int
|
||||
* @cvalue PHP_COUNT_RECURSIVE
|
||||
*/
|
||||
const COUNT_RECURSIVE = UNKNOWN;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
* @cvalue ARRAY_FILTER_USE_BOTH
|
||||
*/
|
||||
const ARRAY_FILTER_USE_BOTH = UNKNOWN;
|
||||
/**
|
||||
* @var int
|
||||
* @cvalue ARRAY_FILTER_USE_KEY
|
||||
*/
|
||||
const ARRAY_FILTER_USE_KEY = UNKNOWN;
|
||||
|
||||
/* basic_functions.h */
|
||||
|
||||
/**
|
||||
* @var float
|
||||
* @cvalue M_E
|
||||
|
|
24
ext/standard/basic_functions_arginfo.h
generated
24
ext/standard/basic_functions_arginfo.h
generated
|
@ -1,5 +1,5 @@
|
|||
/* This is a generated file, edit the .stub.php file instead.
|
||||
* Stub hash: a4c98e83e51a9546a89797b80bdd8771ef0075f9 */
|
||||
* Stub hash: 51ffd17ba03a2a419b94ef633a621dbf90eb16ee */
|
||||
|
||||
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)
|
||||
|
@ -3483,6 +3483,28 @@ static const zend_function_entry class_AssertionError_methods[] = {
|
|||
|
||||
static void register_basic_functions_symbols(int module_number)
|
||||
{
|
||||
REGISTER_LONG_CONSTANT("EXTR_OVERWRITE", PHP_EXTR_OVERWRITE, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("EXTR_SKIP", PHP_EXTR_SKIP, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("EXTR_PREFIX_SAME", PHP_EXTR_PREFIX_SAME, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("EXTR_PREFIX_ALL", PHP_EXTR_PREFIX_ALL, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("EXTR_PREFIX_INVALID", PHP_EXTR_PREFIX_INVALID, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("EXTR_PREFIX_IF_EXISTS", PHP_EXTR_PREFIX_IF_EXISTS, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("EXTR_IF_EXISTS", PHP_EXTR_IF_EXISTS, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("EXTR_REFS", PHP_EXTR_REFS, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("SORT_ASC", PHP_SORT_ASC, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("SORT_DESC", PHP_SORT_DESC, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("SORT_REGULAR", PHP_SORT_REGULAR, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("SORT_NUMERIC", PHP_SORT_NUMERIC, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("SORT_STRING", PHP_SORT_STRING, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("SORT_LOCALE_STRING", PHP_SORT_LOCALE_STRING, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("SORT_NATURAL", PHP_SORT_NATURAL, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("SORT_FLAG_CASE", PHP_SORT_FLAG_CASE, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("CASE_LOWER", PHP_CASE_LOWER, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("CASE_UPPER", PHP_CASE_UPPER, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("COUNT_NORMAL", PHP_COUNT_NORMAL, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("COUNT_RECURSIVE", PHP_COUNT_RECURSIVE, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("ARRAY_FILTER_USE_BOTH", ARRAY_FILTER_USE_BOTH, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("ARRAY_FILTER_USE_KEY", ARRAY_FILTER_USE_KEY, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_DOUBLE_CONSTANT("M_E", M_E, CONST_CS | CONST_PERSISTENT);
|
||||
ZEND_ASSERT(M_E == 2.718281828459045);
|
||||
|
||||
|
|
|
@ -34,6 +34,19 @@ PHPAPI zend_long php_count_recursive(HashTable *ht);
|
|||
PHPAPI bool php_array_data_shuffle(const php_random_algo *algo, php_random_status *status, zval *array);
|
||||
PHPAPI bool php_array_pick_keys(const php_random_algo *algo, php_random_status *status, zval *input, zend_long num_req, zval *retval, bool silent);
|
||||
|
||||
#define PHP_EXTR_OVERWRITE 0
|
||||
#define PHP_EXTR_SKIP 1
|
||||
#define PHP_EXTR_PREFIX_SAME 2
|
||||
#define PHP_EXTR_PREFIX_ALL 3
|
||||
#define PHP_EXTR_PREFIX_INVALID 4
|
||||
#define PHP_EXTR_PREFIX_IF_EXISTS 5
|
||||
#define PHP_EXTR_IF_EXISTS 6
|
||||
|
||||
#define PHP_EXTR_REFS 0x100
|
||||
|
||||
#define PHP_CASE_LOWER 0
|
||||
#define PHP_CASE_UPPER 1
|
||||
|
||||
#define PHP_SORT_REGULAR 0
|
||||
#define PHP_SORT_NUMERIC 1
|
||||
#define PHP_SORT_STRING 2
|
||||
|
@ -43,8 +56,8 @@ PHPAPI bool php_array_pick_keys(const php_random_algo *algo, php_random_status *
|
|||
#define PHP_SORT_NATURAL 6
|
||||
#define PHP_SORT_FLAG_CASE 8
|
||||
|
||||
#define COUNT_NORMAL 0
|
||||
#define COUNT_RECURSIVE 1
|
||||
#define PHP_COUNT_NORMAL 0
|
||||
#define PHP_COUNT_RECURSIVE 1
|
||||
|
||||
#define ARRAY_FILTER_USE_BOTH 1
|
||||
#define ARRAY_FILTER_USE_KEY 2
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue