diff --git a/ext/intl/formatter/formatter.stub.php b/ext/intl/formatter/formatter.stub.php new file mode 100644 index 00000000000..8d976f79e22 --- /dev/null +++ b/ext/intl/formatter/formatter.stub.php @@ -0,0 +1,90 @@ + #include "Zend/zend_interfaces.h" @@ -91,82 +92,27 @@ zend_object *NumberFormatter_object_clone(zend_object *object) * 'NumberFormatter' class registration structures & functions */ -/* {{{ arginfo */ -ZEND_BEGIN_ARG_INFO_EX(number_parse_arginfo, 0, 0, 1) - ZEND_ARG_INFO(0, string) - ZEND_ARG_INFO(0, type) - ZEND_ARG_INFO(1, position) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(number_parse_currency_arginfo, 0, 0, 2) - ZEND_ARG_INFO(0, string) - ZEND_ARG_INFO(1, currency) - ZEND_ARG_INFO(1, position) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_numberformatter_getattribute, 0, 0, 1) - ZEND_ARG_INFO(0, attr) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_numberformatter_setattribute, 0, 0, 2) - ZEND_ARG_INFO(0, attr) - ZEND_ARG_INFO(0, value) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_numberformatter_setsymbol, 0, 0, 2) - ZEND_ARG_INFO(0, attr) - ZEND_ARG_INFO(0, symbol) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_numberformatter_getpattern, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_numberformatter_setpattern, 0, 0, 1) - ZEND_ARG_INFO(0, pattern) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_numberformatter_getlocale, 0, 0, 0) - ZEND_ARG_INFO(0, type) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_numberformatter___construct, 0, 0, 2) - ZEND_ARG_INFO(0, locale) - ZEND_ARG_INFO(0, style) - ZEND_ARG_INFO(0, pattern) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_numberformatter_formatcurrency, 0, 0, 2) - ZEND_ARG_INFO(0, num) - ZEND_ARG_INFO(0, currency) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_numberformatter_format, 0, 0, 1) - ZEND_ARG_INFO(0, num) - ZEND_ARG_INFO(0, type) -ZEND_END_ARG_INFO() -/* }}} */ - /* {{{ NumberFormatter_class_functions * Every 'NumberFormatter' class method has an entry in this table */ static const zend_function_entry NumberFormatter_class_functions[] = { - PHP_ME( NumberFormatter, __construct, arginfo_numberformatter___construct, ZEND_ACC_PUBLIC ) - ZEND_FENTRY( create, ZEND_FN( numfmt_create ), arginfo_numberformatter___construct, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC ) - PHP_NAMED_FE( format, ZEND_FN( numfmt_format ), arginfo_numberformatter_format ) - PHP_NAMED_FE( parse, ZEND_FN( numfmt_parse ), number_parse_arginfo ) - PHP_NAMED_FE( formatCurrency, ZEND_FN( numfmt_format_currency ), arginfo_numberformatter_formatcurrency ) - PHP_NAMED_FE( parseCurrency, ZEND_FN( numfmt_parse_currency ), number_parse_currency_arginfo ) - PHP_NAMED_FE( setAttribute, ZEND_FN( numfmt_set_attribute ), arginfo_numberformatter_setattribute ) - PHP_NAMED_FE( getAttribute, ZEND_FN( numfmt_get_attribute ), arginfo_numberformatter_getattribute ) - PHP_NAMED_FE( setTextAttribute, ZEND_FN( numfmt_set_text_attribute ), arginfo_numberformatter_setattribute ) - PHP_NAMED_FE( getTextAttribute, ZEND_FN( numfmt_get_text_attribute ), arginfo_numberformatter_getattribute ) - PHP_NAMED_FE( setSymbol, ZEND_FN( numfmt_set_symbol ), arginfo_numberformatter_setsymbol ) - PHP_NAMED_FE( getSymbol, ZEND_FN( numfmt_get_symbol ), arginfo_numberformatter_getattribute ) - PHP_NAMED_FE( setPattern, ZEND_FN( numfmt_set_pattern ), arginfo_numberformatter_setpattern ) - PHP_NAMED_FE( getPattern, ZEND_FN( numfmt_get_pattern ), arginfo_numberformatter_getpattern ) - PHP_NAMED_FE( getLocale, ZEND_FN( numfmt_get_locale ), arginfo_numberformatter_getlocale ) - PHP_NAMED_FE( getErrorCode, ZEND_FN( numfmt_get_error_code ), arginfo_numberformatter_getpattern ) - PHP_NAMED_FE( getErrorMessage, ZEND_FN( numfmt_get_error_message ), arginfo_numberformatter_getpattern ) + PHP_ME( NumberFormatter, __construct, arginfo_class_NumberFormatter___construct, ZEND_ACC_PUBLIC ) + ZEND_FENTRY( create, ZEND_FN( numfmt_create ), arginfo_class_NumberFormatter_create, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC ) + PHP_NAMED_FE( format, ZEND_FN( numfmt_format ), arginfo_class_NumberFormatter_format ) + PHP_NAMED_FE( parse, ZEND_FN( numfmt_parse ), arginfo_class_NumberFormatter_parse ) + PHP_NAMED_FE( formatCurrency, ZEND_FN( numfmt_format_currency ), arginfo_class_NumberFormatter_formatCurrency ) + PHP_NAMED_FE( parseCurrency, ZEND_FN( numfmt_parse_currency ), arginfo_class_NumberFormatter_parseCurrency ) + PHP_NAMED_FE( setAttribute, ZEND_FN( numfmt_set_attribute ), arginfo_class_NumberFormatter_setAttribute ) + PHP_NAMED_FE( getAttribute, ZEND_FN( numfmt_get_attribute ), arginfo_class_NumberFormatter_getAttribute ) + PHP_NAMED_FE( setTextAttribute, ZEND_FN( numfmt_set_text_attribute ), arginfo_class_NumberFormatter_setTextAttribute ) + PHP_NAMED_FE( getTextAttribute, ZEND_FN( numfmt_get_text_attribute ), arginfo_class_NumberFormatter_getTextAttribute ) + PHP_NAMED_FE( setSymbol, ZEND_FN( numfmt_set_symbol ), arginfo_class_NumberFormatter_setSymbol ) + PHP_NAMED_FE( getSymbol, ZEND_FN( numfmt_get_symbol ), arginfo_class_NumberFormatter_getSymbol ) + PHP_NAMED_FE( setPattern, ZEND_FN( numfmt_set_pattern ), arginfo_class_NumberFormatter_setPattern ) + PHP_NAMED_FE( getPattern, ZEND_FN( numfmt_get_pattern ), arginfo_class_NumberFormatter_getPattern ) + PHP_NAMED_FE( getLocale, ZEND_FN( numfmt_get_locale ), arginfo_class_NumberFormatter_getLocale ) + PHP_NAMED_FE( getErrorCode, ZEND_FN( numfmt_get_error_code ), arginfo_class_NumberFormatter_getErrorCode ) + PHP_NAMED_FE( getErrorMessage, ZEND_FN( numfmt_get_error_message ), arginfo_class_NumberFormatter_getErrorMessage ) PHP_FE_END }; /* }}} */ diff --git a/ext/intl/php_intl.c b/ext/intl/php_intl.c index c9a8b5ff972..dd655e0e03d 100644 --- a/ext/intl/php_intl.c +++ b/ext/intl/php_intl.c @@ -41,6 +41,7 @@ #include "formatter/formatter_format.h" #include "formatter/formatter_main.h" #include "formatter/formatter_parse.h" +#include "formatter/formatter_arginfo.h" #include "grapheme/grapheme.h" #include "grapheme/grapheme_arginfo.h" @@ -132,71 +133,6 @@ const char *intl_locale_get_default( void ) return INTL_G(default_locale); } -ZEND_BEGIN_ARG_INFO_EX(numfmt_parse_arginfo, 0, 0, 2) - ZEND_ARG_INFO(0, formatter) - ZEND_ARG_INFO(0, string) - ZEND_ARG_INFO(0, type) - ZEND_ARG_INFO(1, position) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(numfmt_parse_currency_arginfo, 0, 0, 3) - ZEND_ARG_INFO(0, formatter) - ZEND_ARG_INFO(0, string) - ZEND_ARG_INFO(1, currency) - ZEND_ARG_INFO(1, position) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_numfmt_create, 0, 0, 2) - ZEND_ARG_INFO(0, locale) - ZEND_ARG_INFO(0, style) - ZEND_ARG_INFO(0, pattern) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_numfmt_get_error_code, 0, 0, 1) - ZEND_ARG_INFO(0, nf) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_numfmt_format, 0, 0, 2) - ZEND_ARG_INFO(0, nf) - ZEND_ARG_INFO(0, num) - ZEND_ARG_INFO(0, type) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_numfmt_format_currency, 0, 0, 3) - ZEND_ARG_INFO(0, nf) - ZEND_ARG_INFO(0, num) - ZEND_ARG_INFO(0, currency) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_numfmt_get_attribute, 0, 0, 2) - ZEND_ARG_INFO(0, nf) - ZEND_ARG_INFO(0, attr) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_numfmt_set_attribute, 0, 0, 3) - ZEND_ARG_INFO(0, nf) - ZEND_ARG_INFO(0, attr) - ZEND_ARG_INFO(0, value) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_numfmt_set_symbol, 0, 0, 3) - ZEND_ARG_INFO(0, nf) - ZEND_ARG_INFO(0, attr) - ZEND_ARG_INFO(0, symbol) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_numfmt_set_pattern, 0, 0, 2) - ZEND_ARG_INFO(0, nf) - ZEND_ARG_INFO(0, pattern) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_numfmt_get_locale, 0, 0, 1) - ZEND_ARG_INFO(0, nf) - ZEND_ARG_INFO(0, type) -ZEND_END_ARG_INFO() - -/* }}} */ - /* {{{ intl_functions * * Every user visible function must have an entry in intl_functions[]. @@ -221,20 +157,20 @@ static const zend_function_entry intl_functions[] = { /* formatter functions */ PHP_FE( numfmt_create, arginfo_numfmt_create ) PHP_FE( numfmt_format, arginfo_numfmt_format ) - PHP_FE( numfmt_parse, numfmt_parse_arginfo ) + PHP_FE( numfmt_parse, arginfo_numfmt_parse ) PHP_FE( numfmt_format_currency, arginfo_numfmt_format_currency ) - PHP_FE( numfmt_parse_currency, numfmt_parse_currency_arginfo ) + PHP_FE( numfmt_parse_currency, arginfo_numfmt_parse_currency ) PHP_FE( numfmt_set_attribute, arginfo_numfmt_set_attribute ) PHP_FE( numfmt_get_attribute, arginfo_numfmt_get_attribute ) - PHP_FE( numfmt_set_text_attribute, arginfo_numfmt_set_attribute ) - PHP_FE( numfmt_get_text_attribute, arginfo_numfmt_get_attribute ) + PHP_FE( numfmt_set_text_attribute, arginfo_numfmt_set_text_attribute ) + PHP_FE( numfmt_get_text_attribute, arginfo_numfmt_get_text_attribute ) PHP_FE( numfmt_set_symbol, arginfo_numfmt_set_symbol ) - PHP_FE( numfmt_get_symbol, arginfo_numfmt_get_attribute ) + PHP_FE( numfmt_get_symbol, arginfo_numfmt_get_symbol ) PHP_FE( numfmt_set_pattern, arginfo_numfmt_set_pattern ) - PHP_FE( numfmt_get_pattern, arginfo_numfmt_get_error_code ) + PHP_FE( numfmt_get_pattern, arginfo_numfmt_get_pattern ) PHP_FE( numfmt_get_locale, arginfo_numfmt_get_locale ) PHP_FE( numfmt_get_error_code, arginfo_numfmt_get_error_code ) - PHP_FE( numfmt_get_error_message, arginfo_numfmt_get_error_code ) + PHP_FE( numfmt_get_error_message, arginfo_numfmt_get_error_message ) /* normalizer functions */ PHP_FE( normalizer_normalize, arginfo_normalizer_normalize )