Skip to content

Commit 75a3213

Browse files
Victor Gazotticmb69
authored andcommitted
creating stubs for echant ext
1 parent a3abbc0 commit 75a3213

File tree

3 files changed

+183
-67
lines changed

3 files changed

+183
-67
lines changed

ext/enchant/enchant.c

Lines changed: 11 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
#include "ext/standard/info.h"
2727
#include <enchant.h>
2828
#include "php_enchant.h"
29+
#include "enchant_arginfo.h"
2930

3031
typedef EnchantBroker * EnchantBrokerPtr;
3132
typedef struct _broker_struct enchant_broker;
@@ -59,88 +60,31 @@ static int le_enchant_dict;
5960
#define PHP_ENCHANT_MYSPELL 1
6061
#define PHP_ENCHANT_ISPELL 2
6162

62-
/* {{{ arginfo */
63-
ZEND_BEGIN_ARG_INFO(arginfo_enchant_broker_init, 0)
64-
ZEND_END_ARG_INFO()
65-
66-
ZEND_BEGIN_ARG_INFO_EX(arginfo_enchant_broker_free, 0, 0, 1)
67-
ZEND_ARG_INFO(0, broker)
68-
ZEND_END_ARG_INFO()
69-
70-
ZEND_BEGIN_ARG_INFO_EX(arginfo_enchant_broker_set_dict_path, 0, 0, 3)
71-
ZEND_ARG_INFO(0, broker)
72-
ZEND_ARG_INFO(0, name)
73-
ZEND_ARG_INFO(0, value)
74-
ZEND_END_ARG_INFO()
75-
76-
ZEND_BEGIN_ARG_INFO_EX(arginfo_enchant_broker_get_dict_path, 0, 0, 2)
77-
ZEND_ARG_INFO(0, broker)
78-
ZEND_ARG_INFO(0, name)
79-
ZEND_END_ARG_INFO()
80-
81-
ZEND_BEGIN_ARG_INFO_EX(arginfo_enchant_broker_request_dict, 0, 0, 2)
82-
ZEND_ARG_INFO(0, broker)
83-
ZEND_ARG_INFO(0, tag)
84-
ZEND_END_ARG_INFO()
85-
86-
ZEND_BEGIN_ARG_INFO_EX(arginfo_enchant_broker_request_pwl_dict, 0, 0, 2)
87-
ZEND_ARG_INFO(0, broker)
88-
ZEND_ARG_INFO(0, filename)
89-
ZEND_END_ARG_INFO()
90-
91-
ZEND_BEGIN_ARG_INFO_EX(arginfo_enchant_broker_free_dict, 0, 0, 1)
92-
ZEND_ARG_INFO(0, dict)
93-
ZEND_END_ARG_INFO()
94-
95-
ZEND_BEGIN_ARG_INFO_EX(arginfo_enchant_broker_set_ordering, 0, 0, 3)
96-
ZEND_ARG_INFO(0, broker)
97-
ZEND_ARG_INFO(0, tag)
98-
ZEND_ARG_INFO(0, ordering)
99-
ZEND_END_ARG_INFO()
100-
101-
ZEND_BEGIN_ARG_INFO_EX(arginfo_enchant_dict_quick_check, 0, 0, 2)
102-
ZEND_ARG_INFO(0, dict)
103-
ZEND_ARG_INFO(0, word)
104-
ZEND_ARG_INFO(1, suggestions)
105-
ZEND_END_ARG_INFO()
106-
107-
ZEND_BEGIN_ARG_INFO_EX(arginfo_enchant_dict_check, 0, 0, 2)
108-
ZEND_ARG_INFO(0, dict)
109-
ZEND_ARG_INFO(0, word)
110-
ZEND_END_ARG_INFO()
111-
112-
ZEND_BEGIN_ARG_INFO_EX(arginfo_enchant_dict_store_replacement, 0, 0, 3)
113-
ZEND_ARG_INFO(0, dict)
114-
ZEND_ARG_INFO(0, mis)
115-
ZEND_ARG_INFO(0, cor)
116-
ZEND_END_ARG_INFO()
117-
/* }}} */
118-
11963
/* {{{ enchant_functions[]
12064
*
12165
* Every user visible function must have an entry in enchant_functions[].
12266
*/
12367
static const zend_function_entry enchant_functions[] = {
12468
PHP_FE(enchant_broker_init, arginfo_enchant_broker_init)
12569
PHP_FE(enchant_broker_free, arginfo_enchant_broker_free)
126-
PHP_FE(enchant_broker_get_error, arginfo_enchant_broker_free)
70+
PHP_FE(enchant_broker_get_error, arginfo_enchant_broker_get_error)
12771
PHP_FE(enchant_broker_set_dict_path, arginfo_enchant_broker_set_dict_path)
12872
PHP_FE(enchant_broker_get_dict_path, arginfo_enchant_broker_get_dict_path)
129-
PHP_FE(enchant_broker_list_dicts, arginfo_enchant_broker_free)
73+
PHP_FE(enchant_broker_list_dicts, arginfo_enchant_broker_list_dicts)
13074
PHP_FE(enchant_broker_request_dict, arginfo_enchant_broker_request_dict)
13175
PHP_FE(enchant_broker_request_pwl_dict, arginfo_enchant_broker_request_pwl_dict)
13276
PHP_FE(enchant_broker_free_dict, arginfo_enchant_broker_free_dict)
133-
PHP_FE(enchant_broker_dict_exists, arginfo_enchant_broker_request_dict)
77+
PHP_FE(enchant_broker_dict_exists, arginfo_enchant_broker_dict_exists)
13478
PHP_FE(enchant_broker_set_ordering, arginfo_enchant_broker_set_ordering)
135-
PHP_FE(enchant_broker_describe, arginfo_enchant_broker_free)
79+
PHP_FE(enchant_broker_describe, arginfo_enchant_broker_describe)
13680
PHP_FE(enchant_dict_check, arginfo_enchant_dict_check)
137-
PHP_FE(enchant_dict_suggest, arginfo_enchant_dict_check)
138-
PHP_FE(enchant_dict_add_to_personal, arginfo_enchant_dict_check)
139-
PHP_FE(enchant_dict_add_to_session, arginfo_enchant_dict_check)
140-
PHP_FE(enchant_dict_is_in_session, arginfo_enchant_dict_check)
81+
PHP_FE(enchant_dict_suggest, arginfo_enchant_dict_suggest)
82+
PHP_FE(enchant_dict_add_to_personal, arginfo_enchant_dict_add_to_personal)
83+
PHP_FE(enchant_dict_add_to_session, arginfo_enchant_dict_add_to_session)
84+
PHP_FE(enchant_dict_is_in_session, arginfo_enchant_dict_is_in_session)
14185
PHP_FE(enchant_dict_store_replacement, arginfo_enchant_dict_store_replacement)
142-
PHP_FE(enchant_dict_get_error, arginfo_enchant_broker_free_dict)
143-
PHP_FE(enchant_dict_describe, arginfo_enchant_broker_free_dict)
86+
PHP_FE(enchant_dict_get_error, arginfo_enchant_dict_get_error)
87+
PHP_FE(enchant_dict_describe, arginfo_enchant_dict_describe)
14488
PHP_FE(enchant_dict_quick_check, arginfo_enchant_dict_quick_check)
14589
PHP_FE_END
14690
};

