From: Máté Kocsis Date: Sat, 25 Apr 2020 17:08:53 +0000 (+0200) Subject: Generate methods entries from stubs for ext/spl X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d7f7080bb5b42a4dd2d08c91c02645b9d9a74a50;p=php Generate methods entries from stubs for ext/spl Closes GH-5458 --- diff --git a/ext/spl/php_spl.c b/ext/spl/php_spl.c index 9ccb9da3a5..759218e802 100644 --- a/ext/spl/php_spl.c +++ b/ext/spl/php_spl.c @@ -893,28 +893,6 @@ PHP_MINFO_FUNCTION(spl) } /* }}} */ -/* {{{ spl_functions - */ -static const zend_function_entry spl_functions[] = { - PHP_FE(spl_classes, arginfo_spl_classes) - PHP_FE(spl_autoload, arginfo_spl_autoload) - PHP_FE(spl_autoload_extensions, arginfo_spl_autoload_extensions) - PHP_FE(spl_autoload_register, arginfo_spl_autoload_register) - PHP_FE(spl_autoload_unregister, arginfo_spl_autoload_unregister) - PHP_FE(spl_autoload_functions, arginfo_spl_autoload_functions) - PHP_FE(spl_autoload_call, arginfo_spl_autoload_call) - PHP_FE(class_parents, arginfo_class_parents) - PHP_FE(class_implements, arginfo_class_implements) - PHP_FE(class_uses, arginfo_class_uses) - PHP_FE(spl_object_hash, arginfo_spl_object_hash) - PHP_FE(spl_object_id, arginfo_spl_object_id) - PHP_FE(iterator_to_array, arginfo_iterator_to_array) - PHP_FE(iterator_count, arginfo_iterator_count) - PHP_FE(iterator_apply, arginfo_iterator_apply) - PHP_FE_END -}; -/* }}} */ - /* {{{ PHP_MINIT_FUNCTION(spl) */ PHP_MINIT_FUNCTION(spl) @@ -966,7 +944,7 @@ PHP_RSHUTDOWN_FUNCTION(spl) /* {{{ */ zend_module_entry spl_module_entry = { STANDARD_MODULE_HEADER, "SPL", - spl_functions, + ext_functions, PHP_MINIT(spl), NULL, PHP_RINIT(spl), diff --git a/ext/spl/php_spl.h b/ext/spl/php_spl.h index 61fc80ac1d..a4aaba4690 100644 --- a/ext/spl/php_spl.h +++ b/ext/spl/php_spl.h @@ -63,11 +63,6 @@ ZEND_END_MODULE_GLOBALS(spl) ZEND_EXTERN_MODULE_GLOBALS(spl) #define SPL_G(v) ZEND_MODULE_GLOBALS_ACCESSOR(spl, v) -PHP_FUNCTION(spl_classes); -PHP_FUNCTION(class_parents); -PHP_FUNCTION(class_implements); -PHP_FUNCTION(class_uses); - PHPAPI zend_string *php_spl_object_hash(zval *obj); #endif /* PHP_SPL_H */ diff --git a/ext/spl/php_spl.stub.php b/ext/spl/php_spl.stub.php index 1ff967358e..8811e1913a 100755 --- a/ext/spl/php_spl.stub.php +++ b/ext/spl/php_spl.stub.php @@ -1,5 +1,7 @@ get_iterator = spl_array_get_iterator; spl_ce_RecursiveArrayIterator->ce_flags |= ZEND_ACC_REUSE_GET_ITERATOR; diff --git a/ext/spl/spl_array.stub.php b/ext/spl/spl_array.stub.php index a68a482edd..41cc787b16 100755 --- a/ext/spl/spl_array.stub.php +++ b/ext/spl/spl_array.stub.php @@ -1,5 +1,7 @@ flags, SPL_FILE_DIR_SKIPDOTS); @@ -831,7 +831,7 @@ SPL_METHOD(DirectoryIterator, next) /* {{{ proto void DirectoryIterator::seek(int position) Seek to the given position */ -SPL_METHOD(DirectoryIterator, seek) +PHP_METHOD(DirectoryIterator, seek) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); zval retval; @@ -861,7 +861,7 @@ SPL_METHOD(DirectoryIterator, seek) /* {{{ proto string DirectoryIterator::valid() Check whether dir contains more entries */ -SPL_METHOD(DirectoryIterator, valid) +PHP_METHOD(DirectoryIterator, valid) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -875,7 +875,7 @@ SPL_METHOD(DirectoryIterator, valid) /* {{{ proto string SplFileInfo::getPath() Return the path */ -SPL_METHOD(SplFileInfo, getPath) +PHP_METHOD(SplFileInfo, getPath) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); char *path; @@ -896,7 +896,7 @@ SPL_METHOD(SplFileInfo, getPath) /* {{{ proto string SplFileInfo::getFilename() Return filename only */ -SPL_METHOD(SplFileInfo, getFilename) +PHP_METHOD(SplFileInfo, getFilename) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); size_t path_len; @@ -917,7 +917,7 @@ SPL_METHOD(SplFileInfo, getFilename) /* {{{ proto string DirectoryIterator::getFilename() Return filename of current dir entry */ -SPL_METHOD(DirectoryIterator, getFilename) +PHP_METHOD(DirectoryIterator, getFilename) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -931,7 +931,7 @@ SPL_METHOD(DirectoryIterator, getFilename) /* {{{ proto string SplFileInfo::getExtension() Returns file extension component of path */ -SPL_METHOD(SplFileInfo, getExtension) +PHP_METHOD(SplFileInfo, getExtension) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); char *fname = NULL; @@ -972,7 +972,7 @@ SPL_METHOD(SplFileInfo, getExtension) /* {{{ proto string DirectoryIterator::getExtension() Returns the file extension component of path */ -SPL_METHOD(DirectoryIterator, getExtension) +PHP_METHOD(DirectoryIterator, getExtension) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); const char *p; @@ -999,7 +999,7 @@ SPL_METHOD(DirectoryIterator, getExtension) /* {{{ proto string SplFileInfo::getBasename([string $suffix]) Returns filename component of path */ -SPL_METHOD(SplFileInfo, getBasename) +PHP_METHOD(SplFileInfo, getBasename) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); char *fname, *suffix = 0; @@ -1026,7 +1026,7 @@ SPL_METHOD(SplFileInfo, getBasename) /* {{{ proto string DirectoryIterator::getBasename([string $suffix]) Returns filename component of current dir entry */ -SPL_METHOD(DirectoryIterator, getBasename) +PHP_METHOD(DirectoryIterator, getBasename) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); char *suffix = 0; @@ -1045,7 +1045,7 @@ SPL_METHOD(DirectoryIterator, getBasename) /* {{{ proto string SplFileInfo::getPathname() Return path and filename */ -SPL_METHOD(SplFileInfo, getPathname) +PHP_METHOD(SplFileInfo, getPathname) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); char *path; @@ -1065,7 +1065,7 @@ SPL_METHOD(SplFileInfo, getPathname) /* {{{ proto string FilesystemIterator::key() Return getPathname() or getFilename() depending on flags */ -SPL_METHOD(FilesystemIterator, key) +PHP_METHOD(FilesystemIterator, key) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -1084,7 +1084,7 @@ SPL_METHOD(FilesystemIterator, key) /* {{{ proto string FilesystemIterator::current() Return getFilename(), getFileInfo() or $this depending on flags */ -SPL_METHOD(FilesystemIterator, current) +PHP_METHOD(FilesystemIterator, current) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -1107,7 +1107,7 @@ SPL_METHOD(FilesystemIterator, current) /* {{{ proto bool DirectoryIterator::isDot() Returns true if current entry is '.' or '..' */ -SPL_METHOD(DirectoryIterator, isDot) +PHP_METHOD(DirectoryIterator, isDot) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -1124,7 +1124,7 @@ SPL_METHOD(DirectoryIterator, isDot) /* When the constructor gets called the object is already created by the engine, so we must only call 'additional' initializations. */ -SPL_METHOD(SplFileInfo, __construct) +PHP_METHOD(SplFileInfo, __construct) { spl_filesystem_object *intern; char *path; @@ -1144,7 +1144,7 @@ SPL_METHOD(SplFileInfo, __construct) /* {{{ FileInfoFunction */ #define FileInfoFunction(func_name, func_num) \ -SPL_METHOD(SplFileInfo, func_name) \ +PHP_METHOD(SplFileInfo, func_name) \ { \ spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); \ zend_error_handling error_handling; \ @@ -1236,7 +1236,7 @@ FileInfoFunction(isLink, FS_IS_LINK) /* {{{ proto string SplFileInfo::getLinkTarget() Return the target of a symbolic link */ -SPL_METHOD(SplFileInfo, getLinkTarget) +PHP_METHOD(SplFileInfo, getLinkTarget) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); ssize_t ret; @@ -1286,7 +1286,7 @@ SPL_METHOD(SplFileInfo, getLinkTarget) /* {{{ proto string SplFileInfo::getRealPath() Return the resolved path */ -SPL_METHOD(SplFileInfo, getRealPath) +PHP_METHOD(SplFileInfo, getRealPath) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); char buff[MAXPATHLEN]; @@ -1327,7 +1327,7 @@ SPL_METHOD(SplFileInfo, getRealPath) /* {{{ proto SplFileObject SplFileInfo::openFile([string mode = 'r' [, bool use_include_path [, resource context]]]) Open the current file */ -SPL_METHOD(SplFileInfo, openFile) +PHP_METHOD(SplFileInfo, openFile) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -1337,7 +1337,7 @@ SPL_METHOD(SplFileInfo, openFile) /* {{{ proto void SplFileInfo::setFileClass([string class_name]) Class to use in openFile() */ -SPL_METHOD(SplFileInfo, setFileClass) +PHP_METHOD(SplFileInfo, setFileClass) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); zend_class_entry *ce = spl_ce_SplFileObject; @@ -1352,7 +1352,7 @@ SPL_METHOD(SplFileInfo, setFileClass) /* {{{ proto void SplFileInfo::setInfoClass([string class_name]) Class to use in getFileInfo(), getPathInfo() */ -SPL_METHOD(SplFileInfo, setInfoClass) +PHP_METHOD(SplFileInfo, setInfoClass) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); zend_class_entry *ce = spl_ce_SplFileInfo; @@ -1367,7 +1367,7 @@ SPL_METHOD(SplFileInfo, setInfoClass) /* {{{ proto SplFileInfo SplFileInfo::getFileInfo([string $class_name]) Get/copy file info */ -SPL_METHOD(SplFileInfo, getFileInfo) +PHP_METHOD(SplFileInfo, getFileInfo) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); zend_class_entry *ce = intern->info_class; @@ -1382,7 +1382,7 @@ SPL_METHOD(SplFileInfo, getFileInfo) /* {{{ proto SplFileInfo SplFileInfo::getPathInfo([string $class_name]) Get/copy file info */ -SPL_METHOD(SplFileInfo, getPathInfo) +PHP_METHOD(SplFileInfo, getPathInfo) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); zend_class_entry *ce = intern->info_class; @@ -1404,7 +1404,7 @@ SPL_METHOD(SplFileInfo, getPathInfo) /* }}} */ /* {{{ proto void SplFileInfo::__debugInfo() */ -SPL_METHOD(SplFileInfo, __debugInfo) +PHP_METHOD(SplFileInfo, __debugInfo) { if (zend_parse_parameters_none() == FAILURE) { return; @@ -1414,7 +1414,7 @@ SPL_METHOD(SplFileInfo, __debugInfo) } /* }}} */ /* {{{ proto SplFileInfo::_bad_state_ex(void) */ -SPL_METHOD(SplFileInfo, _bad_state_ex) +PHP_METHOD(SplFileInfo, _bad_state_ex) { zend_throw_exception_ex(spl_ce_LogicException, 0, "The parent constructor was not called: the object is in an " @@ -1424,7 +1424,7 @@ SPL_METHOD(SplFileInfo, _bad_state_ex) /* {{{ proto FilesystemIterator::__construct(string path [, int flags]) Cronstructs a new dir iterator from a path. */ -SPL_METHOD(FilesystemIterator, __construct) +PHP_METHOD(FilesystemIterator, __construct) { spl_filesystem_object_construct(INTERNAL_FUNCTION_PARAM_PASSTHRU, DIT_CTOR_FLAGS | SPL_FILE_DIR_SKIPDOTS); } @@ -1432,7 +1432,7 @@ SPL_METHOD(FilesystemIterator, __construct) /* {{{ proto void FilesystemIterator::rewind() Rewind dir back to the start */ -SPL_METHOD(FilesystemIterator, rewind) +PHP_METHOD(FilesystemIterator, rewind) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); int skip_dots = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_SKIPDOTS); @@ -1453,7 +1453,7 @@ SPL_METHOD(FilesystemIterator, rewind) /* {{{ proto int FilesystemIterator::getFlags() Get handling flags */ -SPL_METHOD(FilesystemIterator, getFlags) +PHP_METHOD(FilesystemIterator, getFlags) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -1466,7 +1466,7 @@ SPL_METHOD(FilesystemIterator, getFlags) /* {{{ proto void FilesystemIterator::setFlags(long $flags) Set handling flags */ -SPL_METHOD(FilesystemIterator, setFlags) +PHP_METHOD(FilesystemIterator, setFlags) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); zend_long flags; @@ -1481,7 +1481,7 @@ SPL_METHOD(FilesystemIterator, setFlags) /* {{{ proto bool RecursiveDirectoryIterator::hasChildren([bool $allow_links = false]) Returns whether current entry is a directory and not '.' or '..' */ -SPL_METHOD(RecursiveDirectoryIterator, hasChildren) +PHP_METHOD(RecursiveDirectoryIterator, hasChildren) { zend_bool allow_links = 0; spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -1506,7 +1506,7 @@ SPL_METHOD(RecursiveDirectoryIterator, hasChildren) /* {{{ proto RecursiveDirectoryIterator DirectoryIterator::getChildren() Returns an iterator for the current entry if it is a directory */ -SPL_METHOD(RecursiveDirectoryIterator, getChildren) +PHP_METHOD(RecursiveDirectoryIterator, getChildren) { zval zpath, zflags; spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -1541,7 +1541,7 @@ SPL_METHOD(RecursiveDirectoryIterator, getChildren) /* {{{ proto void RecursiveDirectoryIterator::getSubPath() Get sub path */ -SPL_METHOD(RecursiveDirectoryIterator, getSubPath) +PHP_METHOD(RecursiveDirectoryIterator, getSubPath) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -1559,7 +1559,7 @@ SPL_METHOD(RecursiveDirectoryIterator, getSubPath) /* {{{ proto void RecursiveDirectoryIterator::getSubPathname() Get sub path and file name */ -SPL_METHOD(RecursiveDirectoryIterator, getSubPathname) +PHP_METHOD(RecursiveDirectoryIterator, getSubPathname) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); char slash = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_UNIXPATHS) ? '/' : DEFAULT_SLASH; @@ -1578,7 +1578,7 @@ SPL_METHOD(RecursiveDirectoryIterator, getSubPathname) /* {{{ proto RecursiveDirectoryIterator::__construct(string path [, int flags]) Cronstructs a new dir iterator from a path. */ -SPL_METHOD(RecursiveDirectoryIterator, __construct) +PHP_METHOD(RecursiveDirectoryIterator, __construct) { spl_filesystem_object_construct(INTERNAL_FUNCTION_PARAM_PASSTHRU, DIT_CTOR_FLAGS); } @@ -1587,7 +1587,7 @@ SPL_METHOD(RecursiveDirectoryIterator, __construct) #ifdef HAVE_GLOB /* {{{ proto GlobIterator::__construct(string path [, int flags]) Cronstructs a new dir iterator from a glob expression (no glob:// needed). */ -SPL_METHOD(GlobIterator, __construct) +PHP_METHOD(GlobIterator, __construct) { spl_filesystem_object_construct(INTERNAL_FUNCTION_PARAM_PASSTHRU, DIT_CTOR_FLAGS|DIT_CTOR_GLOB); } @@ -1595,7 +1595,7 @@ SPL_METHOD(GlobIterator, __construct) /* {{{ proto int GlobIterator::count() Return the number of directories and files found by globbing */ -SPL_METHOD(GlobIterator, count) +PHP_METHOD(GlobIterator, count) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -1883,90 +1883,6 @@ static int spl_filesystem_object_cast(zend_object *readobj, zval *writeobj, int } /* }}} */ -/* the method table */ -/* each method can have its own parameters and visibility */ -static const zend_function_entry spl_SplFileInfo_functions[] = { - SPL_ME(SplFileInfo, __construct, arginfo_class_SplFileInfo___construct, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, getPath, arginfo_class_SplFileInfo_getPath, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, getFilename, arginfo_class_SplFileInfo_getFilename, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, getExtension, arginfo_class_SplFileInfo_getExtension, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, getBasename, arginfo_class_SplFileInfo_getBasename, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, getPathname, arginfo_class_SplFileInfo_getPathname, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, getPerms, arginfo_class_SplFileInfo_getPerms, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, getInode, arginfo_class_SplFileInfo_getInode, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, getSize, arginfo_class_SplFileInfo_getSize, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, getOwner, arginfo_class_SplFileInfo_getOwner, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, getGroup, arginfo_class_SplFileInfo_getGroup, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, getATime, arginfo_class_SplFileInfo_getATime, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, getMTime, arginfo_class_SplFileInfo_getMTime, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, getCTime, arginfo_class_SplFileInfo_getCTime, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, getType, arginfo_class_SplFileInfo_getType, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, isWritable, arginfo_class_SplFileInfo_isWritable, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, isReadable, arginfo_class_SplFileInfo_isReadable, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, isExecutable, arginfo_class_SplFileInfo_isExecutable, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, isFile, arginfo_class_SplFileInfo_isFile, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, isDir, arginfo_class_SplFileInfo_isDir, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, isLink, arginfo_class_SplFileInfo_isLink, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, getLinkTarget, arginfo_class_SplFileInfo_getLinkTarget, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, getRealPath, arginfo_class_SplFileInfo_getRealPath, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, getFileInfo, arginfo_class_SplFileInfo_getFileInfo, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, getPathInfo, arginfo_class_SplFileInfo_getPathInfo, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, openFile, arginfo_class_SplFileInfo_openFile, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, setFileClass, arginfo_class_SplFileInfo_setFileClass, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, setInfoClass, arginfo_class_SplFileInfo_setInfoClass, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, __debugInfo, arginfo_class_SplFileInfo___debugInfo, ZEND_ACC_PUBLIC) - SPL_ME(SplFileInfo, _bad_state_ex, arginfo_class_SplFileInfo__bad_state_ex, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL) - SPL_MA(SplFileInfo, __toString, SplFileInfo, getPathname, arginfo_class_SplFileInfo___toString, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - -/* the method table */ -/* each method can have its own parameters and visibility */ -static const zend_function_entry spl_DirectoryIterator_functions[] = { - SPL_ME(DirectoryIterator, __construct, arginfo_class_DirectoryIterator___construct, ZEND_ACC_PUBLIC) - SPL_ME(DirectoryIterator, getFilename, arginfo_class_DirectoryIterator_getFilename, ZEND_ACC_PUBLIC) - SPL_ME(DirectoryIterator, getExtension, arginfo_class_DirectoryIterator_getExtension, ZEND_ACC_PUBLIC) - SPL_ME(DirectoryIterator, getBasename, arginfo_class_DirectoryIterator_getBasename, ZEND_ACC_PUBLIC) - SPL_ME(DirectoryIterator, isDot, arginfo_class_DirectoryIterator_isDot, ZEND_ACC_PUBLIC) - SPL_ME(DirectoryIterator, rewind, arginfo_class_DirectoryIterator_rewind, ZEND_ACC_PUBLIC) - SPL_ME(DirectoryIterator, valid, arginfo_class_DirectoryIterator_valid, ZEND_ACC_PUBLIC) - SPL_ME(DirectoryIterator, key, arginfo_class_DirectoryIterator_key, ZEND_ACC_PUBLIC) - SPL_ME(DirectoryIterator, current, arginfo_class_DirectoryIterator_current, ZEND_ACC_PUBLIC) - SPL_ME(DirectoryIterator, next, arginfo_class_DirectoryIterator_next, ZEND_ACC_PUBLIC) - SPL_ME(DirectoryIterator, seek, arginfo_class_DirectoryIterator_seek, ZEND_ACC_PUBLIC) - SPL_MA(DirectoryIterator, __toString, DirectoryIterator, getFilename, arginfo_class_DirectoryIterator___toString, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - -static const zend_function_entry spl_FilesystemIterator_functions[] = { - SPL_ME(FilesystemIterator, __construct, arginfo_class_FilesystemIterator___construct, ZEND_ACC_PUBLIC) - SPL_ME(FilesystemIterator, rewind, arginfo_class_FilesystemIterator_rewind, ZEND_ACC_PUBLIC) - SPL_ME(DirectoryIterator, next, arginfo_class_FilesystemIterator_next, ZEND_ACC_PUBLIC) - SPL_ME(FilesystemIterator, key, arginfo_class_FilesystemIterator_key, ZEND_ACC_PUBLIC) - SPL_ME(FilesystemIterator, current, arginfo_class_FilesystemIterator_current, ZEND_ACC_PUBLIC) - SPL_ME(FilesystemIterator, getFlags, arginfo_class_FilesystemIterator_getFlags, ZEND_ACC_PUBLIC) - SPL_ME(FilesystemIterator, setFlags, arginfo_class_FilesystemIterator_setFlags, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - -static const zend_function_entry spl_RecursiveDirectoryIterator_functions[] = { - SPL_ME(RecursiveDirectoryIterator, __construct, arginfo_class_RecursiveDirectoryIterator___construct, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveDirectoryIterator, hasChildren, arginfo_class_RecursiveDirectoryIterator_hasChildren, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveDirectoryIterator, getChildren, arginfo_class_RecursiveDirectoryIterator_getChildren, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveDirectoryIterator, getSubPath, arginfo_class_RecursiveDirectoryIterator_getSubPath, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveDirectoryIterator, getSubPathname,arginfo_class_RecursiveDirectoryIterator_getSubPathname, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - -#ifdef HAVE_GLOB -static const zend_function_entry spl_GlobIterator_functions[] = { - SPL_ME(GlobIterator, __construct, arginfo_class_GlobIterator___construct, ZEND_ACC_PUBLIC) - SPL_ME(GlobIterator, count, arginfo_class_GlobIterator_count, ZEND_ACC_PUBLIC) - PHP_FE_END -}; -#endif -/* }}} */ - static int spl_filesystem_file_read(spl_filesystem_object *intern, int silent) /* {{{ */ { char *buf; @@ -2198,7 +2114,7 @@ static void spl_filesystem_file_rewind(zval * this_ptr, spl_filesystem_object *i /* {{{ proto SplFileObject::__construct(string filename [, string mode = 'r' [, bool use_include_path [, resource context]]]]) Construct a new file object */ -SPL_METHOD(SplFileObject, __construct) +PHP_METHOD(SplFileObject, __construct) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); zend_bool use_include_path = 0; @@ -2258,7 +2174,7 @@ SPL_METHOD(SplFileObject, __construct) /* {{{ proto SplTempFileObject::__construct([int max_memory]) Construct a new temp file object */ -SPL_METHOD(SplTempFileObject, __construct) +PHP_METHOD(SplTempFileObject, __construct) { zend_long max_memory = PHP_STREAM_MAX_MEM; char tmp_fname[48]; @@ -2292,7 +2208,7 @@ SPL_METHOD(SplTempFileObject, __construct) /* {{{ proto void SplFileObject::rewind() Rewind the file and read the first line */ -SPL_METHOD(SplFileObject, rewind) +PHP_METHOD(SplFileObject, rewind) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -2305,7 +2221,7 @@ SPL_METHOD(SplFileObject, rewind) /* {{{ proto void SplFileObject::eof() Return whether end of file is reached */ -SPL_METHOD(SplFileObject, eof) +PHP_METHOD(SplFileObject, eof) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -2323,7 +2239,7 @@ SPL_METHOD(SplFileObject, eof) /* {{{ proto void SplFileObject::valid() Return !eof() */ -SPL_METHOD(SplFileObject, valid) +PHP_METHOD(SplFileObject, valid) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -2343,7 +2259,7 @@ SPL_METHOD(SplFileObject, valid) /* {{{ proto string SplFileObject::fgets() Rturn next line from file */ -SPL_METHOD(SplFileObject, fgets) +PHP_METHOD(SplFileObject, fgets) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -2364,7 +2280,7 @@ SPL_METHOD(SplFileObject, fgets) /* {{{ proto string SplFileObject::current() Return current line from file */ -SPL_METHOD(SplFileObject, current) +PHP_METHOD(SplFileObject, current) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -2393,7 +2309,7 @@ SPL_METHOD(SplFileObject, current) /* {{{ proto int SplFileObject::key() Return line number */ -SPL_METHOD(SplFileObject, key) +PHP_METHOD(SplFileObject, key) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -2410,7 +2326,7 @@ SPL_METHOD(SplFileObject, key) /* {{{ proto void SplFileObject::next() Read next line */ -SPL_METHOD(SplFileObject, next) +PHP_METHOD(SplFileObject, next) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -2427,7 +2343,7 @@ SPL_METHOD(SplFileObject, next) /* {{{ proto void SplFileObject::setFlags(int flags) Set file handling flags */ -SPL_METHOD(SplFileObject, setFlags) +PHP_METHOD(SplFileObject, setFlags) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -2438,7 +2354,7 @@ SPL_METHOD(SplFileObject, setFlags) /* {{{ proto int SplFileObject::getFlags() Get file handling flags */ -SPL_METHOD(SplFileObject, getFlags) +PHP_METHOD(SplFileObject, getFlags) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -2451,7 +2367,7 @@ SPL_METHOD(SplFileObject, getFlags) /* {{{ proto void SplFileObject::setMaxLineLen(int max_len) Set maximum line length */ -SPL_METHOD(SplFileObject, setMaxLineLen) +PHP_METHOD(SplFileObject, setMaxLineLen) { zend_long max_len; @@ -2471,7 +2387,7 @@ SPL_METHOD(SplFileObject, setMaxLineLen) /* {{{ proto int SplFileObject::getMaxLineLen() Get maximum line length */ -SPL_METHOD(SplFileObject, getMaxLineLen) +PHP_METHOD(SplFileObject, getMaxLineLen) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -2484,7 +2400,7 @@ SPL_METHOD(SplFileObject, getMaxLineLen) /* {{{ proto bool SplFileObject::hasChildren() Return false */ -SPL_METHOD(SplFileObject, hasChildren) +PHP_METHOD(SplFileObject, hasChildren) { if (zend_parse_parameters_none() == FAILURE) { RETURN_THROWS(); @@ -2495,7 +2411,7 @@ SPL_METHOD(SplFileObject, hasChildren) /* {{{ proto bool SplFileObject::getChildren() Read NULL */ -SPL_METHOD(SplFileObject, getChildren) +PHP_METHOD(SplFileObject, getChildren) { if (zend_parse_parameters_none() == FAILURE) { RETURN_THROWS(); @@ -2505,7 +2421,7 @@ SPL_METHOD(SplFileObject, getChildren) /* {{{ FileFunction */ #define FileFunction(func_name) \ -SPL_METHOD(SplFileObject, func_name) \ +PHP_METHOD(SplFileObject, func_name) \ { \ spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); \ FileFunctionCall(func_name, ZEND_NUM_ARGS(), NULL); \ @@ -2514,7 +2430,7 @@ SPL_METHOD(SplFileObject, func_name) \ /* {{{ proto array SplFileObject::fgetcsv([string delimiter [, string enclosure [, escape = '\\']]]) Return current line as csv */ -SPL_METHOD(SplFileObject, fgetcsv) +PHP_METHOD(SplFileObject, fgetcsv) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); char delimiter = intern->u.file.delimiter, enclosure = intern->u.file.enclosure; @@ -2566,7 +2482,7 @@ SPL_METHOD(SplFileObject, fgetcsv) /* {{{ proto int SplFileObject::fputcsv(array fields, [string delimiter [, string enclosure [, string escape]]]) Output a field array as a CSV line */ -SPL_METHOD(SplFileObject, fputcsv) +PHP_METHOD(SplFileObject, fputcsv) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); char delimiter = intern->u.file.delimiter, enclosure = intern->u.file.enclosure; @@ -2621,7 +2537,7 @@ SPL_METHOD(SplFileObject, fputcsv) /* {{{ proto void SplFileObject::setCsvControl([string delimiter [, string enclosure [, string escape ]]]) Set the delimiter, enclosure and escape character used in fgetcsv */ -SPL_METHOD(SplFileObject, setCsvControl) +PHP_METHOD(SplFileObject, setCsvControl) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); char delimiter = ',', enclosure = '"'; @@ -2671,7 +2587,7 @@ SPL_METHOD(SplFileObject, setCsvControl) /* {{{ proto array SplFileObject::getCsvControl() Get the delimiter, enclosure and escape character used in fgetcsv */ -SPL_METHOD(SplFileObject, getCsvControl) +PHP_METHOD(SplFileObject, getCsvControl) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); char delimiter[2], enclosure[2], escape[2]; @@ -2702,7 +2618,7 @@ FileFunction(flock) /* {{{ proto bool SplFileObject::fflush() Flush the file */ -SPL_METHOD(SplFileObject, fflush) +PHP_METHOD(SplFileObject, fflush) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -2716,7 +2632,7 @@ SPL_METHOD(SplFileObject, fflush) /* {{{ proto int SplFileObject::ftell() Return current file position */ -SPL_METHOD(SplFileObject, ftell) +PHP_METHOD(SplFileObject, ftell) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); zend_long ret; @@ -2737,7 +2653,7 @@ SPL_METHOD(SplFileObject, ftell) /* {{{ proto int SplFileObject::fseek(int pos [, int whence = SEEK_SET]) Return current file position */ -SPL_METHOD(SplFileObject, fseek) +PHP_METHOD(SplFileObject, fseek) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); zend_long pos, whence = SEEK_SET; @@ -2757,7 +2673,7 @@ SPL_METHOD(SplFileObject, fseek) /* {{{ proto int SplFileObject::fgetc() Get a character form the file */ -SPL_METHOD(SplFileObject, fgetc) +PHP_METHOD(SplFileObject, fgetc) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); char buf[2]; @@ -2787,7 +2703,7 @@ SPL_METHOD(SplFileObject, fgetc) /* {{{ proto int SplFileObject::fpassthru() Output all remaining data from a file pointer */ -SPL_METHOD(SplFileObject, fpassthru) +PHP_METHOD(SplFileObject, fpassthru) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -2801,7 +2717,7 @@ SPL_METHOD(SplFileObject, fpassthru) /* {{{ proto bool SplFileObject::fscanf(string format [, string ...]) Implements a mostly ANSI compatible fscanf() */ -SPL_METHOD(SplFileObject, fscanf) +PHP_METHOD(SplFileObject, fscanf) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); @@ -2819,7 +2735,7 @@ SPL_METHOD(SplFileObject, fscanf) /* {{{ proto int|false SplFileObject::fwrite(string str [, int length]) Binary-safe file write */ -SPL_METHOD(SplFileObject, fwrite) +PHP_METHOD(SplFileObject, fwrite) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); char *str; @@ -2855,7 +2771,7 @@ SPL_METHOD(SplFileObject, fwrite) RETURN_LONG(written); } /* }}} */ -SPL_METHOD(SplFileObject, fread) +PHP_METHOD(SplFileObject, fread) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); zend_long length = 0; @@ -2889,7 +2805,7 @@ FileFunction(fstat) /* {{{ proto bool SplFileObject::ftruncate(int size) Truncate file to 'size' length */ -SPL_METHOD(SplFileObject, ftruncate) +PHP_METHOD(SplFileObject, ftruncate) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); zend_long size; @@ -2913,7 +2829,7 @@ SPL_METHOD(SplFileObject, ftruncate) /* {{{ proto void SplFileObject::seek(int line_pos) Seek to specified line */ -SPL_METHOD(SplFileObject, seek) +PHP_METHOD(SplFileObject, seek) { spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(ZEND_THIS); zend_long line_pos; @@ -2940,54 +2856,11 @@ SPL_METHOD(SplFileObject, seek) } } /* }}} */ -static const zend_function_entry spl_SplFileObject_functions[] = { - SPL_ME(SplFileObject, __construct, arginfo_class_SplFileObject___construct, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, rewind, arginfo_class_SplFileObject_rewind, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, eof, arginfo_class_SplFileObject_eof, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, valid, arginfo_class_SplFileObject_valid, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, fgets, arginfo_class_SplFileObject_fgets, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, fgetcsv, arginfo_class_SplFileObject_fgetcsv, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, fputcsv, arginfo_class_SplFileObject_fputcsv, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, setCsvControl, arginfo_class_SplFileObject_setCsvControl, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, getCsvControl, arginfo_class_SplFileObject_getCsvControl, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, flock, arginfo_class_SplFileObject_flock, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, fflush, arginfo_class_SplFileObject_fflush, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, ftell, arginfo_class_SplFileObject_ftell, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, fseek, arginfo_class_SplFileObject_fseek, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, fgetc, arginfo_class_SplFileObject_fgetc, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, fpassthru, arginfo_class_SplFileObject_fpassthru, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, fscanf, arginfo_class_SplFileObject_fscanf, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, fwrite, arginfo_class_SplFileObject_fwrite, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, fread, arginfo_class_SplFileObject_fread, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, fstat, arginfo_class_SplFileObject_fstat, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, ftruncate, arginfo_class_SplFileObject_ftruncate, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, current, arginfo_class_SplFileObject_current, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, key, arginfo_class_SplFileObject_key, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, next, arginfo_class_SplFileObject_next, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, setFlags, arginfo_class_SplFileObject_setFlags, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, getFlags, arginfo_class_SplFileObject_getFlags, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, setMaxLineLen, arginfo_class_SplFileObject_setMaxLineLen, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, getMaxLineLen, arginfo_class_SplFileObject_getMaxLineLen, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, hasChildren, arginfo_class_SplFileObject_hasChildren, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, getChildren, arginfo_class_SplFileObject_getChildren, ZEND_ACC_PUBLIC) - SPL_ME(SplFileObject, seek, arginfo_class_SplFileObject_seek, ZEND_ACC_PUBLIC) - /* mappings */ - SPL_MA(SplFileObject, getCurrentLine, SplFileObject, fgets, arginfo_class_SplFileObject_getCurrentLine, ZEND_ACC_PUBLIC) - SPL_MA(SplFileObject, __toString, SplFileObject, fgets, arginfo_class_SplFileObject___toString, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - -static const zend_function_entry spl_SplTempFileObject_functions[] = { - SPL_ME(SplTempFileObject, __construct, arginfo_class_SplTempFileObject___construct, ZEND_ACC_PUBLIC) - PHP_FE_END -}; -/* }}} */ - /* {{{ PHP_MINIT_FUNCTION(spl_directory) */ PHP_MINIT_FUNCTION(spl_directory) { - REGISTER_SPL_STD_CLASS_EX(SplFileInfo, spl_filesystem_object_new, spl_SplFileInfo_functions); + REGISTER_SPL_STD_CLASS_EX(SplFileInfo, spl_filesystem_object_new, class_SplFileInfo_methods); memcpy(&spl_filesystem_object_handlers, &std_object_handlers, sizeof(zend_object_handlers)); spl_filesystem_object_handlers.offset = XtOffsetOf(spl_filesystem_object, std); spl_filesystem_object_handlers.clone_obj = spl_filesystem_object_clone; @@ -2999,13 +2872,13 @@ PHP_MINIT_FUNCTION(spl_directory) REGISTER_SPL_IMPLEMENTS(SplFileInfo, Stringable); - REGISTER_SPL_SUB_CLASS_EX(DirectoryIterator, SplFileInfo, spl_filesystem_object_new, spl_DirectoryIterator_functions); + REGISTER_SPL_SUB_CLASS_EX(DirectoryIterator, SplFileInfo, spl_filesystem_object_new, class_DirectoryIterator_methods); zend_class_implements(spl_ce_DirectoryIterator, 1, zend_ce_iterator); REGISTER_SPL_IMPLEMENTS(DirectoryIterator, SeekableIterator); spl_ce_DirectoryIterator->get_iterator = spl_filesystem_dir_get_iterator; - REGISTER_SPL_SUB_CLASS_EX(FilesystemIterator, DirectoryIterator, spl_filesystem_object_new, spl_FilesystemIterator_functions); + REGISTER_SPL_SUB_CLASS_EX(FilesystemIterator, DirectoryIterator, spl_filesystem_object_new, class_FilesystemIterator_methods); REGISTER_SPL_CLASS_CONST_LONG(FilesystemIterator, "CURRENT_MODE_MASK", SPL_FILE_DIR_CURRENT_MODE_MASK); REGISTER_SPL_CLASS_CONST_LONG(FilesystemIterator, "CURRENT_AS_PATHNAME", SPL_FILE_DIR_CURRENT_AS_PATHNAME); @@ -3022,7 +2895,7 @@ PHP_MINIT_FUNCTION(spl_directory) spl_ce_FilesystemIterator->get_iterator = spl_filesystem_tree_get_iterator; - REGISTER_SPL_SUB_CLASS_EX(RecursiveDirectoryIterator, FilesystemIterator, spl_filesystem_object_new, spl_RecursiveDirectoryIterator_functions); + REGISTER_SPL_SUB_CLASS_EX(RecursiveDirectoryIterator, FilesystemIterator, spl_filesystem_object_new, class_RecursiveDirectoryIterator_methods); REGISTER_SPL_IMPLEMENTS(RecursiveDirectoryIterator, RecursiveIterator); memcpy(&spl_filesystem_object_check_handlers, &spl_filesystem_object_handlers, sizeof(zend_object_handlers)); @@ -3030,11 +2903,11 @@ PHP_MINIT_FUNCTION(spl_directory) spl_filesystem_object_check_handlers.get_method = spl_filesystem_object_get_method_check; #ifdef HAVE_GLOB - REGISTER_SPL_SUB_CLASS_EX(GlobIterator, FilesystemIterator, spl_filesystem_object_new_check, spl_GlobIterator_functions); + REGISTER_SPL_SUB_CLASS_EX(GlobIterator, FilesystemIterator, spl_filesystem_object_new_check, class_GlobIterator_methods); REGISTER_SPL_IMPLEMENTS(GlobIterator, Countable); #endif - REGISTER_SPL_SUB_CLASS_EX(SplFileObject, SplFileInfo, spl_filesystem_object_new_check, spl_SplFileObject_functions); + REGISTER_SPL_SUB_CLASS_EX(SplFileObject, SplFileInfo, spl_filesystem_object_new_check, class_SplFileObject_methods); REGISTER_SPL_IMPLEMENTS(SplFileObject, RecursiveIterator); REGISTER_SPL_IMPLEMENTS(SplFileObject, SeekableIterator); @@ -3043,7 +2916,7 @@ PHP_MINIT_FUNCTION(spl_directory) REGISTER_SPL_CLASS_CONST_LONG(SplFileObject, "SKIP_EMPTY", SPL_FILE_OBJECT_SKIP_EMPTY); REGISTER_SPL_CLASS_CONST_LONG(SplFileObject, "READ_CSV", SPL_FILE_OBJECT_READ_CSV); - REGISTER_SPL_SUB_CLASS_EX(SplTempFileObject, SplFileObject, spl_filesystem_object_new_check, spl_SplTempFileObject_functions); + REGISTER_SPL_SUB_CLASS_EX(SplTempFileObject, SplFileObject, spl_filesystem_object_new_check, class_SplTempFileObject_methods); return SUCCESS; } /* }}} */ diff --git a/ext/spl/spl_directory.stub.php b/ext/spl/spl_directory.stub.php index 6e8108b6a3..513dfef8aa 100755 --- a/ext/spl/spl_directory.stub.php +++ b/ext/spl/spl_directory.stub.php @@ -1,5 +1,7 @@ traverse_pointer; @@ -1116,7 +1116,7 @@ SPL_METHOD(SplDoublyLinkedList, current) /* {{{ proto string SplDoublyLinkedList::serialize() Serializes storage */ -SPL_METHOD(SplDoublyLinkedList, serialize) +PHP_METHOD(SplDoublyLinkedList, serialize) { spl_dllist_object *intern = Z_SPLDLLIST_P(ZEND_THIS); smart_str buf = {0}; @@ -1154,7 +1154,7 @@ SPL_METHOD(SplDoublyLinkedList, serialize) /* {{{ proto void SplDoublyLinkedList::unserialize(string serialized) Unserializes storage */ -SPL_METHOD(SplDoublyLinkedList, unserialize) +PHP_METHOD(SplDoublyLinkedList, unserialize) { spl_dllist_object *intern = Z_SPLDLLIST_P(ZEND_THIS); zval *flags, *elem; @@ -1215,7 +1215,7 @@ error: } /* }}} */ /* {{{ proto array SplDoublyLinkedList::__serialize() */ -SPL_METHOD(SplDoublyLinkedList, __serialize) +PHP_METHOD(SplDoublyLinkedList, __serialize) { spl_dllist_object *intern = Z_SPLDLLIST_P(ZEND_THIS); spl_ptr_llist_element *current = intern->llist->head; @@ -1247,7 +1247,7 @@ SPL_METHOD(SplDoublyLinkedList, __serialize) } /* }}} */ /* {{{ proto void SplDoublyLinkedList::__unserialize(array serialized) */ -SPL_METHOD(SplDoublyLinkedList, __unserialize) { +PHP_METHOD(SplDoublyLinkedList, __unserialize) { spl_dllist_object *intern = Z_SPLDLLIST_P(ZEND_THIS); HashTable *data; zval *flags_zv, *storage_zv, *members_zv, *elem; @@ -1278,7 +1278,7 @@ SPL_METHOD(SplDoublyLinkedList, __unserialize) { /* {{{ proto void SplDoublyLinkedList::add(mixed index, mixed newval) Inserts a new entry before the specified $index consisting of $newval. */ -SPL_METHOD(SplDoublyLinkedList, add) +PHP_METHOD(SplDoublyLinkedList, add) { zval *zindex, *value; spl_dllist_object *intern; @@ -1331,7 +1331,7 @@ SPL_METHOD(SplDoublyLinkedList, add) } /* }}} */ /* {{{ proto void SplDoublyLinkedList::__debugInfo() */ -SPL_METHOD(SplDoublyLinkedList, __debugInfo) +PHP_METHOD(SplDoublyLinkedList, __debugInfo) { if (zend_parse_parameters_none() == FAILURE) { return; @@ -1380,52 +1380,9 @@ zend_object_iterator *spl_dllist_get_iterator(zend_class_entry *ce, zval *object } /* }}} */ -static const zend_function_entry spl_funcs_SplQueue[] = { - SPL_MA(SplQueue, enqueue, SplDoublyLinkedList, push, arginfo_class_SplQueue_enqueue, ZEND_ACC_PUBLIC) - SPL_MA(SplQueue, dequeue, SplDoublyLinkedList, shift, arginfo_class_SplQueue_dequeue, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - -static const zend_function_entry spl_funcs_SplDoublyLinkedList[] = { - SPL_ME(SplDoublyLinkedList, pop, arginfo_class_SplDoublyLinkedList_pop, ZEND_ACC_PUBLIC) - SPL_ME(SplDoublyLinkedList, shift, arginfo_class_SplDoublyLinkedList_shift, ZEND_ACC_PUBLIC) - SPL_ME(SplDoublyLinkedList, push, arginfo_class_SplDoublyLinkedList_push, ZEND_ACC_PUBLIC) - SPL_ME(SplDoublyLinkedList, unshift, arginfo_class_SplDoublyLinkedList_unshift, ZEND_ACC_PUBLIC) - SPL_ME(SplDoublyLinkedList, top, arginfo_class_SplDoublyLinkedList_top, ZEND_ACC_PUBLIC) - SPL_ME(SplDoublyLinkedList, bottom, arginfo_class_SplDoublyLinkedList_bottom, ZEND_ACC_PUBLIC) - SPL_ME(SplDoublyLinkedList, isEmpty, arginfo_class_SplDoublyLinkedList_isEmpty, ZEND_ACC_PUBLIC) - SPL_ME(SplDoublyLinkedList, setIteratorMode, arginfo_class_SplDoublyLinkedList_setIteratorMode, ZEND_ACC_PUBLIC) - SPL_ME(SplDoublyLinkedList, getIteratorMode, arginfo_class_SplDoublyLinkedList_getIteratorMode, ZEND_ACC_PUBLIC) - SPL_ME(SplDoublyLinkedList, __debugInfo, arginfo_class_SplDoublyLinkedList___debugInfo, ZEND_ACC_PUBLIC) - /* Countable */ - SPL_ME(SplDoublyLinkedList, count, arginfo_class_SplDoublyLinkedList_count, ZEND_ACC_PUBLIC) - /* ArrayAccess */ - SPL_ME(SplDoublyLinkedList, offsetExists, arginfo_class_SplDoublyLinkedList_offsetExists, ZEND_ACC_PUBLIC) - SPL_ME(SplDoublyLinkedList, offsetGet, arginfo_class_SplDoublyLinkedList_offsetGet, ZEND_ACC_PUBLIC) - SPL_ME(SplDoublyLinkedList, offsetSet, arginfo_class_SplDoublyLinkedList_offsetSet, ZEND_ACC_PUBLIC) - SPL_ME(SplDoublyLinkedList, offsetUnset, arginfo_class_SplDoublyLinkedList_offsetUnset, ZEND_ACC_PUBLIC) - - SPL_ME(SplDoublyLinkedList, add, arginfo_class_SplDoublyLinkedList_add, ZEND_ACC_PUBLIC) - - /* Iterator */ - SPL_ME(SplDoublyLinkedList, rewind, arginfo_class_SplDoublyLinkedList_rewind, ZEND_ACC_PUBLIC) - SPL_ME(SplDoublyLinkedList, current, arginfo_class_SplDoublyLinkedList_current, ZEND_ACC_PUBLIC) - SPL_ME(SplDoublyLinkedList, key, arginfo_class_SplDoublyLinkedList_key, ZEND_ACC_PUBLIC) - SPL_ME(SplDoublyLinkedList, next, arginfo_class_SplDoublyLinkedList_next, ZEND_ACC_PUBLIC) - SPL_ME(SplDoublyLinkedList, prev, arginfo_class_SplDoublyLinkedList_prev, ZEND_ACC_PUBLIC) - SPL_ME(SplDoublyLinkedList, valid, arginfo_class_SplDoublyLinkedList_valid, ZEND_ACC_PUBLIC) - /* Serializable */ - SPL_ME(SplDoublyLinkedList, unserialize, arginfo_class_SplDoublyLinkedList_unserialize, ZEND_ACC_PUBLIC) - SPL_ME(SplDoublyLinkedList, serialize, arginfo_class_SplDoublyLinkedList_serialize, ZEND_ACC_PUBLIC) - SPL_ME(SplDoublyLinkedList, __unserialize, arginfo_class_SplDoublyLinkedList___unserialize, ZEND_ACC_PUBLIC) - SPL_ME(SplDoublyLinkedList, __serialize, arginfo_class_SplDoublyLinkedList___serialize, ZEND_ACC_PUBLIC) - PHP_FE_END -}; -/* }}} */ - PHP_MINIT_FUNCTION(spl_dllist) /* {{{ */ { - REGISTER_SPL_STD_CLASS_EX(SplDoublyLinkedList, spl_dllist_object_new, spl_funcs_SplDoublyLinkedList); + REGISTER_SPL_STD_CLASS_EX(SplDoublyLinkedList, spl_dllist_object_new, class_SplDoublyLinkedList_methods); memcpy(&spl_handler_SplDoublyLinkedList, &std_object_handlers, sizeof(zend_object_handlers)); spl_handler_SplDoublyLinkedList.offset = XtOffsetOf(spl_dllist_object, std); @@ -1447,8 +1404,8 @@ PHP_MINIT_FUNCTION(spl_dllist) /* {{{ */ spl_ce_SplDoublyLinkedList->get_iterator = spl_dllist_get_iterator; - REGISTER_SPL_SUB_CLASS_EX(SplQueue, SplDoublyLinkedList, spl_dllist_object_new, spl_funcs_SplQueue); - REGISTER_SPL_SUB_CLASS_EX(SplStack, SplDoublyLinkedList, spl_dllist_object_new, NULL); + REGISTER_SPL_SUB_CLASS_EX(SplQueue, SplDoublyLinkedList, spl_dllist_object_new, class_SplQueue_methods); + REGISTER_SPL_SUB_CLASS_EX(SplStack, SplDoublyLinkedList, spl_dllist_object_new, class_SplStack_methods); spl_ce_SplQueue->get_iterator = spl_dllist_get_iterator; spl_ce_SplStack->get_iterator = spl_dllist_get_iterator; diff --git a/ext/spl/spl_dllist.stub.php b/ext/spl/spl_dllist.stub.php index 0cb91d8ddf..3cda7de01f 100755 --- a/ext/spl/spl_dllist.stub.php +++ b/ext/spl/spl_dllist.stub.php @@ -1,5 +1,7 @@ get_iterator = spl_heap_get_iterator; - REGISTER_SPL_SUB_CLASS_EX(SplMinHeap, SplHeap, spl_heap_object_new, spl_funcs_SplMinHeap); - REGISTER_SPL_SUB_CLASS_EX(SplMaxHeap, SplHeap, spl_heap_object_new, spl_funcs_SplMaxHeap); + REGISTER_SPL_SUB_CLASS_EX(SplMinHeap, SplHeap, spl_heap_object_new, class_SplMinHeap_methods); + REGISTER_SPL_SUB_CLASS_EX(SplMaxHeap, SplHeap, spl_heap_object_new, class_SplMaxHeap_methods); spl_ce_SplMaxHeap->get_iterator = spl_heap_get_iterator; spl_ce_SplMinHeap->get_iterator = spl_heap_get_iterator; - REGISTER_SPL_STD_CLASS_EX(SplPriorityQueue, spl_heap_object_new, spl_funcs_SplPriorityQueue); + REGISTER_SPL_STD_CLASS_EX(SplPriorityQueue, spl_heap_object_new, class_SplPriorityQueue_methods); memcpy(&spl_handler_SplPriorityQueue, &std_object_handlers, sizeof(zend_object_handlers)); spl_handler_SplPriorityQueue.offset = XtOffsetOf(spl_heap_object, std); diff --git a/ext/spl/spl_heap.stub.php b/ext/spl/spl_heap.stub.php index e98bed6cb2..5642d784e6 100644 --- a/ext/spl/spl_heap.stub.php +++ b/ext/spl/spl_heap.stub.php @@ -1,5 +1,7 @@ level; @@ -719,7 +713,7 @@ SPL_METHOD(RecursiveIteratorIterator, getSubIterator) /* {{{ proto RecursiveIterator RecursiveIteratorIterator::getInnerIterator() The current active sub iterator */ -SPL_METHOD(RecursiveIteratorIterator, getInnerIterator) +PHP_METHOD(RecursiveIteratorIterator, getInnerIterator) { spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); zval *zobject; @@ -735,7 +729,7 @@ SPL_METHOD(RecursiveIteratorIterator, getInnerIterator) /* {{{ proto RecursiveIterator RecursiveIteratorIterator::beginIteration() Called when iteration begins (after first rewind() call) */ -SPL_METHOD(RecursiveIteratorIterator, beginIteration) +PHP_METHOD(RecursiveIteratorIterator, beginIteration) { if (zend_parse_parameters_none() == FAILURE) { RETURN_THROWS(); @@ -745,7 +739,7 @@ SPL_METHOD(RecursiveIteratorIterator, beginIteration) /* {{{ proto RecursiveIterator RecursiveIteratorIterator::endIteration() Called when iteration ends (when valid() first returns false */ -SPL_METHOD(RecursiveIteratorIterator, endIteration) +PHP_METHOD(RecursiveIteratorIterator, endIteration) { if (zend_parse_parameters_none() == FAILURE) { RETURN_THROWS(); @@ -755,7 +749,7 @@ SPL_METHOD(RecursiveIteratorIterator, endIteration) /* {{{ proto bool RecursiveIteratorIterator::callHasChildren() Called for each element to test whether it has children */ -SPL_METHOD(RecursiveIteratorIterator, callHasChildren) +PHP_METHOD(RecursiveIteratorIterator, callHasChildren) { spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); zend_class_entry *ce; @@ -784,7 +778,7 @@ SPL_METHOD(RecursiveIteratorIterator, callHasChildren) /* {{{ proto RecursiveIterator RecursiveIteratorIterator::callGetChildren() Return children of current element */ -SPL_METHOD(RecursiveIteratorIterator, callGetChildren) +PHP_METHOD(RecursiveIteratorIterator, callGetChildren) { spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); zend_class_entry *ce; @@ -809,7 +803,7 @@ SPL_METHOD(RecursiveIteratorIterator, callGetChildren) /* {{{ proto void RecursiveIteratorIterator::beginChildren() Called when recursing one level down */ -SPL_METHOD(RecursiveIteratorIterator, beginChildren) +PHP_METHOD(RecursiveIteratorIterator, beginChildren) { if (zend_parse_parameters_none() == FAILURE) { RETURN_THROWS(); @@ -819,7 +813,7 @@ SPL_METHOD(RecursiveIteratorIterator, beginChildren) /* {{{ proto void RecursiveIteratorIterator::endChildren() Called when end recursing one level */ -SPL_METHOD(RecursiveIteratorIterator, endChildren) +PHP_METHOD(RecursiveIteratorIterator, endChildren) { if (zend_parse_parameters_none() == FAILURE) { RETURN_THROWS(); @@ -829,7 +823,7 @@ SPL_METHOD(RecursiveIteratorIterator, endChildren) /* {{{ proto void RecursiveIteratorIterator::nextElement() Called when the next element is available */ -SPL_METHOD(RecursiveIteratorIterator, nextElement) +PHP_METHOD(RecursiveIteratorIterator, nextElement) { if (zend_parse_parameters_none() == FAILURE) { RETURN_THROWS(); @@ -839,7 +833,7 @@ SPL_METHOD(RecursiveIteratorIterator, nextElement) /* {{{ proto void RecursiveIteratorIterator::setMaxDepth([$max_depth = -1]) Set the maximum allowed depth (or any depth if pmax_depth = -1] */ -SPL_METHOD(RecursiveIteratorIterator, setMaxDepth) +PHP_METHOD(RecursiveIteratorIterator, setMaxDepth) { spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); zend_long max_depth = -1; @@ -859,7 +853,7 @@ SPL_METHOD(RecursiveIteratorIterator, setMaxDepth) /* {{{ proto int|false RecursiveIteratorIterator::getMaxDepth() Return the maximum accepted depth or false if any depth is allowed */ -SPL_METHOD(RecursiveIteratorIterator, getMaxDepth) +PHP_METHOD(RecursiveIteratorIterator, getMaxDepth) { spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); @@ -982,28 +976,6 @@ static zend_object *spl_RecursiveTreeIterator_new(zend_class_entry *class_type) } /* }}} */ -static const zend_function_entry spl_funcs_RecursiveIteratorIterator[] = { - SPL_ME(RecursiveIteratorIterator, __construct, arginfo_class_RecursiveIteratorIterator___construct, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, rewind, arginfo_class_RecursiveIteratorIterator_rewind, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, valid, arginfo_class_RecursiveIteratorIterator_valid, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, key, arginfo_class_RecursiveIteratorIterator_key, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, current, arginfo_class_RecursiveIteratorIterator_current, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, next, arginfo_class_RecursiveIteratorIterator_next, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, getDepth, arginfo_class_RecursiveIteratorIterator_getDepth, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, getSubIterator, arginfo_class_RecursiveIteratorIterator_getSubIterator, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, getInnerIterator, arginfo_class_RecursiveIteratorIterator_getInnerIterator, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, beginIteration, arginfo_class_RecursiveIteratorIterator_beginIteration, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, endIteration, arginfo_class_RecursiveIteratorIterator_endIteration, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, callHasChildren, arginfo_class_RecursiveIteratorIterator_callHasChildren, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, callGetChildren, arginfo_class_RecursiveIteratorIterator_callGetChildren, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, beginChildren, arginfo_class_RecursiveIteratorIterator_beginChildren, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, endChildren, arginfo_class_RecursiveIteratorIterator_endChildren, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, nextElement, arginfo_class_RecursiveIteratorIterator_nextElement, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, setMaxDepth, arginfo_class_RecursiveIteratorIterator_setMaxDepth, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, getMaxDepth, arginfo_class_RecursiveIteratorIterator_getMaxDepth, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - static void spl_recursive_tree_iterator_get_prefix(spl_recursive_it_object *object, zval *return_value) { smart_str str = {0}; @@ -1065,14 +1037,14 @@ static void spl_recursive_tree_iterator_get_postfix(spl_recursive_it_object *obj /* {{{ proto RecursiveTreeIterator::__construct(RecursiveIterator|IteratorAggregate it [, int flags = RTIT_BYPASS_KEY [, int cit_flags = CIT_CATCH_GET_CHILD [, mode = RIT_SELF_FIRST ]]]) throws InvalidArgumentException RecursiveIteratorIterator to generate ASCII graphic trees for the entries in a RecursiveIterator */ -SPL_METHOD(RecursiveTreeIterator, __construct) +PHP_METHOD(RecursiveTreeIterator, __construct) { spl_recursive_it_it_construct(INTERNAL_FUNCTION_PARAM_PASSTHRU, spl_ce_RecursiveTreeIterator, zend_ce_iterator, RIT_RecursiveTreeIterator); } /* }}} */ /* {{{ proto void RecursiveTreeIterator::setPrefixPart(int part, string prefix) throws OutOfRangeException Sets prefix parts as used in getPrefix() */ -SPL_METHOD(RecursiveTreeIterator, setPrefixPart) +PHP_METHOD(RecursiveTreeIterator, setPrefixPart) { zend_long part; char* prefix; @@ -1094,7 +1066,7 @@ SPL_METHOD(RecursiveTreeIterator, setPrefixPart) /* {{{ proto string RecursiveTreeIterator::getPrefix() Returns the string to place in front of current element */ -SPL_METHOD(RecursiveTreeIterator, getPrefix) +PHP_METHOD(RecursiveTreeIterator, getPrefix) { spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); @@ -1113,7 +1085,7 @@ SPL_METHOD(RecursiveTreeIterator, getPrefix) /* {{{ proto void RecursiveTreeIterator::setPostfix(string prefix) Sets postfix as used in getPostfix() */ -SPL_METHOD(RecursiveTreeIterator, setPostfix) +PHP_METHOD(RecursiveTreeIterator, setPostfix) { spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); char* postfix; @@ -1129,7 +1101,7 @@ SPL_METHOD(RecursiveTreeIterator, setPostfix) /* {{{ proto string RecursiveTreeIterator::getEntry() Returns the string presentation built for current element */ -SPL_METHOD(RecursiveTreeIterator, getEntry) +PHP_METHOD(RecursiveTreeIterator, getEntry) { spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); @@ -1148,7 +1120,7 @@ SPL_METHOD(RecursiveTreeIterator, getEntry) /* {{{ proto string RecursiveTreeIterator::getPostfix() Returns the string to place after the current element */ -SPL_METHOD(RecursiveTreeIterator, getPostfix) +PHP_METHOD(RecursiveTreeIterator, getPostfix) { spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); @@ -1167,7 +1139,7 @@ SPL_METHOD(RecursiveTreeIterator, getPostfix) /* {{{ proto mixed RecursiveTreeIterator::current() Returns the current element prefixed and postfixed */ -SPL_METHOD(RecursiveTreeIterator, current) +PHP_METHOD(RecursiveTreeIterator, current) { spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); zval prefix, entry, postfix; @@ -1229,7 +1201,7 @@ SPL_METHOD(RecursiveTreeIterator, current) /* {{{ proto mixed RecursiveTreeIterator::key() Returns the current key prefixed and postfixed */ -SPL_METHOD(RecursiveTreeIterator, key) +PHP_METHOD(RecursiveTreeIterator, key) { spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(ZEND_THIS); zend_object_iterator *iterator; @@ -1280,28 +1252,6 @@ SPL_METHOD(RecursiveTreeIterator, key) RETURN_NEW_STR(str); } /* }}} */ -static const zend_function_entry spl_funcs_RecursiveTreeIterator[] = { - SPL_ME(RecursiveTreeIterator, __construct, arginfo_class_RecursiveTreeIterator___construct, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, rewind, arginfo_class_RecursiveTreeIterator_rewind, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, valid, arginfo_class_RecursiveTreeIterator_valid, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveTreeIterator, key, arginfo_class_RecursiveTreeIterator_key, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveTreeIterator, current, arginfo_class_RecursiveTreeIterator_current, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, next, arginfo_class_RecursiveTreeIterator_next, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, beginIteration, arginfo_class_RecursiveTreeIterator_beginIteration, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, endIteration, arginfo_class_RecursiveTreeIterator_endIteration, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, callHasChildren, arginfo_class_RecursiveTreeIterator_callHasChildren, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, callGetChildren, arginfo_class_RecursiveTreeIterator_callGetChildren, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, beginChildren, arginfo_class_RecursiveTreeIterator_beginChildren, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, endChildren, arginfo_class_RecursiveTreeIterator_endChildren, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveIteratorIterator, nextElement, arginfo_class_RecursiveTreeIterator_nextElement, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveTreeIterator, getPrefix, arginfo_class_RecursiveTreeIterator_getPrefix, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveTreeIterator, setPrefixPart, arginfo_class_RecursiveTreeIterator_setPrefixPart, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveTreeIterator, getEntry, arginfo_class_RecursiveTreeIterator_getEntry, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveTreeIterator, setPostfix, arginfo_class_RecursiveTreeIterator_setPostfix, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveTreeIterator, getPostfix, arginfo_class_RecursiveTreeIterator_getPostfix, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - static zend_function *spl_dual_it_get_method(zend_object **object, zend_string *method, const zval *key) { zend_function *function_handler; @@ -1503,14 +1453,14 @@ static spl_dual_it_object* spl_dual_it_construct(INTERNAL_FUNCTION_PARAMETERS, z /* {{{ proto FilterIterator::__construct(Iterator it) Create an Iterator from another iterator */ -SPL_METHOD(FilterIterator, __construct) +PHP_METHOD(FilterIterator, __construct) { spl_dual_it_construct(INTERNAL_FUNCTION_PARAM_PASSTHRU, spl_ce_FilterIterator, zend_ce_iterator, DIT_FilterIterator); } /* }}} */ /* {{{ proto CallbackFilterIterator::__construct(Iterator it, callback func) Create an Iterator from another iterator */ -SPL_METHOD(CallbackFilterIterator, __construct) +PHP_METHOD(CallbackFilterIterator, __construct) { spl_dual_it_construct(INTERNAL_FUNCTION_PARAM_PASSTHRU, spl_ce_CallbackFilterIterator, zend_ce_iterator, DIT_CallbackFilterIterator); } /* }}} */ @@ -1520,7 +1470,7 @@ SPL_METHOD(CallbackFilterIterator, __construct) proto Iterator LimitIterator::getInnerIterator() proto Iterator ParentIterator::getInnerIterator() Get the inner iterator */ -SPL_METHOD(dual_it, getInnerIterator) +PHP_METHOD(IteratorIterator, getInnerIterator) { spl_dual_it_object *intern; @@ -1623,7 +1573,7 @@ static inline void spl_dual_it_next(spl_dual_it_object *intern, int do_free) proto void IteratorIterator::rewind() Rewind the iterator */ -SPL_METHOD(dual_it, rewind) +PHP_METHOD(IteratorIterator, rewind) { spl_dual_it_object *intern; @@ -1642,7 +1592,7 @@ SPL_METHOD(dual_it, rewind) proto bool IteratorIterator::valid() proto bool NoRewindIterator::valid() Check whether the current element is valid */ -SPL_METHOD(dual_it, valid) +PHP_METHOD(IteratorIterator, valid) { spl_dual_it_object *intern; @@ -1663,7 +1613,7 @@ SPL_METHOD(dual_it, valid) proto mixed NoRewindIterator::key() proto mixed AppendIterator::key() Get the current key */ -SPL_METHOD(dual_it, key) +PHP_METHOD(IteratorIterator, key) { spl_dual_it_object *intern; @@ -1689,7 +1639,7 @@ SPL_METHOD(dual_it, key) proto mixed IteratorIterator::current() proto mixed NoRewindIterator::current() Get the current element value */ -SPL_METHOD(dual_it, current) +PHP_METHOD(IteratorIterator, current) { spl_dual_it_object *intern; @@ -1712,7 +1662,7 @@ SPL_METHOD(dual_it, current) proto void IteratorIterator::next() proto void NoRewindIterator::next() Move the iterator forward */ -SPL_METHOD(dual_it, next) +PHP_METHOD(IteratorIterator, next) { spl_dual_it_object *intern; @@ -1761,7 +1711,7 @@ static inline void spl_filter_it_next(zval *zthis, spl_dual_it_object *intern) /* {{{ proto void FilterIterator::rewind() Rewind the iterator */ -SPL_METHOD(FilterIterator, rewind) +PHP_METHOD(FilterIterator, rewind) { spl_dual_it_object *intern; @@ -1775,7 +1725,7 @@ SPL_METHOD(FilterIterator, rewind) /* {{{ proto void FilterIterator::next() Move the iterator forward */ -SPL_METHOD(FilterIterator, next) +PHP_METHOD(FilterIterator, next) { spl_dual_it_object *intern; @@ -1789,7 +1739,7 @@ SPL_METHOD(FilterIterator, next) /* {{{ proto RecursiveCallbackFilterIterator::__construct(RecursiveIterator it, callback func) Create a RecursiveCallbackFilterIterator from a RecursiveIterator */ -SPL_METHOD(RecursiveCallbackFilterIterator, __construct) +PHP_METHOD(RecursiveCallbackFilterIterator, __construct) { spl_dual_it_construct(INTERNAL_FUNCTION_PARAM_PASSTHRU, spl_ce_RecursiveCallbackFilterIterator, spl_ce_RecursiveIterator, DIT_RecursiveCallbackFilterIterator); } /* }}} */ @@ -1797,14 +1747,14 @@ SPL_METHOD(RecursiveCallbackFilterIterator, __construct) /* {{{ proto RecursiveFilterIterator::__construct(RecursiveIterator it) Create a RecursiveFilterIterator from a RecursiveIterator */ -SPL_METHOD(RecursiveFilterIterator, __construct) +PHP_METHOD(RecursiveFilterIterator, __construct) { spl_dual_it_construct(INTERNAL_FUNCTION_PARAM_PASSTHRU, spl_ce_RecursiveFilterIterator, spl_ce_RecursiveIterator, DIT_RecursiveFilterIterator); } /* }}} */ /* {{{ proto bool RecursiveFilterIterator::hasChildren() Check whether the inner iterator's current element has children */ -SPL_METHOD(RecursiveFilterIterator, hasChildren) +PHP_METHOD(RecursiveFilterIterator, hasChildren) { spl_dual_it_object *intern; @@ -1819,7 +1769,7 @@ SPL_METHOD(RecursiveFilterIterator, hasChildren) /* {{{ proto RecursiveFilterIterator RecursiveFilterIterator::getChildren() Return the inner iterator's children contained in a RecursiveFilterIterator */ -SPL_METHOD(RecursiveFilterIterator, getChildren) +PHP_METHOD(RecursiveFilterIterator, getChildren) { spl_dual_it_object *intern; zval retval; @@ -1839,7 +1789,7 @@ SPL_METHOD(RecursiveFilterIterator, getChildren) /* {{{ proto RecursiveCallbackFilterIterator RecursiveCallbackFilterIterator::getChildren() Return the inner iterator's children contained in a RecursiveCallbackFilterIterator */ -SPL_METHOD(RecursiveCallbackFilterIterator, getChildren) +PHP_METHOD(RecursiveCallbackFilterIterator, getChildren) { spl_dual_it_object *intern; zval retval; @@ -1858,21 +1808,21 @@ SPL_METHOD(RecursiveCallbackFilterIterator, getChildren) } /* }}} */ /* {{{ proto ParentIterator::__construct(RecursiveIterator it) Create a ParentIterator from a RecursiveIterator */ -SPL_METHOD(ParentIterator, __construct) +PHP_METHOD(ParentIterator, __construct) { spl_dual_it_construct(INTERNAL_FUNCTION_PARAM_PASSTHRU, spl_ce_ParentIterator, spl_ce_RecursiveIterator, DIT_ParentIterator); } /* }}} */ /* {{{ proto RegexIterator::__construct(Iterator it, string regex [, int mode [, int flags [, int preg_flags]]]) Create an RegexIterator from another iterator and a regular expression */ -SPL_METHOD(RegexIterator, __construct) +PHP_METHOD(RegexIterator, __construct) { spl_dual_it_construct(INTERNAL_FUNCTION_PARAM_PASSTHRU, spl_ce_RegexIterator, zend_ce_iterator, DIT_RegexIterator); } /* }}} */ /* {{{ proto bool CallbackFilterIterator::accept() Calls the callback with the current value, the current key and the inner iterator as arguments */ -SPL_METHOD(CallbackFilterIterator, accept) +PHP_METHOD(CallbackFilterIterator, accept) { spl_dual_it_object *intern = Z_SPLDUAL_IT_P(ZEND_THIS); zend_fcall_info *fci = &intern->u.cbfilter->fci; @@ -1912,7 +1862,7 @@ SPL_METHOD(CallbackFilterIterator, accept) /* {{{ proto bool RegexIterator::accept() Match (string)current() against regular expression */ -SPL_METHOD(RegexIterator, accept) +PHP_METHOD(RegexIterator, accept) { spl_dual_it_object *intern; zend_string *result, *subject; @@ -2007,7 +1957,7 @@ SPL_METHOD(RegexIterator, accept) /* {{{ proto string RegexIterator::getRegex() Returns current regular expression */ -SPL_METHOD(RegexIterator, getRegex) +PHP_METHOD(RegexIterator, getRegex) { spl_dual_it_object *intern = Z_SPLDUAL_IT_P(ZEND_THIS); @@ -2020,7 +1970,7 @@ SPL_METHOD(RegexIterator, getRegex) /* {{{ proto bool RegexIterator::getMode() Returns current operation mode */ -SPL_METHOD(RegexIterator, getMode) +PHP_METHOD(RegexIterator, getMode) { spl_dual_it_object *intern; @@ -2035,7 +1985,7 @@ SPL_METHOD(RegexIterator, getMode) /* {{{ proto bool RegexIterator::setMode(int new_mode) Set new operation mode */ -SPL_METHOD(RegexIterator, setMode) +PHP_METHOD(RegexIterator, setMode) { spl_dual_it_object *intern; zend_long mode; @@ -2056,7 +2006,7 @@ SPL_METHOD(RegexIterator, setMode) /* {{{ proto bool RegexIterator::getFlags() Returns current operation flags */ -SPL_METHOD(RegexIterator, getFlags) +PHP_METHOD(RegexIterator, getFlags) { spl_dual_it_object *intern; @@ -2071,7 +2021,7 @@ SPL_METHOD(RegexIterator, getFlags) /* {{{ proto bool RegexIterator::setFlags(int new_flags) Set operation flags */ -SPL_METHOD(RegexIterator, setFlags) +PHP_METHOD(RegexIterator, setFlags) { spl_dual_it_object *intern; zend_long flags; @@ -2087,7 +2037,7 @@ SPL_METHOD(RegexIterator, setFlags) /* {{{ proto bool RegexIterator::getFlags() Returns current PREG flags (if in use or NULL) */ -SPL_METHOD(RegexIterator, getPregFlags) +PHP_METHOD(RegexIterator, getPregFlags) { spl_dual_it_object *intern; @@ -2106,7 +2056,7 @@ SPL_METHOD(RegexIterator, getPregFlags) /* {{{ proto bool RegexIterator::setPregFlags(int new_flags) Set PREG flags */ -SPL_METHOD(RegexIterator, setPregFlags) +PHP_METHOD(RegexIterator, setPregFlags) { spl_dual_it_object *intern; zend_long preg_flags; @@ -2123,14 +2073,14 @@ SPL_METHOD(RegexIterator, setPregFlags) /* {{{ proto RecursiveRegexIterator::__construct(RecursiveIterator it, string regex [, int mode [, int flags [, int preg_flags]]]) Create an RecursiveRegexIterator from another recursive iterator and a regular expression */ -SPL_METHOD(RecursiveRegexIterator, __construct) +PHP_METHOD(RecursiveRegexIterator, __construct) { spl_dual_it_construct(INTERNAL_FUNCTION_PARAM_PASSTHRU, spl_ce_RecursiveRegexIterator, spl_ce_RecursiveIterator, DIT_RecursiveRegexIterator); } /* }}} */ /* {{{ proto RecursiveRegexIterator RecursiveRegexIterator::getChildren() Return the inner iterator's children contained in a RecursiveRegexIterator */ -SPL_METHOD(RecursiveRegexIterator, getChildren) +PHP_METHOD(RecursiveRegexIterator, getChildren) { spl_dual_it_object *intern; zval retval; @@ -2159,7 +2109,7 @@ SPL_METHOD(RecursiveRegexIterator, getChildren) zval_ptr_dtor(&retval); } /* }}} */ -SPL_METHOD(RecursiveRegexIterator, accept) +PHP_METHOD(RecursiveRegexIterator, accept) { spl_dual_it_object *intern; @@ -2256,65 +2206,6 @@ static zend_object *spl_dual_it_new(zend_class_entry *class_type) } /* }}} */ -static const zend_function_entry spl_funcs_FilterIterator[] = { - SPL_ME(FilterIterator, __construct, arginfo_class_FilterIterator___construct, ZEND_ACC_PUBLIC) - SPL_ME(FilterIterator, rewind, arginfo_class_FilterIterator_rewind, ZEND_ACC_PUBLIC) - SPL_ME(dual_it, valid, arginfo_class_FilterIterator_valid, ZEND_ACC_PUBLIC) - SPL_ME(dual_it, key, arginfo_class_FilterIterator_key, ZEND_ACC_PUBLIC) - SPL_ME(dual_it, current, arginfo_class_FilterIterator_current, ZEND_ACC_PUBLIC) - SPL_ME(FilterIterator, next, arginfo_class_FilterIterator_next, ZEND_ACC_PUBLIC) - SPL_ME(dual_it, getInnerIterator, arginfo_class_FilterIterator_getInnerIterator, ZEND_ACC_PUBLIC) - SPL_ABSTRACT_ME(FilterIterator, accept, arginfo_class_FilterIterator_accept) - PHP_FE_END -}; - -static const zend_function_entry spl_funcs_CallbackFilterIterator[] = { - SPL_ME(CallbackFilterIterator, __construct, arginfo_class_CallbackFilterIterator___construct, ZEND_ACC_PUBLIC) - SPL_ME(CallbackFilterIterator, accept, arginfo_class_CallbackFilterIterator_accept, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - -static const zend_function_entry spl_funcs_RecursiveCallbackFilterIterator[] = { - SPL_ME(RecursiveCallbackFilterIterator, __construct, arginfo_class_RecursiveCallbackFilterIterator___construct, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveFilterIterator, hasChildren, arginfo_class_RecursiveCallbackFilterIterator_hasChildren, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveCallbackFilterIterator, getChildren, arginfo_class_RecursiveCallbackFilterIterator_getChildren, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - -static const zend_function_entry spl_funcs_RecursiveFilterIterator[] = { - SPL_ME(RecursiveFilterIterator, __construct, arginfo_class_RecursiveFilterIterator___construct, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveFilterIterator, hasChildren, arginfo_class_RecursiveFilterIterator_hasChildren, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveFilterIterator, getChildren, arginfo_class_RecursiveFilterIterator_getChildren, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - -static const zend_function_entry spl_funcs_ParentIterator[] = { - SPL_ME(ParentIterator, __construct, arginfo_class_ParentIterator___construct, ZEND_ACC_PUBLIC) - SPL_MA(ParentIterator, accept, RecursiveFilterIterator, hasChildren, arginfo_class_ParentIterator_accept, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - -static const zend_function_entry spl_funcs_RegexIterator[] = { - SPL_ME(RegexIterator, __construct, arginfo_class_RegexIterator___construct, ZEND_ACC_PUBLIC) - SPL_ME(RegexIterator, accept, arginfo_class_RegexIterator_accept, ZEND_ACC_PUBLIC) - SPL_ME(RegexIterator, getMode, arginfo_class_RegexIterator_getMode, ZEND_ACC_PUBLIC) - SPL_ME(RegexIterator, setMode, arginfo_class_RegexIterator_setMode, ZEND_ACC_PUBLIC) - SPL_ME(RegexIterator, getFlags, arginfo_class_RegexIterator_getFlags, ZEND_ACC_PUBLIC) - SPL_ME(RegexIterator, setFlags, arginfo_class_RegexIterator_setFlags, ZEND_ACC_PUBLIC) - SPL_ME(RegexIterator, getPregFlags, arginfo_class_RegexIterator_getPregFlags, ZEND_ACC_PUBLIC) - SPL_ME(RegexIterator, setPregFlags, arginfo_class_RegexIterator_setPregFlags, ZEND_ACC_PUBLIC) - SPL_ME(RegexIterator, getRegex, arginfo_class_RegexIterator_getRegex, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - -static const zend_function_entry spl_funcs_RecursiveRegexIterator[] = { - SPL_ME(RecursiveRegexIterator, __construct, arginfo_class_RecursiveRegexIterator___construct, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveRegexIterator, accept, arginfo_class_RecursiveRegexIterator_accept, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveFilterIterator, hasChildren, arginfo_class_RecursiveRegexIterator_hasChildren, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveRegexIterator, getChildren, arginfo_class_RecursiveRegexIterator_getChildren, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - static inline int spl_limit_it_valid(spl_dual_it_object *intern) { /* FAILURE / SUCCESS */ @@ -2365,14 +2256,14 @@ static inline void spl_limit_it_seek(spl_dual_it_object *intern, zend_long pos) /* {{{ proto LimitIterator::__construct(Iterator it [, int offset, int count]) Construct a LimitIterator from an Iterator with a given starting offset and optionally a maximum count */ -SPL_METHOD(LimitIterator, __construct) +PHP_METHOD(LimitIterator, __construct) { spl_dual_it_construct(INTERNAL_FUNCTION_PARAM_PASSTHRU, spl_ce_LimitIterator, zend_ce_iterator, DIT_LimitIterator); } /* }}} */ /* {{{ proto void LimitIterator::rewind() Rewind the iterator to the specified starting offset */ -SPL_METHOD(LimitIterator, rewind) +PHP_METHOD(LimitIterator, rewind) { spl_dual_it_object *intern; @@ -2387,7 +2278,7 @@ SPL_METHOD(LimitIterator, rewind) /* {{{ proto bool LimitIterator::valid() Check whether the current element is valid */ -SPL_METHOD(LimitIterator, valid) +PHP_METHOD(LimitIterator, valid) { spl_dual_it_object *intern; @@ -2403,7 +2294,7 @@ SPL_METHOD(LimitIterator, valid) /* {{{ proto void LimitIterator::next() Move the iterator forward */ -SPL_METHOD(LimitIterator, next) +PHP_METHOD(LimitIterator, next) { spl_dual_it_object *intern; @@ -2421,7 +2312,7 @@ SPL_METHOD(LimitIterator, next) /* {{{ proto void LimitIterator::seek(int position) Seek to the given position */ -SPL_METHOD(LimitIterator, seek) +PHP_METHOD(LimitIterator, seek) { spl_dual_it_object *intern; zend_long pos; @@ -2437,7 +2328,7 @@ SPL_METHOD(LimitIterator, seek) /* {{{ proto int LimitIterator::getPosition() Return the current position */ -SPL_METHOD(LimitIterator, getPosition) +PHP_METHOD(LimitIterator, getPosition) { spl_dual_it_object *intern; @@ -2449,24 +2340,6 @@ SPL_METHOD(LimitIterator, getPosition) RETURN_LONG(intern->current.pos); } /* }}} */ -static const zend_function_entry spl_funcs_SeekableIterator[] = { - SPL_ABSTRACT_ME(SeekableIterator, seek, arginfo_class_SeekableIterator_seek) - PHP_FE_END -}; - -static const zend_function_entry spl_funcs_LimitIterator[] = { - SPL_ME(LimitIterator, __construct, arginfo_class_LimitIterator___construct, ZEND_ACC_PUBLIC) - SPL_ME(LimitIterator, rewind, arginfo_class_LimitIterator_rewind, ZEND_ACC_PUBLIC) - SPL_ME(LimitIterator, valid, arginfo_class_LimitIterator_valid, ZEND_ACC_PUBLIC) - SPL_ME(dual_it, key, arginfo_class_LimitIterator_key, ZEND_ACC_PUBLIC) - SPL_ME(dual_it, current, arginfo_class_LimitIterator_current, ZEND_ACC_PUBLIC) - SPL_ME(LimitIterator, next, arginfo_class_LimitIterator_next, ZEND_ACC_PUBLIC) - SPL_ME(LimitIterator, seek, arginfo_class_LimitIterator_seek, ZEND_ACC_PUBLIC) - SPL_ME(LimitIterator, getPosition, arginfo_class_LimitIterator_getPosition, ZEND_ACC_PUBLIC) - SPL_ME(dual_it, getInnerIterator, arginfo_class_LimitIterator_getInnerIterator, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - static inline int spl_caching_it_valid(spl_dual_it_object *intern) { return intern->u.caching.flags & CIT_VALID ? SUCCESS : FAILURE; @@ -2559,14 +2432,14 @@ static inline void spl_caching_it_rewind(spl_dual_it_object *intern) /* {{{ proto CachingIterator::__construct(Iterator it [, flags = CIT_CALL_TOSTRING]) Construct a CachingIterator from an Iterator */ -SPL_METHOD(CachingIterator, __construct) +PHP_METHOD(CachingIterator, __construct) { spl_dual_it_construct(INTERNAL_FUNCTION_PARAM_PASSTHRU, spl_ce_CachingIterator, zend_ce_iterator, DIT_CachingIterator); } /* }}} */ /* {{{ proto void CachingIterator::rewind() Rewind the iterator */ -SPL_METHOD(CachingIterator, rewind) +PHP_METHOD(CachingIterator, rewind) { spl_dual_it_object *intern; @@ -2581,7 +2454,7 @@ SPL_METHOD(CachingIterator, rewind) /* {{{ proto bool CachingIterator::valid() Check whether the current element is valid */ -SPL_METHOD(CachingIterator, valid) +PHP_METHOD(CachingIterator, valid) { spl_dual_it_object *intern; @@ -2596,7 +2469,7 @@ SPL_METHOD(CachingIterator, valid) /* {{{ proto void CachingIterator::next() Move the iterator forward */ -SPL_METHOD(CachingIterator, next) +PHP_METHOD(CachingIterator, next) { spl_dual_it_object *intern; @@ -2611,7 +2484,7 @@ SPL_METHOD(CachingIterator, next) /* {{{ proto bool CachingIterator::hasNext() Check whether the inner iterator has a valid next element */ -SPL_METHOD(CachingIterator, hasNext) +PHP_METHOD(CachingIterator, hasNext) { spl_dual_it_object *intern; @@ -2626,7 +2499,7 @@ SPL_METHOD(CachingIterator, hasNext) /* {{{ proto string CachingIterator::__toString() Return the string representation of the current element */ -SPL_METHOD(CachingIterator, __toString) +PHP_METHOD(CachingIterator, __toString) { spl_dual_it_object *intern; @@ -2659,7 +2532,7 @@ SPL_METHOD(CachingIterator, __toString) /* {{{ proto void CachingIterator::offsetSet(mixed index, mixed newval) Set given index in cache */ -SPL_METHOD(CachingIterator, offsetSet) +PHP_METHOD(CachingIterator, offsetSet) { spl_dual_it_object *intern; zend_string *key; @@ -2683,7 +2556,7 @@ SPL_METHOD(CachingIterator, offsetSet) /* {{{ proto string CachingIterator::offsetGet(mixed index) Return the internal cache if used */ -SPL_METHOD(CachingIterator, offsetGet) +PHP_METHOD(CachingIterator, offsetGet) { spl_dual_it_object *intern; zend_string *key; @@ -2711,7 +2584,7 @@ SPL_METHOD(CachingIterator, offsetGet) /* {{{ proto void CachingIterator::offsetUnset(mixed index) Unset given index in cache */ -SPL_METHOD(CachingIterator, offsetUnset) +PHP_METHOD(CachingIterator, offsetUnset) { spl_dual_it_object *intern; zend_string *key; @@ -2733,7 +2606,7 @@ SPL_METHOD(CachingIterator, offsetUnset) /* {{{ proto bool CachingIterator::offsetExists(mixed index) Return whether the requested index exists */ -SPL_METHOD(CachingIterator, offsetExists) +PHP_METHOD(CachingIterator, offsetExists) { spl_dual_it_object *intern; zend_string *key; @@ -2755,7 +2628,7 @@ SPL_METHOD(CachingIterator, offsetExists) /* {{{ proto array CachingIterator::getCache() Return the cache */ -SPL_METHOD(CachingIterator, getCache) +PHP_METHOD(CachingIterator, getCache) { spl_dual_it_object *intern; @@ -2776,7 +2649,7 @@ SPL_METHOD(CachingIterator, getCache) /* {{{ proto int CachingIterator::getFlags() Return the internal flags */ -SPL_METHOD(CachingIterator, getFlags) +PHP_METHOD(CachingIterator, getFlags) { spl_dual_it_object *intern; @@ -2792,7 +2665,7 @@ SPL_METHOD(CachingIterator, getFlags) /* {{{ proto void CachingIterator::setFlags(int flags) Set the internal flags */ -SPL_METHOD(CachingIterator, setFlags) +PHP_METHOD(CachingIterator, setFlags) { spl_dual_it_object *intern; zend_long flags; @@ -2825,7 +2698,7 @@ SPL_METHOD(CachingIterator, setFlags) /* {{{ proto void CachingIterator::count() Number of cached elements */ -SPL_METHOD(CachingIterator, count) +PHP_METHOD(CachingIterator, count) { spl_dual_it_object *intern; @@ -2844,37 +2717,16 @@ SPL_METHOD(CachingIterator, count) } /* }}} */ -static const zend_function_entry spl_funcs_CachingIterator[] = { - SPL_ME(CachingIterator, __construct, arginfo_class_CachingIterator___construct, ZEND_ACC_PUBLIC) - SPL_ME(CachingIterator, rewind, arginfo_class_CachingIterator_rewind, ZEND_ACC_PUBLIC) - SPL_ME(CachingIterator, valid, arginfo_class_CachingIterator_valid, ZEND_ACC_PUBLIC) - SPL_ME(dual_it, key, arginfo_class_CachingIterator_key, ZEND_ACC_PUBLIC) - SPL_ME(dual_it, current, arginfo_class_CachingIterator_current, ZEND_ACC_PUBLIC) - SPL_ME(CachingIterator, next, arginfo_class_CachingIterator_next, ZEND_ACC_PUBLIC) - SPL_ME(CachingIterator, hasNext, arginfo_class_CachingIterator_hasNext, ZEND_ACC_PUBLIC) - SPL_ME(CachingIterator, __toString, arginfo_class_CachingIterator___toString, ZEND_ACC_PUBLIC) - SPL_ME(dual_it, getInnerIterator, arginfo_class_CachingIterator_getInnerIterator, ZEND_ACC_PUBLIC) - SPL_ME(CachingIterator, getFlags, arginfo_class_CachingIterator_getFlags, ZEND_ACC_PUBLIC) - SPL_ME(CachingIterator, setFlags, arginfo_class_CachingIterator_setFlags, ZEND_ACC_PUBLIC) - SPL_ME(CachingIterator, offsetGet, arginfo_class_CachingIterator_offsetGet, ZEND_ACC_PUBLIC) - SPL_ME(CachingIterator, offsetSet, arginfo_class_CachingIterator_offsetSet, ZEND_ACC_PUBLIC) - SPL_ME(CachingIterator, offsetUnset, arginfo_class_CachingIterator_offsetUnset, ZEND_ACC_PUBLIC) - SPL_ME(CachingIterator, offsetExists, arginfo_class_CachingIterator_offsetExists, ZEND_ACC_PUBLIC) - SPL_ME(CachingIterator, getCache, arginfo_class_CachingIterator_getCache, ZEND_ACC_PUBLIC) - SPL_ME(CachingIterator, count, arginfo_class_CachingIterator_count, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - /* {{{ proto RecursiveCachingIterator::__construct(RecursiveIterator it [, flags = CIT_CALL_TOSTRING]) Create an iterator from a RecursiveIterator */ -SPL_METHOD(RecursiveCachingIterator, __construct) +PHP_METHOD(RecursiveCachingIterator, __construct) { spl_dual_it_construct(INTERNAL_FUNCTION_PARAM_PASSTHRU, spl_ce_RecursiveCachingIterator, spl_ce_RecursiveIterator, DIT_RecursiveCachingIterator); } /* }}} */ /* {{{ proto bool RecursiveCachingIterator::hasChildren() Check whether the current element of the inner iterator has children */ -SPL_METHOD(RecursiveCachingIterator, hasChildren) +PHP_METHOD(RecursiveCachingIterator, hasChildren) { spl_dual_it_object *intern; @@ -2889,7 +2741,7 @@ SPL_METHOD(RecursiveCachingIterator, hasChildren) /* {{{ proto RecursiveCachingIterator RecursiveCachingIterator::getChildren() Return the inner iterator's children as a RecursiveCachingIterator */ -SPL_METHOD(RecursiveCachingIterator, getChildren) +PHP_METHOD(RecursiveCachingIterator, getChildren) { spl_dual_it_object *intern; @@ -2908,41 +2760,23 @@ SPL_METHOD(RecursiveCachingIterator, getChildren) } } /* }}} */ -static const zend_function_entry spl_funcs_RecursiveCachingIterator[] = { - SPL_ME(RecursiveCachingIterator, __construct, arginfo_class_RecursiveCachingIterator___construct, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveCachingIterator, hasChildren, arginfo_class_RecursiveCachingIterator_hasChildren, ZEND_ACC_PUBLIC) - SPL_ME(RecursiveCachingIterator, getChildren, arginfo_class_RecursiveCachingIterator_getChildren, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - /* {{{ proto IteratorIterator::__construct(Traversable it) Create an iterator from anything that is traversable */ -SPL_METHOD(IteratorIterator, __construct) +PHP_METHOD(IteratorIterator, __construct) { spl_dual_it_construct(INTERNAL_FUNCTION_PARAM_PASSTHRU, spl_ce_IteratorIterator, zend_ce_traversable, DIT_IteratorIterator); } /* }}} */ -static const zend_function_entry spl_funcs_IteratorIterator[] = { - SPL_ME(IteratorIterator, __construct, arginfo_class_IteratorIterator___construct, ZEND_ACC_PUBLIC) - SPL_ME(dual_it, rewind, arginfo_class_IteratorIterator_rewind, ZEND_ACC_PUBLIC) - SPL_ME(dual_it, valid, arginfo_class_IteratorIterator_valid, ZEND_ACC_PUBLIC) - SPL_ME(dual_it, key, arginfo_class_IteratorIterator_key, ZEND_ACC_PUBLIC) - SPL_ME(dual_it, current, arginfo_class_IteratorIterator_current, ZEND_ACC_PUBLIC) - SPL_ME(dual_it, next, arginfo_class_IteratorIterator_next, ZEND_ACC_PUBLIC) - SPL_ME(dual_it, getInnerIterator, arginfo_class_IteratorIterator_getInnerIterator, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - /* {{{ proto NoRewindIterator::__construct(Iterator it) Create an iterator from another iterator */ -SPL_METHOD(NoRewindIterator, __construct) +PHP_METHOD(NoRewindIterator, __construct) { spl_dual_it_construct(INTERNAL_FUNCTION_PARAM_PASSTHRU, spl_ce_NoRewindIterator, zend_ce_iterator, DIT_NoRewindIterator); } /* }}} */ /* {{{ proto void NoRewindIterator::rewind() Prevent a call to inner iterators rewind() */ -SPL_METHOD(NoRewindIterator, rewind) +PHP_METHOD(NoRewindIterator, rewind) { if (zend_parse_parameters_none() == FAILURE) { RETURN_THROWS(); @@ -2952,7 +2786,7 @@ SPL_METHOD(NoRewindIterator, rewind) /* {{{ proto bool NoRewindIterator::valid() Return inner iterators valid() */ -SPL_METHOD(NoRewindIterator, valid) +PHP_METHOD(NoRewindIterator, valid) { spl_dual_it_object *intern; @@ -2966,7 +2800,7 @@ SPL_METHOD(NoRewindIterator, valid) /* {{{ proto mixed NoRewindIterator::key() Return inner iterators key() */ -SPL_METHOD(NoRewindIterator, key) +PHP_METHOD(NoRewindIterator, key) { spl_dual_it_object *intern; @@ -2985,7 +2819,7 @@ SPL_METHOD(NoRewindIterator, key) /* {{{ proto mixed NoRewindIterator::current() Return inner iterators current() */ -SPL_METHOD(NoRewindIterator, current) +PHP_METHOD(NoRewindIterator, current) { spl_dual_it_object *intern; zval *data; @@ -3003,7 +2837,7 @@ SPL_METHOD(NoRewindIterator, current) /* {{{ proto void NoRewindIterator::next() Return inner iterators next() */ -SPL_METHOD(NoRewindIterator, next) +PHP_METHOD(NoRewindIterator, next) { spl_dual_it_object *intern; @@ -3015,27 +2849,16 @@ SPL_METHOD(NoRewindIterator, next) intern->inner.iterator->funcs->move_forward(intern->inner.iterator); } /* }}} */ -static const zend_function_entry spl_funcs_NoRewindIterator[] = { - SPL_ME(NoRewindIterator, __construct, arginfo_class_NoRewindIterator___construct, ZEND_ACC_PUBLIC) - SPL_ME(NoRewindIterator, rewind, arginfo_class_NoRewindIterator_rewind, ZEND_ACC_PUBLIC) - SPL_ME(NoRewindIterator, valid, arginfo_class_NoRewindIterator_valid, ZEND_ACC_PUBLIC) - SPL_ME(NoRewindIterator, key, arginfo_class_NoRewindIterator_key, ZEND_ACC_PUBLIC) - SPL_ME(NoRewindIterator, current, arginfo_class_NoRewindIterator_current, ZEND_ACC_PUBLIC) - SPL_ME(NoRewindIterator, next, arginfo_class_NoRewindIterator_next, ZEND_ACC_PUBLIC) - SPL_ME(dual_it, getInnerIterator, arginfo_class_NoRewindIterator_getInnerIterator, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - /* {{{ proto InfiniteIterator::__construct(Iterator it) Create an iterator from another iterator */ -SPL_METHOD(InfiniteIterator, __construct) +PHP_METHOD(InfiniteIterator, __construct) { spl_dual_it_construct(INTERNAL_FUNCTION_PARAM_PASSTHRU, spl_ce_InfiniteIterator, zend_ce_iterator, DIT_InfiniteIterator); } /* }}} */ /* {{{ proto void InfiniteIterator::next() Prevent a call to inner iterators rewind() (internally the current data will be fetched if valid()) */ -SPL_METHOD(InfiniteIterator, next) +PHP_METHOD(InfiniteIterator, next) { spl_dual_it_object *intern; @@ -3056,15 +2879,9 @@ SPL_METHOD(InfiniteIterator, next) } } /* }}} */ -static const zend_function_entry spl_funcs_InfiniteIterator[] = { - SPL_ME(InfiniteIterator, __construct, arginfo_class_InfiniteIterator___construct, ZEND_ACC_PUBLIC) - SPL_ME(InfiniteIterator, next, arginfo_class_InfiniteIterator_next, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - /* {{{ proto void EmptyIterator::rewind() Does nothing */ -SPL_METHOD(EmptyIterator, rewind) +PHP_METHOD(EmptyIterator, rewind) { if (zend_parse_parameters_none() == FAILURE) { RETURN_THROWS(); @@ -3073,7 +2890,7 @@ SPL_METHOD(EmptyIterator, rewind) /* {{{ proto false EmptyIterator::valid() Return false */ -SPL_METHOD(EmptyIterator, valid) +PHP_METHOD(EmptyIterator, valid) { if (zend_parse_parameters_none() == FAILURE) { RETURN_THROWS(); @@ -3084,7 +2901,7 @@ SPL_METHOD(EmptyIterator, valid) /* {{{ proto void EmptyIterator::key() Throws exception BadMethodCallException */ -SPL_METHOD(EmptyIterator, key) +PHP_METHOD(EmptyIterator, key) { if (zend_parse_parameters_none() == FAILURE) { RETURN_THROWS(); @@ -3095,7 +2912,7 @@ SPL_METHOD(EmptyIterator, key) /* {{{ proto void EmptyIterator::current() Throws exception BadMethodCallException */ -SPL_METHOD(EmptyIterator, current) +PHP_METHOD(EmptyIterator, current) { if (zend_parse_parameters_none() == FAILURE) { RETURN_THROWS(); @@ -3106,22 +2923,13 @@ SPL_METHOD(EmptyIterator, current) /* {{{ proto void EmptyIterator::next() Does nothing */ -SPL_METHOD(EmptyIterator, next) +PHP_METHOD(EmptyIterator, next) { if (zend_parse_parameters_none() == FAILURE) { RETURN_THROWS(); } } /* }}} */ -static const zend_function_entry spl_funcs_EmptyIterator[] = { - SPL_ME(EmptyIterator, rewind, arginfo_class_EmptyIterator_rewind, ZEND_ACC_PUBLIC) - SPL_ME(EmptyIterator, valid, arginfo_class_EmptyIterator_valid, ZEND_ACC_PUBLIC) - SPL_ME(EmptyIterator, key, arginfo_class_EmptyIterator_key, ZEND_ACC_PUBLIC) - SPL_ME(EmptyIterator, current, arginfo_class_EmptyIterator_current, ZEND_ACC_PUBLIC) - SPL_ME(EmptyIterator, next, arginfo_class_EmptyIterator_next, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - int spl_append_it_next_iterator(spl_dual_it_object *intern) /* {{{*/ { spl_dual_it_free(intern); @@ -3170,14 +2978,14 @@ void spl_append_it_next(spl_dual_it_object *intern) /* {{{ */ /* {{{ proto AppendIterator::__construct() Create an AppendIterator */ -SPL_METHOD(AppendIterator, __construct) +PHP_METHOD(AppendIterator, __construct) { spl_dual_it_construct(INTERNAL_FUNCTION_PARAM_PASSTHRU, spl_ce_AppendIterator, zend_ce_iterator, DIT_AppendIterator); } /* }}} */ /* {{{ proto void AppendIterator::append(Iterator it) Append an iterator */ -SPL_METHOD(AppendIterator, append) +PHP_METHOD(AppendIterator, append) { spl_dual_it_object *intern; zval *it; @@ -3208,7 +3016,7 @@ SPL_METHOD(AppendIterator, append) /* {{{ proto mixed AppendIterator::current() Get the current element value */ -SPL_METHOD(AppendIterator, current) +PHP_METHOD(AppendIterator, current) { spl_dual_it_object *intern; @@ -3230,7 +3038,7 @@ SPL_METHOD(AppendIterator, current) /* {{{ proto void AppendIterator::rewind() Rewind to the first iterator and rewind the first iterator, too */ -SPL_METHOD(AppendIterator, rewind) +PHP_METHOD(AppendIterator, rewind) { spl_dual_it_object *intern; @@ -3248,7 +3056,7 @@ SPL_METHOD(AppendIterator, rewind) /* {{{ proto bool AppendIterator::valid() Check if the current state is valid */ -SPL_METHOD(AppendIterator, valid) +PHP_METHOD(AppendIterator, valid) { spl_dual_it_object *intern; @@ -3263,7 +3071,7 @@ SPL_METHOD(AppendIterator, valid) /* {{{ proto void AppendIterator::next() Forward to next element */ -SPL_METHOD(AppendIterator, next) +PHP_METHOD(AppendIterator, next) { spl_dual_it_object *intern; @@ -3278,7 +3086,7 @@ SPL_METHOD(AppendIterator, next) /* {{{ proto int AppendIterator::getIteratorIndex() Get index of iterator */ -SPL_METHOD(AppendIterator, getIteratorIndex) +PHP_METHOD(AppendIterator, getIteratorIndex) { spl_dual_it_object *intern; @@ -3294,7 +3102,7 @@ SPL_METHOD(AppendIterator, getIteratorIndex) /* {{{ proto ArrayIterator AppendIterator::getArrayIterator() Get access to inner ArrayIterator */ -SPL_METHOD(AppendIterator, getArrayIterator) +PHP_METHOD(AppendIterator, getArrayIterator) { spl_dual_it_object *intern; zval *value; @@ -3309,20 +3117,6 @@ SPL_METHOD(AppendIterator, getArrayIterator) ZVAL_COPY_DEREF(return_value, value); } /* }}} */ -static const zend_function_entry spl_funcs_AppendIterator[] = { - SPL_ME(AppendIterator, __construct, arginfo_class_AppendIterator___construct, ZEND_ACC_PUBLIC) - SPL_ME(AppendIterator, append, arginfo_class_AppendIterator_append, ZEND_ACC_PUBLIC) - SPL_ME(AppendIterator, rewind, arginfo_class_AppendIterator_rewind, ZEND_ACC_PUBLIC) - SPL_ME(AppendIterator, valid, arginfo_class_AppendIterator_valid, ZEND_ACC_PUBLIC) - SPL_ME(dual_it, key, arginfo_class_AppendIterator_key, ZEND_ACC_PUBLIC) - SPL_ME(AppendIterator, current, arginfo_class_AppendIterator_current, ZEND_ACC_PUBLIC) - SPL_ME(AppendIterator, next, arginfo_class_AppendIterator_next, ZEND_ACC_PUBLIC) - SPL_ME(dual_it, getInnerIterator, arginfo_class_AppendIterator_getInnerIterator, ZEND_ACC_PUBLIC) - SPL_ME(AppendIterator, getIteratorIndex, arginfo_class_AppendIterator_getIteratorIndex, ZEND_ACC_PUBLIC) - SPL_ME(AppendIterator, getArrayIterator, arginfo_class_AppendIterator_getArrayIterator, ZEND_ACC_PUBLIC) - PHP_FE_END -}; - PHPAPI int spl_iterator_apply(zval *obj, spl_iterator_apply_func_t apply_func, void *puser) { zend_object_iterator *iter; @@ -3494,11 +3288,6 @@ PHP_FUNCTION(iterator_apply) } /* }}} */ -static const zend_function_entry spl_funcs_OuterIterator[] = { - SPL_ABSTRACT_ME(OuterIterator, getInnerIterator, arginfo_class_OuterIterator_getInnerIterator) - PHP_FE_END -}; - /* {{{ PHP_MINIT_FUNCTION(spl_iterators) */ PHP_MINIT_FUNCTION(spl_iterators) @@ -3506,7 +3295,7 @@ PHP_MINIT_FUNCTION(spl_iterators) REGISTER_SPL_INTERFACE(RecursiveIterator); REGISTER_SPL_ITERATOR(RecursiveIterator); - REGISTER_SPL_STD_CLASS_EX(RecursiveIteratorIterator, spl_RecursiveIteratorIterator_new, spl_funcs_RecursiveIteratorIterator); + REGISTER_SPL_STD_CLASS_EX(RecursiveIteratorIterator, spl_RecursiveIteratorIterator_new, class_RecursiveIteratorIterator_methods); REGISTER_SPL_ITERATOR(RecursiveIteratorIterator); memcpy(&spl_handlers_rec_it_it, &std_object_handlers, sizeof(zend_object_handlers)); @@ -3533,30 +3322,30 @@ PHP_MINIT_FUNCTION(spl_iterators) REGISTER_SPL_INTERFACE(OuterIterator); REGISTER_SPL_ITERATOR(OuterIterator); - REGISTER_SPL_STD_CLASS_EX(IteratorIterator, spl_dual_it_new, spl_funcs_IteratorIterator); + REGISTER_SPL_STD_CLASS_EX(IteratorIterator, spl_dual_it_new, class_IteratorIterator_methods); REGISTER_SPL_ITERATOR(IteratorIterator); REGISTER_SPL_IMPLEMENTS(IteratorIterator, OuterIterator); - REGISTER_SPL_SUB_CLASS_EX(FilterIterator, IteratorIterator, spl_dual_it_new, spl_funcs_FilterIterator); + REGISTER_SPL_SUB_CLASS_EX(FilterIterator, IteratorIterator, spl_dual_it_new, class_FilterIterator_methods); spl_ce_FilterIterator->ce_flags |= ZEND_ACC_EXPLICIT_ABSTRACT_CLASS; - REGISTER_SPL_SUB_CLASS_EX(RecursiveFilterIterator, FilterIterator, spl_dual_it_new, spl_funcs_RecursiveFilterIterator); + REGISTER_SPL_SUB_CLASS_EX(RecursiveFilterIterator, FilterIterator, spl_dual_it_new, class_RecursiveFilterIterator_methods); REGISTER_SPL_IMPLEMENTS(RecursiveFilterIterator, RecursiveIterator); - REGISTER_SPL_SUB_CLASS_EX(CallbackFilterIterator, FilterIterator, spl_dual_it_new, spl_funcs_CallbackFilterIterator); + REGISTER_SPL_SUB_CLASS_EX(CallbackFilterIterator, FilterIterator, spl_dual_it_new, class_CallbackFilterIterator_methods); - REGISTER_SPL_SUB_CLASS_EX(RecursiveCallbackFilterIterator, CallbackFilterIterator, spl_dual_it_new, spl_funcs_RecursiveCallbackFilterIterator); + REGISTER_SPL_SUB_CLASS_EX(RecursiveCallbackFilterIterator, CallbackFilterIterator, spl_dual_it_new, class_RecursiveCallbackFilterIterator_methods); REGISTER_SPL_IMPLEMENTS(RecursiveCallbackFilterIterator, RecursiveIterator); - REGISTER_SPL_SUB_CLASS_EX(ParentIterator, RecursiveFilterIterator, spl_dual_it_new, spl_funcs_ParentIterator); + REGISTER_SPL_SUB_CLASS_EX(ParentIterator, RecursiveFilterIterator, spl_dual_it_new, class_ParentIterator_methods); REGISTER_SPL_INTERFACE(SeekableIterator); REGISTER_SPL_ITERATOR(SeekableIterator); - REGISTER_SPL_SUB_CLASS_EX(LimitIterator, IteratorIterator, spl_dual_it_new, spl_funcs_LimitIterator); + REGISTER_SPL_SUB_CLASS_EX(LimitIterator, IteratorIterator, spl_dual_it_new, class_LimitIterator_methods); - REGISTER_SPL_SUB_CLASS_EX(CachingIterator, IteratorIterator, spl_dual_it_new, spl_funcs_CachingIterator); + REGISTER_SPL_SUB_CLASS_EX(CachingIterator, IteratorIterator, spl_dual_it_new, class_CachingIterator_methods); REGISTER_SPL_IMPLEMENTS(CachingIterator, ArrayAccess); REGISTER_SPL_IMPLEMENTS(CachingIterator, Countable); REGISTER_SPL_IMPLEMENTS(CachingIterator, Stringable); @@ -3568,17 +3357,17 @@ PHP_MINIT_FUNCTION(spl_iterators) REGISTER_SPL_CLASS_CONST_LONG(CachingIterator, "TOSTRING_USE_INNER", CIT_TOSTRING_USE_INNER); REGISTER_SPL_CLASS_CONST_LONG(CachingIterator, "FULL_CACHE", CIT_FULL_CACHE); - REGISTER_SPL_SUB_CLASS_EX(RecursiveCachingIterator, CachingIterator, spl_dual_it_new, spl_funcs_RecursiveCachingIterator); + REGISTER_SPL_SUB_CLASS_EX(RecursiveCachingIterator, CachingIterator, spl_dual_it_new, class_RecursiveCachingIterator_methods); REGISTER_SPL_IMPLEMENTS(RecursiveCachingIterator, RecursiveIterator); - REGISTER_SPL_SUB_CLASS_EX(NoRewindIterator, IteratorIterator, spl_dual_it_new, spl_funcs_NoRewindIterator); + REGISTER_SPL_SUB_CLASS_EX(NoRewindIterator, IteratorIterator, spl_dual_it_new, class_NoRewindIterator_methods); - REGISTER_SPL_SUB_CLASS_EX(AppendIterator, IteratorIterator, spl_dual_it_new, spl_funcs_AppendIterator); + REGISTER_SPL_SUB_CLASS_EX(AppendIterator, IteratorIterator, spl_dual_it_new, class_AppendIterator_methods); REGISTER_SPL_IMPLEMENTS(RecursiveIteratorIterator, OuterIterator); - REGISTER_SPL_SUB_CLASS_EX(InfiniteIterator, IteratorIterator, spl_dual_it_new, spl_funcs_InfiniteIterator); - REGISTER_SPL_SUB_CLASS_EX(RegexIterator, FilterIterator, spl_dual_it_new, spl_funcs_RegexIterator); + REGISTER_SPL_SUB_CLASS_EX(InfiniteIterator, IteratorIterator, spl_dual_it_new, class_InfiniteIterator_methods); + REGISTER_SPL_SUB_CLASS_EX(RegexIterator, FilterIterator, spl_dual_it_new, class_RegexIterator_methods); REGISTER_SPL_CLASS_CONST_LONG(RegexIterator, "USE_KEY", REGIT_USE_KEY); REGISTER_SPL_CLASS_CONST_LONG(RegexIterator, "INVERT_MATCH",REGIT_INVERTED); REGISTER_SPL_CLASS_CONST_LONG(RegexIterator, "MATCH", REGIT_MODE_MATCH); @@ -3587,13 +3376,13 @@ PHP_MINIT_FUNCTION(spl_iterators) REGISTER_SPL_CLASS_CONST_LONG(RegexIterator, "SPLIT", REGIT_MODE_SPLIT); REGISTER_SPL_CLASS_CONST_LONG(RegexIterator, "REPLACE", REGIT_MODE_REPLACE); REGISTER_SPL_PROPERTY(RegexIterator, "replacement", 0); - REGISTER_SPL_SUB_CLASS_EX(RecursiveRegexIterator, RegexIterator, spl_dual_it_new, spl_funcs_RecursiveRegexIterator); + REGISTER_SPL_SUB_CLASS_EX(RecursiveRegexIterator, RegexIterator, spl_dual_it_new, class_RecursiveRegexIterator_methods); REGISTER_SPL_IMPLEMENTS(RecursiveRegexIterator, RecursiveIterator); - REGISTER_SPL_STD_CLASS_EX(EmptyIterator, NULL, spl_funcs_EmptyIterator); + REGISTER_SPL_STD_CLASS_EX(EmptyIterator, NULL, class_EmptyIterator_methods); REGISTER_SPL_ITERATOR(EmptyIterator); - REGISTER_SPL_SUB_CLASS_EX(RecursiveTreeIterator, RecursiveIteratorIterator, spl_RecursiveTreeIterator_new, spl_funcs_RecursiveTreeIterator); + REGISTER_SPL_SUB_CLASS_EX(RecursiveTreeIterator, RecursiveIteratorIterator, spl_RecursiveTreeIterator_new, class_RecursiveTreeIterator_methods); REGISTER_SPL_CLASS_CONST_LONG(RecursiveTreeIterator, "BYPASS_CURRENT", RTIT_BYPASS_CURRENT); REGISTER_SPL_CLASS_CONST_LONG(RecursiveTreeIterator, "BYPASS_KEY", RTIT_BYPASS_KEY); REGISTER_SPL_CLASS_CONST_LONG(RecursiveTreeIterator, "PREFIX_LEFT", 0); diff --git a/ext/spl/spl_iterators.stub.php b/ext/spl/spl_iterators.stub.php index 7c407f2998..fa97f45b62 100644 --- a/ext/spl/spl_iterators.stub.php +++ b/ext/spl/spl_iterators.stub.php @@ -1,5 +1,7 @@