Skip to content

Commit a6e1094

Browse files
Henrique Duartenikic
authored andcommitted
Add stubs for filter extension
Closes GH-4542.
1 parent af5c637 commit a6e1094

File tree

3 files changed

+74
-39
lines changed

3 files changed

+74
-39
lines changed

ext/filter/filter.c

Lines changed: 1 addition & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
ZEND_DECLARE_MODULE_GLOBALS(filter)
2929

3030
#include "filter_private.h"
31+
#include "filter_arginfo.h"
3132

3233
typedef struct filter_list_entry {
3334
const char *name;
@@ -80,45 +81,6 @@ static const filter_list_entry filter_list[] = {
8081
static unsigned int php_sapi_filter(int arg, char *var, char **val, size_t val_len, size_t *new_val_len);
8182
static unsigned int php_sapi_filter_init(void);
8283

83-
/* {{{ arginfo */
84-
ZEND_BEGIN_ARG_INFO_EX(arginfo_filter_input, 0, 0, 2)
85-
ZEND_ARG_INFO(0, type)
86-
ZEND_ARG_INFO(0, variable_name)
87-
ZEND_ARG_INFO(0, filter)
88-
ZEND_ARG_INFO(0, options)
89-
ZEND_END_ARG_INFO()
90-
91-
ZEND_BEGIN_ARG_INFO_EX(arginfo_filter_var, 0, 0, 1)
92-
ZEND_ARG_INFO(0, variable)
93-
ZEND_ARG_INFO(0, filter)
94-
ZEND_ARG_INFO(0, options)
95-
ZEND_END_ARG_INFO()
96-
97-
ZEND_BEGIN_ARG_INFO_EX(arginfo_filter_input_array, 0, 0, 1)
98-
ZEND_ARG_INFO(0, type)
99-
ZEND_ARG_INFO(0, definition)
100-
ZEND_ARG_INFO(0, add_empty)
101-
ZEND_END_ARG_INFO()
102-
103-
ZEND_BEGIN_ARG_INFO_EX(arginfo_filter_var_array, 0, 0, 1)
104-
ZEND_ARG_INFO(0, data)
105-
ZEND_ARG_INFO(0, definition)
106-
ZEND_ARG_INFO(0, add_empty)
107-
ZEND_END_ARG_INFO()
108-
109-
ZEND_BEGIN_ARG_INFO(arginfo_filter_list, 0)
110-
ZEND_END_ARG_INFO()
111-
112-
ZEND_BEGIN_ARG_INFO_EX(arginfo_filter_has_var, 0, 0, 2)
113-
ZEND_ARG_INFO(0, type)
114-
ZEND_ARG_INFO(0, variable_name)
115-
ZEND_END_ARG_INFO()
116-
117-
ZEND_BEGIN_ARG_INFO_EX(arginfo_filter_id, 0, 0, 1)
118-
ZEND_ARG_INFO(0, filtername)
119-
ZEND_END_ARG_INFO()
120-
/* }}} */
121-
12284
/* {{{ filter_functions[]
12385
*/
12486
static const zend_function_entry filter_functions[] = {

ext/filter/filter.stub.php

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?php
2+
3+
function filter_has_var(int $type, string $variable_name): bool {}
4+
5+
/**
6+
* @param mixed $options
7+
* @return mixed
8+
*/
9+
function filter_input(int $type, string $variable_name, int $filter = FILTER_DEFAULT, $options = NULL) {}
10+
11+
/**
12+
* @param mixed $variable
13+
* @param mixed $options
14+
* @return mixed
15+
*/
16+
function filter_var($variable, int $filter = FILTER_DEFAULT, $options = NULL) {}
17+
18+
/**
19+
* @param mixed $options
20+
* @return mixed
21+
*/
22+
function filter_input_array(int $type, $options = NULL, bool $add_empty = true) {}
23+
24+
/**
25+
* @param mixed $options
26+
* @return mixed
27+
*/
28+
function filter_var_array(array $data, $options = NULL, bool $add_empty = true) {}
29+
30+
function filter_list(): array {}
31+
32+
/**
33+
* @return int|false
34+
*/
35+
function filter_id(string $filtername) {}

ext/filter/filter_arginfo.h

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/* This is a generated file, edit the .stub.php file instead. */
2+
3+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_filter_has_var, 0, 2, _IS_BOOL, 0)
4+
ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
5+
ZEND_ARG_TYPE_INFO(0, variable_name, IS_STRING, 0)
6+
ZEND_END_ARG_INFO()
7+
8+
ZEND_BEGIN_ARG_INFO_EX(arginfo_filter_input, 0, 0, 2)
9+
ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
10+
ZEND_ARG_TYPE_INFO(0, variable_name, IS_STRING, 0)
11+
ZEND_ARG_TYPE_INFO(0, filter, IS_LONG, 0)
12+
ZEND_ARG_INFO(0, options)
13+
ZEND_END_ARG_INFO()
14+
15+
ZEND_BEGIN_ARG_INFO_EX(arginfo_filter_var, 0, 0, 1)
16+
ZEND_ARG_INFO(0, variable)
17+
ZEND_ARG_TYPE_INFO(0, filter, IS_LONG, 0)
18+
ZEND_ARG_INFO(0, options)
19+
ZEND_END_ARG_INFO()
20+
21+
ZEND_BEGIN_ARG_INFO_EX(arginfo_filter_input_array, 0, 0, 1)
22+
ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
23+
ZEND_ARG_INFO(0, options)
24+
ZEND_ARG_TYPE_INFO(0, add_empty, _IS_BOOL, 0)
25+
ZEND_END_ARG_INFO()
26+
27+
ZEND_BEGIN_ARG_INFO_EX(arginfo_filter_var_array, 0, 0, 1)
28+
ZEND_ARG_TYPE_INFO(0, data, IS_ARRAY, 0)
29+
ZEND_ARG_INFO(0, options)
30+
ZEND_ARG_TYPE_INFO(0, add_empty, _IS_BOOL, 0)
31+
ZEND_END_ARG_INFO()
32+
33+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_filter_list, 0, 0, IS_ARRAY, 0)
34+
ZEND_END_ARG_INFO()
35+
36+
ZEND_BEGIN_ARG_INFO_EX(arginfo_filter_id, 0, 0, 1)
37+
ZEND_ARG_TYPE_INFO(0, filtername, IS_STRING, 0)
38+
ZEND_END_ARG_INFO()

0 commit comments

Comments
 (0)