ext/enchant/enchant.stub.php

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
<?php
2+
3+
/** @return resource|false */
4+
function enchant_broker_init() {}
5+
6+
/** @param resource $broker */
7+
function enchant_broker_free($broker): bool {}
8+
9+
/**
10+
* @param resource $broker
11+
* @return string|false
12+
*/
13+
function enchant_broker_get_error($broker) {}
14+
15+
/** @param resource $broker */
16+
function enchant_broker_set_dict_path($broker, int $name, string $value): bool {}
17+
18+
/**
19+
* @param resource $broker
20+
* @return string|false
21+
*/
22+
function enchant_broker_get_dict_path($broker, int $name) {}
23+
24+
/** @param resource $broker */
25+
function enchant_broker_list_dicts($broker): array {}
26+
27+
/**
28+
* @param resource $broker
29+
* @return resource|false
30+
*/
31+
function enchant_broker_request_dict($broker, string $tag) {}
32+
33+
/**
34+
* @param resource $broker
35+
* @return resource|false
36+
*/
37+
function enchant_broker_request_pwl_dict($broker, string $filename) {}
38+
39+
/** @param resource $dict */
40+
function enchant_broker_free_dict($dict): bool {}
41+
42+
/** @param resource $broker */
43+
function enchant_broker_dict_exists($broker, string $tag): bool {}
44+
45+
/** @param resource $broker */
46+
function enchant_broker_set_ordering($broker, string $tag, string $ordering): bool {}
47+
48+
/** @param resource $broker */
49+
function enchant_broker_describe($broker): array {}
50+
51+
/** @param resource $dict */
52+
function enchant_dict_quick_check($dict, string $word, &$suggestions = UNKNOWN): bool {}
53+
54+
/** @param resource $dict */
55+
function enchant_dict_check($dict, string $word): bool {}
56+
57+
/** @param resource $dict */
58+
function enchant_dict_suggest($dict, string $word): ?array {}
59+
60+
/** @param resource $dict */
61+
function enchant_dict_add_to_personal($dict, string $word): void {}
62+
63+
/** @param resource $dict */
64+
function enchant_dict_add_to_session($dict, string $word): void {}
65+
66+
/** @param resource $dict */
67+
function enchant_dict_is_in_session($dict, string $word): bool {}
68+
69+
/** @param resource $dict */
70+
function enchant_dict_store_replacement($dict, string $mis, string $cor): void {}
71+
72+
/**
73+
* @param resource $dict
74+
* @return string|false
75+
*/
76+
function enchant_dict_get_error($dict) {}
77+
78+
/** @param resource $dict */
79+
function enchant_dict_describe($dict): array {}

