Skip to content

Commit 4ddbf23

Browse files
committed
Add stubs for common
1 parent 528a14e commit 4ddbf23

File tree

4 files changed

+99
-14
lines changed

4 files changed

+99
-14
lines changed

ext/intl/common/common.stub.php

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
class IntlIterator implements Iterator
4+
{
5+
public function current() {}
6+
7+
public function key() {}
8+
9+
public function next() {}
10+
11+
public function rewind() {}
12+
13+
public function valid() {}
14+
}
15+
16+
function intl_get_error_code(): int {}
17+
18+
function intl_get_error_message(): string {}
19+
20+
function intl_is_failure(int $error_code): bool {}
21+
22+
function intl_error_name(int $error_code): string {}

ext/intl/common/common_arginfo.h

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/* This is a generated file, edit the .stub.php file instead. */
2+
3+
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlIterator_current, 0, 0, 0)
4+
ZEND_END_ARG_INFO()
5+
6+
#define arginfo_class_IntlIterator_key arginfo_class_IntlIterator_current
7+
8+
#define arginfo_class_IntlIterator_next arginfo_class_IntlIterator_current
9+
10+
#define arginfo_class_IntlIterator_rewind arginfo_class_IntlIterator_current
11+
12+
#define arginfo_class_IntlIterator_valid arginfo_class_IntlIterator_current
13+
14+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intl_get_error_code, 0, 0, IS_LONG, 0)
15+
ZEND_END_ARG_INFO()
16+
17+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intl_get_error_message, 0, 0, IS_STRING, 0)
18+
ZEND_END_ARG_INFO()
19+
20+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intl_is_failure, 0, 1, _IS_BOOL, 0)
21+
ZEND_ARG_TYPE_INFO(0, error_code, IS_LONG, 0)
22+
ZEND_END_ARG_INFO()
23+
24+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intl_error_name, 0, 1, IS_STRING, 0)
25+
ZEND_ARG_TYPE_INFO(0, error_code, IS_LONG, 0)
26+
ZEND_END_ARG_INFO()

ext/intl/common/common_enum.cpp

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
#include <stdio.h>
2323

2424
#include "common_enum.h"
25+
#include "common_arginfo.h"
2526

2627
extern "C" {
2728
#include <zend_interfaces.h>
@@ -280,15 +281,12 @@ static PHP_METHOD(IntlIterator, valid)
280281
RETURN_BOOL(ii->iterator->funcs->valid(ii->iterator) == SUCCESS);
281282
}
282283

283-
ZEND_BEGIN_ARG_INFO_EX(ainfo_se_void, 0, 0, 0)
284-
ZEND_END_ARG_INFO()
285-
286284
static const zend_function_entry IntlIterator_class_functions[] = {
287-
PHP_ME(IntlIterator, current, ainfo_se_void, ZEND_ACC_PUBLIC)
288-
PHP_ME(IntlIterator, key, ainfo_se_void, ZEND_ACC_PUBLIC)
289-
PHP_ME(IntlIterator, next, ainfo_se_void, ZEND_ACC_PUBLIC)
290-
PHP_ME(IntlIterator, rewind, ainfo_se_void, ZEND_ACC_PUBLIC)
291-
PHP_ME(IntlIterator, valid, ainfo_se_void, ZEND_ACC_PUBLIC)
285+
PHP_ME(IntlIterator, current, arginfo_class_IntlIterator_current, ZEND_ACC_PUBLIC)
286+
PHP_ME(IntlIterator, key, arginfo_class_IntlIterator_key, ZEND_ACC_PUBLIC)
287+
PHP_ME(IntlIterator, next, arginfo_class_IntlIterator_next, ZEND_ACC_PUBLIC)
288+
PHP_ME(IntlIterator, rewind, arginfo_class_IntlIterator_rewind, ZEND_ACC_PUBLIC)
289+
PHP_ME(IntlIterator, valid, arginfo_class_IntlIterator_valid, ZEND_ACC_PUBLIC)
292290
PHP_FE_END
293291
};
294292

ext/intl/php_intl.c

