]> granicus.if.org Git - php/commitdiff
Add stubs for IntlChar
authorMáté Kocsis <kocsismate@woohoolabs.com>
Fri, 28 Feb 2020 17:10:48 +0000 (18:10 +0100)
committerMáté Kocsis <kocsismate@woohoolabs.com>
Fri, 28 Feb 2020 17:10:52 +0000 (18:10 +0100)
Closes GH-5217

ext/intl/uchar/uchar.c
ext/intl/uchar/uchar.stub.php [new file with mode: 0644]
ext/intl/uchar/uchar_arginfo.h [new file with mode: 0644]

index f9ed3153ad3089040aa6356553cb43e3a388bab8..670976e2f3c649aeb7f38760e0fda73bb17fe35c 100644 (file)
@@ -1,6 +1,7 @@
 #include "uchar.h"
 #include "intl_data.h"
 #include "intl_convert.h"
+#include "uchar_arginfo.h"
 
 #include <unicode/uchar.h>
 #include <unicode/utf8.h>
@@ -30,7 +31,7 @@ static inline int convert_cp(UChar32* pcp, zval *zcp) {
                }
        } else {
                intl_error_set_code(NULL, U_ILLEGAL_ARGUMENT_ERROR);
-               intl_error_set_custom_msg(NULL, "Invalid parameter for unicode point.  Must be either integer or UTF-8 sequence.", 0);
+               intl_error_set_custom_msg(NULL, "Invalid parameter for unicode point. Must be either integer or UTF-8 sequence.", 0);
                return FAILURE;
        }
        if ((cp < UCHAR_MIN_VALUE) || (cp > UCHAR_MAX_VALUE)) {
@@ -46,9 +47,6 @@ static inline int convert_cp(UChar32* pcp, zval *zcp) {
  * Converts a numeric codepoint to UTF-8
  * Acts as an identify function when given a valid UTF-8 encoded codepoint
  */
-ZEND_BEGIN_ARG_INFO_EX(chr_arginfo, 0, ZEND_RETURN_VALUE, 1)
-       ZEND_ARG_INFO(0, codepoint)
-ZEND_END_ARG_INFO();
 IC_METHOD(chr) {
        UChar32 cp;
        zval *zcp;
@@ -76,9 +74,6 @@ IC_METHOD(chr) {
  * Converts a UTf-8 encoded codepoint to its integer U32 value
  * Acts as an identity function when passed a valid integer codepoint
  */
-ZEND_BEGIN_ARG_INFO_EX(ord_arginfo, 0, ZEND_RETURN_VALUE, 1)
-       ZEND_ARG_INFO(0, character)
-ZEND_END_ARG_INFO();
 IC_METHOD(ord) {
        UChar32 cp;
        zval *zcp;
@@ -96,10 +91,6 @@ IC_METHOD(ord) {
 /* }}} */
 
 /* {{{ proto bool IntlChar::hasBinaryProperty(int|string $codepoint, int $property) */
-ZEND_BEGIN_ARG_INFO_EX(hasBinaryProperty_arginfo, 0, ZEND_RETURN_VALUE, 2)
-       ZEND_ARG_INFO(0, codepoint)
-       ZEND_ARG_INFO(0, property)
-ZEND_END_ARG_INFO();
 IC_METHOD(hasBinaryProperty) {
        UChar32 cp;
        zend_long prop;
@@ -118,10 +109,6 @@ IC_METHOD(hasBinaryProperty) {
 /* }}} */
 
 /* {{{ proto int IntlChar::getIntPropertyValue(int|string $codepoint, int $property) */
-ZEND_BEGIN_ARG_INFO_EX(getIntPropertyValue_arginfo, 0, ZEND_RETURN_VALUE, 2)
-       ZEND_ARG_INFO(0, codepoint)
-       ZEND_ARG_INFO(0, property)
-ZEND_END_ARG_INFO();
 IC_METHOD(getIntPropertyValue) {
        UChar32 cp;
        zend_long prop;
@@ -140,9 +127,6 @@ IC_METHOD(getIntPropertyValue) {
 /* }}} */
 
 /* {{{ proto int IntlChar::getIntPropertyMinValue(int $property) */
-ZEND_BEGIN_ARG_INFO_EX(getIntPropertyMinValue_arginfo, 0, ZEND_RETURN_VALUE, 1)
-       ZEND_ARG_INFO(0, property)
-ZEND_END_ARG_INFO();
 IC_METHOD(getIntPropertyMinValue) {
        zend_long prop;
 
@@ -155,9 +139,6 @@ IC_METHOD(getIntPropertyMinValue) {
 /* }}} */
 
 /* {{{ proto int IntlChar::getIntPropertyMaxValue(int $property) */
-ZEND_BEGIN_ARG_INFO_EX(getIntPropertyMaxValue_arginfo, 0, ZEND_RETURN_VALUE, 1)
-       ZEND_ARG_INFO(0, property)
-ZEND_END_ARG_INFO();
 IC_METHOD(getIntPropertyMaxValue) {
        zend_long prop;
 
@@ -170,9 +151,6 @@ IC_METHOD(getIntPropertyMaxValue) {
 /* }}} */
 
 /* {{{ proto float IntlChar::getNumericValue(int|string $codepoint) */
-ZEND_BEGIN_ARG_INFO_EX(getNumericValue_arginfo, 0, ZEND_RETURN_VALUE, 1)
-       ZEND_ARG_INFO(0, codepoint)
-ZEND_END_ARG_INFO();
 IC_METHOD(getNumericValue) {
        UChar32 cp;
        zval *zcp;
@@ -190,9 +168,6 @@ IC_METHOD(getNumericValue) {
 /* }}} */
 
 /* {{{ proto void IntlChar::enumCharTypes(callable $callback) */
-ZEND_BEGIN_ARG_INFO_EX(enumCharTypes_arginfo, 0, ZEND_RETURN_VALUE, 0)
-       ZEND_ARG_INFO(0, callback)
-ZEND_END_ARG_INFO();
 typedef struct _enumCharType_data {
        zend_fcall_info fci;
        zend_fcall_info_cache fci_cache;
@@ -235,9 +210,6 @@ IC_METHOD(enumCharTypes) {
 /* }}} */
 
 /* {{{ proto int IntlChar::getBlockCode(int|string $codepoint) */
-ZEND_BEGIN_ARG_INFO_EX(getBlockCode_arginfo, 0, ZEND_RETURN_VALUE, 1)
-       ZEND_ARG_INFO(0, codepoint)
-ZEND_END_ARG_INFO()
 IC_METHOD(getBlockCode) {
        UChar32 cp;
        zval *zcp;
@@ -255,10 +227,6 @@ IC_METHOD(getBlockCode) {
 /* }}} */
 
 /* {{{ proto string IntlChar::charName(int|string $codepoint, int $nameChoice = IntlChar::UNICODE_CHAR_NAME) */
-ZEND_BEGIN_ARG_INFO_EX(charName_arginfo, 0, ZEND_RETURN_VALUE, 1)
-       ZEND_ARG_INFO(0, codepoint)
-       ZEND_ARG_INFO(0, nameChoice)
-ZEND_END_ARG_INFO()
 IC_METHOD(charName) {
        UChar32 cp;
        zval *zcp;
@@ -288,10 +256,6 @@ IC_METHOD(charName) {
 /* }}} */
 
 /* {{{ proto int IntlChar::charFromName(string $characterName, int $nameChoice = IntlChar::UNICODE_CHAR_NAME) */
-ZEND_BEGIN_ARG_INFO_EX(charFromName_arginfo, 0, ZEND_RETURN_VALUE, 1)
-       ZEND_ARG_INFO(0, characterName)
-       ZEND_ARG_INFO(0, nameChoice)
-ZEND_END_ARG_INFO()
 IC_METHOD(charFromName) {
        char *name;
        size_t name_len;
@@ -310,12 +274,6 @@ IC_METHOD(charFromName) {
 /* }}} */
 
 /* {{{ void void IntlChar::enumCharNames(int|string $start, int|string $limit, callable $callback, int $nameChoice = IntlChar::UNICODE_CHAR_NAME) */
-ZEND_BEGIN_ARG_INFO_EX(enumCharNames_arginfo, 0, ZEND_RETURN_VALUE, 3)
-       ZEND_ARG_INFO(0, start)
-       ZEND_ARG_INFO(0, limit)
-       ZEND_ARG_INFO(0, callback)
-       ZEND_ARG_INFO(0, nameChoice)
-ZEND_END_ARG_INFO();
 typedef struct _enumCharNames_data {
        zend_fcall_info fci;
        zend_fcall_info_cache fci_cache;
@@ -367,10 +325,6 @@ IC_METHOD(enumCharNames) {
 /* }}} */
 
 /* {{{ proto string IntlChar::getPropertyName(int $property, int $nameChoice = IntlChar::LONG_PROPERTY_NAME) */
-ZEND_BEGIN_ARG_INFO_EX(getPropertyName_arginfo, 0, ZEND_RETURN_VALUE, 1)
-       ZEND_ARG_INFO(0, property)
-       ZEND_ARG_INFO(0, nameChoice)
-ZEND_END_ARG_INFO();
 IC_METHOD(getPropertyName) {
        zend_long property;
        zend_long nameChoice = U_LONG_PROPERTY_NAME;
@@ -392,9 +346,6 @@ IC_METHOD(getPropertyName) {
 /* }}} */
 
 /* {{{ proto int IntlChar::getPropertyEnum(string $alias) */
-ZEND_BEGIN_ARG_INFO_EX(getPropertyEnum_arginfo, 0, ZEND_RETURN_VALUE, 1)
-       ZEND_ARG_INFO(0, alias)
-ZEND_END_ARG_INFO();
 IC_METHOD(getPropertyEnum) {
        char *alias;
        size_t alias_len;
@@ -408,11 +359,6 @@ IC_METHOD(getPropertyEnum) {
 /* }}} */
 
 /* {{{ proto string IntlChar::getPropertyValueName(int $property, int $value[, int $nameChoice = IntlChar::LONG_PROPERTY_NAME) */
-ZEND_BEGIN_ARG_INFO_EX(getPropertyValueName_arginfo, 0, ZEND_RETURN_VALUE, 2)
-       ZEND_ARG_INFO(0, property)
-       ZEND_ARG_INFO(0, value)
-       ZEND_ARG_INFO(0, nameChoice)
-ZEND_END_ARG_INFO();
 IC_METHOD(getPropertyValueName) {
        zend_long property, value, nameChoice = U_LONG_PROPERTY_NAME;
        const char *ret;
@@ -433,10 +379,6 @@ IC_METHOD(getPropertyValueName) {
 /* }}} */
 
 /* {{{ proto int IntlChar::getPropertyValueEnum(int $property, string $name) */
-ZEND_BEGIN_ARG_INFO_EX(getPropertyValueEnum_arginfo, 0, ZEND_RETURN_VALUE, 2)
-       ZEND_ARG_INFO(0, property)
-       ZEND_ARG_INFO(0, name)
-ZEND_END_ARG_INFO();
 IC_METHOD(getPropertyValueEnum) {
        zend_long property;
        char *name;
@@ -451,10 +393,6 @@ IC_METHOD(getPropertyValueEnum) {
 /* }}} */
 
 /* {{{ proto int|string IntlChar::foldCase(int|string $codepoint, int $options = IntlChar::FOLD_CASE_DEFAULT) */
-ZEND_BEGIN_ARG_INFO_EX(foldCase_arginfo, 0, ZEND_RETURN_VALUE, 1)
-       ZEND_ARG_INFO(0, codepoint)
-       ZEND_ARG_INFO(0, options)
-ZEND_END_ARG_INFO();
 IC_METHOD(foldCase) {
        UChar32 cp, ret;
        zval *zcp;
@@ -482,10 +420,6 @@ IC_METHOD(foldCase) {
 /* }}} */
 
 /* {{{ proto int IntlChar::digit(int|string $codepoint[, int $radix = 10]) */
-ZEND_BEGIN_ARG_INFO_EX(digit_arginfo, 0, ZEND_RETURN_VALUE, 1)
-       ZEND_ARG_INFO(0, codepoint)
-       ZEND_ARG_INFO(0, radix)
-ZEND_END_ARG_INFO();
 IC_METHOD(digit) {
        UChar32 cp;
        zval *zcp;
@@ -511,10 +445,6 @@ IC_METHOD(digit) {
 /* }}} */
 
 /* {{{ proto int IntlChar::forDigit(int $digit[, int $radix = 10]) */
-ZEND_BEGIN_ARG_INFO_EX(forDigit_arginfo, 0, ZEND_RETURN_VALUE, 1)
-       ZEND_ARG_INFO(0, digit)
-       ZEND_ARG_INFO(0, radix)
-ZEND_END_ARG_INFO();
 IC_METHOD(forDigit) {
        zend_long digit, radix = 10;
 
@@ -527,9 +457,6 @@ IC_METHOD(forDigit) {
 /* }}} */
 
 /* {{{ proto array IntlChar::charAge(int|string $codepoint) */
-ZEND_BEGIN_ARG_INFO_EX(charAge_arginfo, 0, ZEND_RETURN_VALUE, 1)
-       ZEND_ARG_INFO(0, codepoint)
-ZEND_END_ARG_INFO();
 IC_METHOD(charAge) {
        UChar32 cp;
        zval *zcp;
@@ -553,8 +480,6 @@ IC_METHOD(charAge) {
 /* }}} */
 
 /* {{{ proto array IntlChar::getUnicodeVersion() */
-ZEND_BEGIN_ARG_INFO_EX(getUnicodeVersion_arginfo, 0, ZEND_RETURN_VALUE, 0)
-ZEND_END_ARG_INFO();
 IC_METHOD(getUnicodeVersion) {
        UVersionInfo version;
        int i;
@@ -572,9 +497,6 @@ IC_METHOD(getUnicodeVersion) {
 /* }}} */
 
 /* {{{ proto string IntlChar::getFC_NFKC_Closure(int|string $codepoint) */
-ZEND_BEGIN_ARG_INFO_EX(getFC_NFKC_Closure_arginfo, 0, ZEND_RETURN_VALUE, 1)
-       ZEND_ARG_INFO(0, codepoint)
-ZEND_END_ARG_INFO();
 IC_METHOD(getFC_NFKC_Closure) {
        UChar32 cp;
        zval *zcp;
@@ -613,9 +535,6 @@ IC_METHOD(getFC_NFKC_Closure) {
 
 /* {{{ proto bool IntlChar::<name>(int|string $codepoint) */
 #define IC_BOOL_METHOD_CHAR(name) \
-ZEND_BEGIN_ARG_INFO_EX(name##_arginfo, 0, ZEND_RETURN_VALUE, 1) \
-       ZEND_ARG_INFO(0, codepoint) \
-ZEND_END_ARG_INFO(); \
 IC_METHOD(name) { \
        UChar32 cp; zval *zcp; \
        if ((zend_parse_parameters(ZEND_NUM_ARGS(), "z", &zcp) == FAILURE) || \
@@ -655,9 +574,6 @@ IC_BOOL_METHOD_CHAR(isJavaIDPart)
 
 /* {{{ proto int IntlChar::<name>(int|string $codepoint) */
 #define IC_INT_METHOD_CHAR(name) \
-ZEND_BEGIN_ARG_INFO_EX(name##_arginfo, 0, ZEND_RETURN_VALUE, 1) \
-       ZEND_ARG_INFO(0, codepoint) \
-ZEND_END_ARG_INFO(); \
 IC_METHOD(name) { \
        UChar32 cp; zval *zcp; \
        if ((zend_parse_parameters(ZEND_NUM_ARGS(), "z", &zcp) == FAILURE) || \
@@ -676,9 +592,6 @@ IC_INT_METHOD_CHAR(charDigitValue)
  * Returns an int otherwise
  */
 #define IC_CHAR_METHOD_CHAR(name) \
-ZEND_BEGIN_ARG_INFO_EX(name##_arginfo, 0, ZEND_RETURN_VALUE, 1) \
-       ZEND_ARG_INFO(0, codepoint) \
-ZEND_END_ARG_INFO(); \
 IC_METHOD(name) { \
        UChar32 cp, ret; zval *zcp; \
        if ((zend_parse_parameters(ZEND_NUM_ARGS(), "z", &zcp) == FAILURE) || \
@@ -705,7 +618,7 @@ IC_CHAR_METHOD_CHAR(getBidiPairedBracket)
 /* }}} */
 
 static const zend_function_entry intlchar_methods[] = {
-#define IC_ME(mname) PHP_ME(IntlChar, mname, mname##_arginfo, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
+#define IC_ME(mname) PHP_ME(IntlChar, mname, arginfo_class_IntlChar_##mname, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
        IC_ME(chr)
        IC_ME(ord)
        IC_ME(hasBinaryProperty)
diff --git a/ext/intl/uchar/uchar.stub.php b/ext/intl/uchar/uchar.stub.php
new file mode 100644 (file)
index 0000000..e9c7d0e
--- /dev/null
@@ -0,0 +1,334 @@
+<?php
+
+class IntlChar
+{
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function hasBinaryProperty($codepoint, int $property) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return array|null
+     */
+    public static function charAge($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return int|null
+     */
+    public static function charDigitValue($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return int|null
+     */
+    public static function charDirection($codepoint) {}
+
+    /** @return int|null */
+    public static function charFromName(string $characterName, int $nameChoice = IntlChar::UNICODE_CHAR_NAME) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return int|string|null
+     */
+    public static function charMirror($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return string|null
+     */
+    public static function charName($codepoint, int $nameChoice = IntlChar::UNICODE_CHAR_NAME) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return int|null
+     */
+    public static function charType($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return string|null
+     */
+    public static function chr($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return int|false|null
+     */
+    public static function digit($codepoint, int $radix = 10) {}
+
+    /**
+     * @param int|string $start
+     * @param int|string $limit
+     * @return bool|null
+     */
+    public static function enumCharNames($start, $limit, callable $callback, int $nameChoice = IntlChar::UNICODE_CHAR_NAME) {}
+
+    /** @return void */
+    public static function enumCharTypes(callable $callback) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return int|string|null
+     */
+    public static function foldCase($codepoint, int $options = IntlChar::FOLD_CASE_DEFAULT) {}
+
+    /** @return int */
+    public static function forDigit(int $digit, $radix = 10) {}
+
+#if U_ICU_VERSION_MAJOR_NUM >= 52
+    /**
+     * @param int|string $codepoint
+     * @return int|string|null
+     */
+    public static function getBidiPairedBracket($codepoint) {}
+#endif
+
+    /**
+     * @param int|string $codepoint
+     * @return int|null
+     */
+    public static function getBlockCode($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return int|null
+     */
+    public static function getCombiningClass($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return string|false|null
+     */
+    public static function getFC_NFKC_Closure($codepoint) {}
+
+    /** @return int */
+    public static function getIntPropertyMaxValue(int $property) {}
+
+    /** @return int */
+    public static function getIntPropertyMinValue(int $property) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return int|null
+     */
+    public static function getIntPropertyValue($codepoint, int $property) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return float|null
+     */
+    public static function getNumericValue($codepoint) {}
+
+    /**
+     * @param string $alias
+     * @return int
+     */
+    public static function getPropertyEnum(string $alias) {}
+
+    /** @return string|false */
+    public static function getPropertyName(int $property, int $nameChoice = IntlChar::LONG_PROPERTY_NAME) {}
+
+    /** @return int */
+    public static function getPropertyValueEnum(int $property, string $name) {}
+
+    /** @return string|false */
+    public static function getPropertyValueName(int $property, int $value, $nameChoice = IntlChar::LONG_PROPERTY_NAME) {}
+
+    /** @return array */
+    public static function getUnicodeVersion() {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isalnum($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isalpha($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isbase($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isblank($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function iscntrl($codepoint ) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isdefined($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isdigit($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isgraph($codepoint ) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isIDIgnorable($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isIDPart($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isIDStart($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isISOControl($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isJavaIDPart($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isJavaIDStart($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isJavaSpaceChar($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function islower($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isMirrored($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isprint($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function ispunct($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isspace($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function istitle($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isUAlphabetic($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isULowercase($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isupper($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isUUppercase($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isUWhiteSpace($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isWhitespace($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return bool|null
+     */
+    public static function isxdigit($codepoint) {}
+
+    /**
+     * @param int|string $character
+     * @return int|null
+     */
+    public static function ord($character) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return int|string|null
+     */
+    public static function tolower($codepoint) {}
+
+    /**
+     * @param mixed $codepoint
+     * @return int|string|null
+     */
+    public static function totitle($codepoint) {}
+
+    /**
+     * @param int|string $codepoint
+     * @return int|string|null
+     */
+    public static function toupper($codepoint) {}
+}
diff --git a/ext/intl/uchar/uchar_arginfo.h b/ext/intl/uchar/uchar_arginfo.h
new file mode 100644 (file)
index 0000000..e7f6d7a
--- /dev/null
@@ -0,0 +1,167 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlChar_hasBinaryProperty, 0, 0, 2)
+       ZEND_ARG_INFO(0, codepoint)
+       ZEND_ARG_TYPE_INFO(0, property, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlChar_charAge, 0, 0, 1)
+       ZEND_ARG_INFO(0, codepoint)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_IntlChar_charDigitValue arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_charDirection arginfo_class_IntlChar_charAge
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlChar_charFromName, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, characterName, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, nameChoice, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_IntlChar_charMirror arginfo_class_IntlChar_charAge
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlChar_charName, 0, 0, 1)
+       ZEND_ARG_INFO(0, codepoint)
+       ZEND_ARG_TYPE_INFO(0, nameChoice, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_IntlChar_charType arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_chr arginfo_class_IntlChar_charAge
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlChar_digit, 0, 0, 1)
+       ZEND_ARG_INFO(0, codepoint)
+       ZEND_ARG_TYPE_INFO(0, radix, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlChar_enumCharNames, 0, 0, 3)
+       ZEND_ARG_INFO(0, start)
+       ZEND_ARG_INFO(0, limit)
+       ZEND_ARG_TYPE_INFO(0, callback, IS_CALLABLE, 0)
+       ZEND_ARG_TYPE_INFO(0, nameChoice, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlChar_enumCharTypes, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, callback, IS_CALLABLE, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlChar_foldCase, 0, 0, 1)
+       ZEND_ARG_INFO(0, codepoint)
+       ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlChar_forDigit, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, digit, IS_LONG, 0)
+       ZEND_ARG_INFO(0, radix)
+ZEND_END_ARG_INFO()
+
+#if U_ICU_VERSION_MAJOR_NUM >= 52
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlChar_getBidiPairedBracket, 0, 0, 1)
+       ZEND_ARG_INFO(0, codepoint)
+ZEND_END_ARG_INFO()
+#endif
+
+#define arginfo_class_IntlChar_getBlockCode arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_getCombiningClass arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_getFC_NFKC_Closure arginfo_class_IntlChar_charAge
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlChar_getIntPropertyMaxValue, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, property, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_IntlChar_getIntPropertyMinValue arginfo_class_IntlChar_getIntPropertyMaxValue
+
+#define arginfo_class_IntlChar_getIntPropertyValue arginfo_class_IntlChar_hasBinaryProperty
+
+#define arginfo_class_IntlChar_getNumericValue arginfo_class_IntlChar_charAge
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlChar_getPropertyEnum, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, alias, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlChar_getPropertyName, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, property, IS_LONG, 0)
+       ZEND_ARG_TYPE_INFO(0, nameChoice, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlChar_getPropertyValueEnum, 0, 0, 2)
+       ZEND_ARG_TYPE_INFO(0, property, IS_LONG, 0)
+       ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlChar_getPropertyValueName, 0, 0, 2)
+       ZEND_ARG_TYPE_INFO(0, property, IS_LONG, 0)
+       ZEND_ARG_TYPE_INFO(0, value, IS_LONG, 0)
+       ZEND_ARG_INFO(0, nameChoice)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlChar_getUnicodeVersion, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_IntlChar_isalnum arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_isalpha arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_isbase arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_isblank arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_iscntrl arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_isdefined arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_isdigit arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_isgraph arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_isIDIgnorable arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_isIDPart arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_isIDStart arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_isISOControl arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_isJavaIDPart arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_isJavaIDStart arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_isJavaSpaceChar arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_islower arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_isMirrored arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_isprint arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_ispunct arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_isspace arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_istitle arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_isUAlphabetic arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_isULowercase arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_isupper arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_isUUppercase arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_isUWhiteSpace arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_isWhitespace arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_isxdigit arginfo_class_IntlChar_charAge
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlChar_ord, 0, 0, 1)
+       ZEND_ARG_INFO(0, character)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_IntlChar_tolower arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_totitle arginfo_class_IntlChar_charAge
+
+#define arginfo_class_IntlChar_toupper arginfo_class_IntlChar_charAge