ext/enchant/enchant_arginfo.h

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
/* This is a generated file, edit the .stub.php file instead. */
2+
3+
ZEND_BEGIN_ARG_INFO_EX(arginfo_enchant_broker_init, 0, 0, 0)
4+
ZEND_END_ARG_INFO()
5+
6+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_broker_free, 0, 1, _IS_BOOL, 0)
7+
ZEND_ARG_INFO(0, broker)
8+
ZEND_END_ARG_INFO()
9+
10+
ZEND_BEGIN_ARG_INFO_EX(arginfo_enchant_broker_get_error, 0, 0, 1)
11+
ZEND_ARG_INFO(0, broker)
12+
ZEND_END_ARG_INFO()
13+
14+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_broker_set_dict_path, 0, 3, _IS_BOOL, 0)
15+
ZEND_ARG_INFO(0, broker)
16+
ZEND_ARG_TYPE_INFO(0, name, IS_LONG, 0)
17+
ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
18+
ZEND_END_ARG_INFO()
19+
20+
ZEND_BEGIN_ARG_INFO_EX(arginfo_enchant_broker_get_dict_path, 0, 0, 2)
21+
ZEND_ARG_INFO(0, broker)
22+
ZEND_ARG_TYPE_INFO(0, name, IS_LONG, 0)
23+
ZEND_END_ARG_INFO()
24+
25+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_broker_list_dicts, 0, 1, IS_ARRAY, 0)
26+
ZEND_ARG_INFO(0, broker)
27+
ZEND_END_ARG_INFO()
28+
29+
ZEND_BEGIN_ARG_INFO_EX(arginfo_enchant_broker_request_dict, 0, 0, 2)
30+
ZEND_ARG_INFO(0, broker)
31+
ZEND_ARG_TYPE_INFO(0, tag, IS_STRING, 0)
32+
ZEND_END_ARG_INFO()
33+
34+
ZEND_BEGIN_ARG_INFO_EX(arginfo_enchant_broker_request_pwl_dict, 0, 0, 2)
35+
ZEND_ARG_INFO(0, broker)
36+
ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
37+
ZEND_END_ARG_INFO()
38+
39+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_broker_free_dict, 0, 1, _IS_BOOL, 0)
40+
ZEND_ARG_INFO(0, dict)
41+
ZEND_END_ARG_INFO()
42+
43+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_broker_dict_exists, 0, 2, _IS_BOOL, 0)
44+
ZEND_ARG_INFO(0, broker)
45+
ZEND_ARG_TYPE_INFO(0, tag, IS_STRING, 0)
46+
ZEND_END_ARG_INFO()
47+
48+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_broker_set_ordering, 0, 3, _IS_BOOL, 0)
49+
ZEND_ARG_INFO(0, broker)
50+
ZEND_ARG_TYPE_INFO(0, tag, IS_STRING, 0)
51+
ZEND_ARG_TYPE_INFO(0, ordering, IS_STRING, 0)
52+
ZEND_END_ARG_INFO()
53+
54+
#define arginfo_enchant_broker_describe arginfo_enchant_broker_list_dicts
55+
56+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_dict_quick_check, 0, 2, _IS_BOOL, 0)
57+
ZEND_ARG_INFO(0, dict)
58+
ZEND_ARG_TYPE_INFO(0, word, IS_STRING, 0)
59+
ZEND_ARG_INFO(1, suggestions)
60+
ZEND_END_ARG_INFO()
61+
62+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_dict_check, 0, 2, _IS_BOOL, 0)
63+
ZEND_ARG_INFO(0, dict)
64+
ZEND_ARG_TYPE_INFO(0, word, IS_STRING, 0)
65+
ZEND_END_ARG_INFO()
66+
67+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_dict_suggest, 0, 2, IS_ARRAY, 1)
68+
ZEND_ARG_INFO(0, dict)
69+
ZEND_ARG_TYPE_INFO(0, word, IS_STRING, 0)
70+
ZEND_END_ARG_INFO()
71+
72+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_dict_add_to_personal, 0, 2, IS_VOID, 0)
73+
ZEND_ARG_INFO(0, dict)
74+
ZEND_ARG_TYPE_INFO(0, word, IS_STRING, 0)
75+
ZEND_END_ARG_INFO()
76+
77+
#define arginfo_enchant_dict_add_to_session arginfo_enchant_dict_add_to_personal
78+
79+
#define arginfo_enchant_dict_is_in_session arginfo_enchant_dict_check
80+
81+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_dict_store_replacement, 0, 3, IS_VOID, 0)
82+
ZEND_ARG_INFO(0, dict)
83+
ZEND_ARG_TYPE_INFO(0, mis, IS_STRING, 0)
84+
ZEND_ARG_TYPE_INFO(0, cor, IS_STRING, 0)
85+
ZEND_END_ARG_INFO()
86+
87+
ZEND_BEGIN_ARG_INFO_EX(arginfo_enchant_dict_get_error, 0, 0, 1)
88+
ZEND_ARG_INFO(0, dict)
89+
ZEND_END_ARG_INFO()
90+
91+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_dict_describe, 0, 1, IS_ARRAY, 0)
92+
ZEND_ARG_INFO(0, dict)
93+
ZEND_END_ARG_INFO()

0 commit comments

Comments
 (0)