Lines changed: 45 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@
100100
#include "msgformat/msgformat.h"
101101
#include "common/common_error.h"
102102
#include "common/common_enum.h"
103+
#include "common/common_arginfo.h"
103104

104105
#include <unicode/uloc.h>
105106
#include <unicode/uclean.h>
@@ -141,8 +142,46 @@ ZEND_BEGIN_ARG_INFO_EX(numfmt_parse_currency_arginfo, 0, 0, 3)
141142
ZEND_ARG_INFO(1, position)
142143
ZEND_END_ARG_INFO()
143144

144-
#define intl_0_args collator_static_0_args
145-
#define intl_1_arg collator_static_1_arg
145+
ZEND_BEGIN_ARG_INFO_EX(normalizer_args, 0, 0, 1)
146+
ZEND_ARG_INFO(0, input)
147+
ZEND_ARG_INFO(0, form)
148+
ZEND_END_ARG_INFO()
149+
150+
#if U_ICU_VERSION_MAJOR_NUM >= 56
151+
ZEND_BEGIN_ARG_INFO_EX(decomposition_args, 0, 0, 1)
152+
ZEND_ARG_INFO(0, input)
153+
ZEND_END_ARG_INFO();
154+
#endif
155+
156+
ZEND_BEGIN_ARG_INFO_EX(grapheme_1_arg, 0, 0, 1)
157+
ZEND_ARG_INFO(0, string)
158+
ZEND_END_ARG_INFO()
159+
160+
ZEND_BEGIN_ARG_INFO_EX(grapheme_search_args, 0, 0, 2)
161+
ZEND_ARG_INFO(0, haystack)
162+
ZEND_ARG_INFO(0, needle)
163+
ZEND_ARG_INFO(0, offset)
164+
ZEND_END_ARG_INFO()
165+
166+
ZEND_BEGIN_ARG_INFO_EX(grapheme_substr_args, 0, 0, 2)
167+
ZEND_ARG_INFO(0, string)
168+
ZEND_ARG_INFO(0, start)
169+
ZEND_ARG_INFO(0, length)
170+
ZEND_END_ARG_INFO()
171+
172+
ZEND_BEGIN_ARG_INFO_EX(grapheme_strstr_args, 0, 0, 2)
173+
ZEND_ARG_INFO(0, haystack)
174+
ZEND_ARG_INFO(0, needle)
175+
ZEND_ARG_INFO(0, before_needle)
176+
ZEND_END_ARG_INFO()
177+
178+
ZEND_BEGIN_ARG_INFO_EX(grapheme_extract_args, 0, 0, 2)
179+
ZEND_ARG_INFO(0, arg1)
180+
ZEND_ARG_INFO(0, arg2)
181+
ZEND_ARG_INFO(0, arg3)
182+
ZEND_ARG_INFO(0, arg4)
183+
ZEND_ARG_INFO(1, arg5) /* 1 = pass by reference */
184+
ZEND_END_ARG_INFO()
146185

147186
ZEND_BEGIN_ARG_INFO_EX(datefmt_parse_args, 0, 0, 2)
148187
ZEND_ARG_INFO(0, formatter)
@@ -646,10 +685,10 @@ static const zend_function_entry intl_functions[] = {
646685
PHP_FE( intlgregcal_is_leap_year, ainfo_gregcal_is_leap_year )
647686

648687
/* common functions */
649-
PHP_FE( intl_get_error_code, intl_0_args )
650-
PHP_FE( intl_get_error_message, intl_0_args )
651-
PHP_FE( intl_is_failure, intl_1_arg )
652-
PHP_FE( intl_error_name, intl_1_arg )
688+
PHP_FE( intl_get_error_code, arginfo_intl_get_error_code )
689+
PHP_FE( intl_get_error_message, arginfo_intl_get_error_message )
690+
PHP_FE( intl_is_failure, arginfo_intl_is_failure )
691+
PHP_FE( intl_error_name, arginfo_intl_error_name )
653692

654693
PHP_FE_END
655694
};

0 commit comments

Comments
 (0)