Skip to content

Declare ext/standard constants in stubs - part 1 #9404

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Aug 24, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 0 additions & 40 deletions ext/standard/array.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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;
}
/* }}} */
Expand Down
120 changes: 120 additions & 0 deletions ext/standard/basic_functions.stub.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,126 @@

/** @generate-class-entries */

/* array.c */

/**
* @var int
* @cvalue EXTR_OVERWRITE
*/
const EXTR_OVERWRITE = UNKNOWN;
/**
* @var int
* @cvalue EXTR_SKIP
*/
const EXTR_SKIP = UNKNOWN;
/**
* @var int
* @cvalue EXTR_PREFIX_SAME
*/
const EXTR_PREFIX_SAME = UNKNOWN;
/**
* @var int
* @cvalue EXTR_PREFIX_ALL
*/
const EXTR_PREFIX_ALL = UNKNOWN;
/**
* @var int
* @cvalue EXTR_PREFIX_INVALID
*/
const EXTR_PREFIX_INVALID = UNKNOWN;
/**
* @var int
* @cvalue EXTR_PREFIX_IF_EXISTS
*/
const EXTR_PREFIX_IF_EXISTS = UNKNOWN;
/**
* @var int
* @cvalue EXTR_IF_EXISTS
*/
const EXTR_IF_EXISTS = UNKNOWN;
/**
* @var int
* @cvalue 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 CASE_LOWER
*/
const CASE_LOWER = UNKNOWN;
/**
* @var int
* @cvalue CASE_UPPER
*/
const CASE_UPPER = UNKNOWN;

/**
* @var int
* @cvalue COUNT_NORMAL
*/
const COUNT_NORMAL = UNKNOWN;
/**
* @var int
* @cvalue 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
Expand Down
24 changes: 23 additions & 1 deletion ext/standard/basic_functions_arginfo.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions ext/standard/php_array.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 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 PHP_SORT_REGULAR 0
#define PHP_SORT_NUMERIC 1
#define PHP_SORT_STRING 2
Expand Down