Skip to content

Commit 66af68d

Browse files
committed
Generate function entries from stubs for a couple of extensions
1 parent 1bba691 commit 66af68d

23 files changed

+677
-549
lines changed

ext/standard/dir.c

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -87,13 +87,6 @@ static zend_class_entry *dir_class_entry_ptr;
8787
} \
8888
}
8989

90-
static const zend_function_entry php_dir_class_functions[] = {
91-
PHP_FALIAS(close, closedir, arginfo_class_Directory_close)
92-
PHP_FALIAS(rewind, rewinddir, arginfo_class_Directory_rewind)
93-
PHP_FALIAS(read, readdir, arginfo_class_Directory_read)
94-
PHP_FE_END
95-
};
96-
9790

9891
static void php_set_default_dir(zend_resource *res)
9992
{
@@ -119,7 +112,7 @@ PHP_MINIT_FUNCTION(dir)
119112
static char dirsep_str[2], pathsep_str[2];
120113
zend_class_entry dir_class_entry;
121114

122-
INIT_CLASS_ENTRY(dir_class_entry, "Directory", php_dir_class_functions);
115+
INIT_CLASS_ENTRY(dir_class_entry, "Directory", class_Directory_methods);
123116
dir_class_entry_ptr = zend_register_internal_class(&dir_class_entry);
124117

125118
#ifdef ZTS

ext/standard/dir.stub.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,27 @@
11
<?php
22

3+
/** @generate-function-entries */
4+
35
class Directory
46
{
57
/**
68
* @param resource $dir_handle
79
* @return void
10+
* @alias closedir
811
*/
912
public function close($dir_handle = UNKNOWN) {}
1013

1114
/**
1215
* @param resource $dir_handle
1316
* @return void
17+
* @alias rewinddir
1418
*/
1519
public function rewind($dir_handle = UNKNOWN) {}
1620

1721
/**
1822
* @param resource $dir_handle
1923
* @return string|false
24+
* @alias readdir
2025
*/
2126
public function read($dir_handle = UNKNOWN) {}
2227
}

ext/standard/dir_arginfo.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,16 @@ ZEND_END_ARG_INFO()
77
#define arginfo_class_Directory_rewind arginfo_class_Directory_close
88

99
#define arginfo_class_Directory_read arginfo_class_Directory_close
10+
11+
12+
ZEND_FUNCTION(closedir);
13+
ZEND_FUNCTION(rewinddir);
14+
ZEND_FUNCTION(readdir);
15+
16+
17+
static const zend_function_entry class_Directory_methods[] = {
18+
ZEND_ME_MAPPING(close, closedir, arginfo_class_Directory_close, ZEND_ACC_PUBLIC)
19+
ZEND_ME_MAPPING(rewind, rewinddir, arginfo_class_Directory_rewind, ZEND_ACC_PUBLIC)
20+
ZEND_ME_MAPPING(read, readdir, arginfo_class_Directory_read, ZEND_ACC_PUBLIC)
21+
ZEND_FE_END
22+
};

ext/standard/user_filters.c

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,6 @@ PHP_FUNCTION(user_filter_nop)
4343
{
4444
}
4545

46-
static const zend_function_entry user_filter_class_funcs[] = {
47-
PHP_NAMED_FE(filter, PHP_FN(user_filter_nop), arginfo_class_php_user_filter_filter)
48-
PHP_NAMED_FE(onCreate, PHP_FN(user_filter_nop), arginfo_class_php_user_filter_onCreate)
49-
PHP_NAMED_FE(onClose, PHP_FN(user_filter_nop), arginfo_class_php_user_filter_onClose)
50-
PHP_FE_END
51-
};
52-
5346
static zend_class_entry user_filter_class_entry;
5447

5548
static ZEND_RSRC_DTOR_FUNC(php_bucket_dtor)
@@ -65,7 +58,7 @@ PHP_MINIT_FUNCTION(user_filters)
6558
{
6659
zend_class_entry *php_user_filter;
6760
/* init the filter class ancestor */
68-
INIT_CLASS_ENTRY(user_filter_class_entry, "php_user_filter", user_filter_class_funcs);
61+
INIT_CLASS_ENTRY(user_filter_class_entry, "php_user_filter", class_php_user_filter_methods);
6962
if ((php_user_filter = zend_register_internal_class(&user_filter_class_entry)) == NULL) {
7063
return FAILURE;
7164
}

ext/standard/user_filters.stub.php

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,24 @@
11
<?php
22

3+
/** @generate-function-entries */
4+
35
class php_user_filter
46
{
5-
/** @return int */
7+
/**
8+
* @return int
9+
* @alias user_filter_nop
10+
*/
611
public function filter($in, $out, &$consumed, $closing) {}
712

8-
/** @return void */
13+
/**
14+
* @return void
15+
* @alias user_filter_nop
16+
*/
917
public function onCreate() {}
1018

11-
/** @return void */
19+
/**
20+
* @return void
21+
* @alias user_filter_nop
22+
*/
1223
public function onClose() {}
1324
}

ext/standard/user_filters_arginfo.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,14 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_php_user_filter_onCreate, 0, 0, 0)
1111
ZEND_END_ARG_INFO()
1212

1313
#define arginfo_class_php_user_filter_onClose arginfo_class_php_user_filter_onCreate
14+
15+
16+
ZEND_FUNCTION(user_filter_nop);
17+
18+
19+
static const zend_function_entry class_php_user_filter_methods[] = {
20+
ZEND_ME_MAPPING(filter, user_filter_nop, arginfo_class_php_user_filter_filter, ZEND_ACC_PUBLIC)
21+
ZEND_ME_MAPPING(onCreate, user_filter_nop, arginfo_class_php_user_filter_onCreate, ZEND_ACC_PUBLIC)
22+
ZEND_ME_MAPPING(onClose, user_filter_nop, arginfo_class_php_user_filter_onClose, ZEND_ACC_PUBLIC)
23+
ZEND_FE_END
24+
};

ext/tidy/php_tidy.h

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,6 @@ extern zend_module_entry tidy_module_entry;
2323
#include "php_version.h"
2424
#define PHP_TIDY_VERSION PHP_VERSION
2525

26-
#define TIDY_METHOD_MAP(name, func_name, arg_types) \
27-
ZEND_NAMED_FE(name, ZEND_FN(func_name), arg_types)
28-
#define TIDY_NODE_METHOD(name) PHP_FUNCTION(tnm_ ##name)
29-
#define TIDY_NODE_ME(name, param) TIDY_METHOD_MAP(name, tnm_ ##name, param)
30-
#define TIDY_NODE_PRIVATE_ME(name, param) ZEND_NAMED_ME(name, ZEND_FN(tnm_ ##name), param, ZEND_ACC_PRIVATE)
31-
#define TIDY_DOC_METHOD(name) PHP_FUNCTION(tdm_ ##name)
32-
#define TIDY_DOC_ME(name, param) TIDY_METHOD_MAP(name, tdm_ ##name, param)
33-
#define TIDY_ATTR_METHOD(name) PHP_FUNCTION(tam_ ##name)
34-
#define TIDY_ATTR_ME(name, param) TIDY_METHOD_MAP(name, tam_ ##name, param)
35-
3626
ZEND_BEGIN_MODULE_GLOBALS(tidy)
3727
char *default_config;
3828
zend_bool clean_output;

0 commit comments

Comments
 (0)