mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Declare ext/intl constants in stubs - part 2 (#9219)
This commit is contained in:
parent
b73f139c70
commit
150456eaa2
11 changed files with 334 additions and 106 deletions
|
@ -1,85 +0,0 @@
|
||||||
/*
|
|
||||||
+----------------------------------------------------------------------+
|
|
||||||
| This source file is subject to version 3.01 of the PHP license, |
|
|
||||||
| that is bundled with this package in the file LICENSE, and is |
|
|
||||||
| available through the world-wide-web at the following url: |
|
|
||||||
| https://www.php.net/license/3_01.txt |
|
|
||||||
| If you did not receive a copy of the PHP license and are unable to |
|
|
||||||
| obtain it through the world-wide-web, please send a note to |
|
|
||||||
| license@php.net so we can mail you a copy immediately. |
|
|
||||||
+----------------------------------------------------------------------+
|
|
||||||
| Authors: Vadim Savchuk <vsavchuk@productengine.com> |
|
|
||||||
| Dmitry Lakhtyuk <dlakhtyuk@productengine.com> |
|
|
||||||
+----------------------------------------------------------------------+
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
#include "config.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "collator_class.h"
|
|
||||||
#include "collator.h"
|
|
||||||
|
|
||||||
#include <unicode/utypes.h>
|
|
||||||
#include <unicode/ucol.h>
|
|
||||||
#include <unicode/ustring.h>
|
|
||||||
|
|
||||||
/* {{{ collator_register_constants
|
|
||||||
* Register constants common for the both (OO and procedural)
|
|
||||||
* APIs.
|
|
||||||
*/
|
|
||||||
void collator_register_constants( INIT_FUNC_ARGS )
|
|
||||||
{
|
|
||||||
if( !Collator_ce_ptr )
|
|
||||||
{
|
|
||||||
zend_error( E_ERROR, "Collator class not defined" );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
#define COLLATOR_EXPOSE_CONST(x) REGISTER_LONG_CONSTANT(#x, x, CONST_PERSISTENT | CONST_CS)
|
|
||||||
#define COLLATOR_EXPOSE_CLASS_CONST(x) zend_declare_class_constant_long( Collator_ce_ptr, ZEND_STRS( #x ) - 1, UCOL_##x );
|
|
||||||
#define COLLATOR_EXPOSE_CUSTOM_CLASS_CONST(name, value) zend_declare_class_constant_long( Collator_ce_ptr, ZEND_STRS( name ) - 1, value );
|
|
||||||
|
|
||||||
/* UColAttributeValue constants */
|
|
||||||
COLLATOR_EXPOSE_CUSTOM_CLASS_CONST( "DEFAULT_VALUE", UCOL_DEFAULT );
|
|
||||||
|
|
||||||
COLLATOR_EXPOSE_CLASS_CONST( PRIMARY );
|
|
||||||
COLLATOR_EXPOSE_CLASS_CONST( SECONDARY );
|
|
||||||
COLLATOR_EXPOSE_CLASS_CONST( TERTIARY );
|
|
||||||
COLLATOR_EXPOSE_CLASS_CONST( DEFAULT_STRENGTH );
|
|
||||||
COLLATOR_EXPOSE_CLASS_CONST( QUATERNARY );
|
|
||||||
COLLATOR_EXPOSE_CLASS_CONST( IDENTICAL );
|
|
||||||
|
|
||||||
COLLATOR_EXPOSE_CLASS_CONST( OFF );
|
|
||||||
COLLATOR_EXPOSE_CLASS_CONST( ON );
|
|
||||||
|
|
||||||
COLLATOR_EXPOSE_CLASS_CONST( SHIFTED );
|
|
||||||
COLLATOR_EXPOSE_CLASS_CONST( NON_IGNORABLE );
|
|
||||||
|
|
||||||
COLLATOR_EXPOSE_CLASS_CONST( LOWER_FIRST );
|
|
||||||
COLLATOR_EXPOSE_CLASS_CONST( UPPER_FIRST );
|
|
||||||
|
|
||||||
/* UColAttribute constants */
|
|
||||||
COLLATOR_EXPOSE_CLASS_CONST( FRENCH_COLLATION );
|
|
||||||
COLLATOR_EXPOSE_CLASS_CONST( ALTERNATE_HANDLING );
|
|
||||||
COLLATOR_EXPOSE_CLASS_CONST( CASE_FIRST );
|
|
||||||
COLLATOR_EXPOSE_CLASS_CONST( CASE_LEVEL );
|
|
||||||
COLLATOR_EXPOSE_CLASS_CONST( NORMALIZATION_MODE );
|
|
||||||
COLLATOR_EXPOSE_CLASS_CONST( STRENGTH );
|
|
||||||
COLLATOR_EXPOSE_CLASS_CONST( HIRAGANA_QUATERNARY_MODE );
|
|
||||||
COLLATOR_EXPOSE_CLASS_CONST( NUMERIC_COLLATION );
|
|
||||||
|
|
||||||
/* ULocDataLocaleType constants */
|
|
||||||
COLLATOR_EXPOSE_CONST( ULOC_ACTUAL_LOCALE );
|
|
||||||
COLLATOR_EXPOSE_CONST( ULOC_VALID_LOCALE );
|
|
||||||
|
|
||||||
/* sort flags */
|
|
||||||
COLLATOR_EXPOSE_CUSTOM_CLASS_CONST( "SORT_REGULAR", COLLATOR_SORT_REGULAR );
|
|
||||||
COLLATOR_EXPOSE_CUSTOM_CLASS_CONST( "SORT_STRING", COLLATOR_SORT_STRING );
|
|
||||||
COLLATOR_EXPOSE_CUSTOM_CLASS_CONST( "SORT_NUMERIC", COLLATOR_SORT_NUMERIC );
|
|
||||||
|
|
||||||
#undef COLLATOR_EXPOSE_CUSTOM_CLASS_CONST
|
|
||||||
#undef COLLATOR_EXPOSE_CLASS_CONST
|
|
||||||
#undef COLLATOR_EXPOSE_CONST
|
|
||||||
}
|
|
||||||
/* }}} */
|
|
|
@ -22,6 +22,4 @@
|
||||||
#define COLLATOR_SORT_STRING 1
|
#define COLLATOR_SORT_STRING 1
|
||||||
#define COLLATOR_SORT_NUMERIC 2
|
#define COLLATOR_SORT_NUMERIC 2
|
||||||
|
|
||||||
void collator_register_constants( INIT_FUNC_ARGS );
|
|
||||||
|
|
||||||
#endif // COLLATOR_COLLATOR_H
|
#endif // COLLATOR_COLLATOR_H
|
||||||
|
|
|
@ -2,9 +2,151 @@
|
||||||
|
|
||||||
/** @generate-class-entries */
|
/** @generate-class-entries */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue ULOC_ACTUAL_LOCALE
|
||||||
|
*/
|
||||||
|
const ULOC_ACTUAL_LOCALE = UNKNOWN;
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue ULOC_VALID_LOCALE
|
||||||
|
*/
|
||||||
|
const ULOC_VALID_LOCALE = UNKNOWN;
|
||||||
|
|
||||||
/** @not-serializable */
|
/** @not-serializable */
|
||||||
class Collator
|
class Collator
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue UCOL_DEFAULT
|
||||||
|
*/
|
||||||
|
const DEFAULT_VALUE = UNKNOWN;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue UCOL_PRIMARY
|
||||||
|
*/
|
||||||
|
const PRIMARY = UNKNOWN;
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue UCOL_SECONDARY
|
||||||
|
*/
|
||||||
|
const SECONDARY = UNKNOWN;
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue UCOL_TERTIARY
|
||||||
|
*/
|
||||||
|
const TERTIARY = UNKNOWN;
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue UCOL_DEFAULT_STRENGTH
|
||||||
|
*/
|
||||||
|
const DEFAULT_STRENGTH = UNKNOWN;
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue UCOL_QUATERNARY
|
||||||
|
*/
|
||||||
|
const QUATERNARY = UNKNOWN;
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue UCOL_IDENTICAL
|
||||||
|
*/
|
||||||
|
const IDENTICAL = UNKNOWN;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue UCOL_OFF
|
||||||
|
*/
|
||||||
|
const OFF = UNKNOWN;
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue UCOL_ON
|
||||||
|
*/
|
||||||
|
const ON = UNKNOWN;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue UCOL_SHIFTED
|
||||||
|
*/
|
||||||
|
const SHIFTED = UNKNOWN;
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue UCOL_NON_IGNORABLE
|
||||||
|
*/
|
||||||
|
const NON_IGNORABLE = UNKNOWN;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue UCOL_LOWER_FIRST
|
||||||
|
*/
|
||||||
|
const LOWER_FIRST = UNKNOWN;
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue UCOL_UPPER_FIRST
|
||||||
|
*/
|
||||||
|
const UPPER_FIRST = UNKNOWN;
|
||||||
|
|
||||||
|
/* UColAttribute constants */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue UCOL_FRENCH_COLLATION
|
||||||
|
*/
|
||||||
|
const FRENCH_COLLATION = UNKNOWN;
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue UCOL_ALTERNATE_HANDLING
|
||||||
|
*/
|
||||||
|
const ALTERNATE_HANDLING = UNKNOWN;
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue UCOL_CASE_FIRST
|
||||||
|
*/
|
||||||
|
const CASE_FIRST = UNKNOWN;
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue UCOL_CASE_LEVEL
|
||||||
|
*/
|
||||||
|
const CASE_LEVEL = UNKNOWN;
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue UCOL_NORMALIZATION_MODE
|
||||||
|
*/
|
||||||
|
const NORMALIZATION_MODE = UNKNOWN;
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue UCOL_STRENGTH
|
||||||
|
*/
|
||||||
|
const STRENGTH = UNKNOWN;
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue UCOL_HIRAGANA_QUATERNARY_MODE
|
||||||
|
*/
|
||||||
|
const HIRAGANA_QUATERNARY_MODE = UNKNOWN;
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue UCOL_NUMERIC_COLLATION
|
||||||
|
*/
|
||||||
|
const NUMERIC_COLLATION = UNKNOWN;
|
||||||
|
|
||||||
|
/* sort flags */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue COLLATOR_SORT_REGULAR
|
||||||
|
*/
|
||||||
|
const SORT_REGULAR = UNKNOWN;
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue COLLATOR_SORT_STRING
|
||||||
|
*/
|
||||||
|
const SORT_STRING = UNKNOWN;
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue COLLATOR_SORT_NUMERIC
|
||||||
|
*/
|
||||||
|
const SORT_NUMERIC = UNKNOWN;
|
||||||
|
|
||||||
public function __construct(string $locale) {}
|
public function __construct(string $locale) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
152
ext/intl/collator/collator_arginfo.h
generated
152
ext/intl/collator/collator_arginfo.h
generated
|
@ -1,5 +1,5 @@
|
||||||
/* This is a generated file, edit the .stub.php file instead.
|
/* This is a generated file, edit the .stub.php file instead.
|
||||||
* Stub hash: c2e08f16cdc3d64e82fc277b4a59250d4b19c84e */
|
* Stub hash: be1f74889b55b997f8b2647fe65ab86cf4d72c0b */
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Collator___construct, 0, 0, 1)
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Collator___construct, 0, 0, 1)
|
||||||
ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
|
ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
|
||||||
|
@ -90,6 +90,12 @@ static const zend_function_entry class_Collator_methods[] = {
|
||||||
ZEND_FE_END
|
ZEND_FE_END
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static void register_collator_symbols(int module_number)
|
||||||
|
{
|
||||||
|
REGISTER_LONG_CONSTANT("ULOC_ACTUAL_LOCALE", ULOC_ACTUAL_LOCALE, CONST_CS | CONST_PERSISTENT);
|
||||||
|
REGISTER_LONG_CONSTANT("ULOC_VALID_LOCALE", ULOC_VALID_LOCALE, CONST_CS | CONST_PERSISTENT);
|
||||||
|
}
|
||||||
|
|
||||||
static zend_class_entry *register_class_Collator(void)
|
static zend_class_entry *register_class_Collator(void)
|
||||||
{
|
{
|
||||||
zend_class_entry ce, *class_entry;
|
zend_class_entry ce, *class_entry;
|
||||||
|
@ -98,5 +104,149 @@ static zend_class_entry *register_class_Collator(void)
|
||||||
class_entry = zend_register_internal_class_ex(&ce, NULL);
|
class_entry = zend_register_internal_class_ex(&ce, NULL);
|
||||||
class_entry->ce_flags |= ZEND_ACC_NOT_SERIALIZABLE;
|
class_entry->ce_flags |= ZEND_ACC_NOT_SERIALIZABLE;
|
||||||
|
|
||||||
|
zval const_DEFAULT_VALUE_value;
|
||||||
|
ZVAL_LONG(&const_DEFAULT_VALUE_value, UCOL_DEFAULT);
|
||||||
|
zend_string *const_DEFAULT_VALUE_name = zend_string_init_interned("DEFAULT_VALUE", sizeof("DEFAULT_VALUE") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_DEFAULT_VALUE_name, &const_DEFAULT_VALUE_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_DEFAULT_VALUE_name);
|
||||||
|
|
||||||
|
zval const_PRIMARY_value;
|
||||||
|
ZVAL_LONG(&const_PRIMARY_value, UCOL_PRIMARY);
|
||||||
|
zend_string *const_PRIMARY_name = zend_string_init_interned("PRIMARY", sizeof("PRIMARY") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_PRIMARY_name, &const_PRIMARY_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_PRIMARY_name);
|
||||||
|
|
||||||
|
zval const_SECONDARY_value;
|
||||||
|
ZVAL_LONG(&const_SECONDARY_value, UCOL_SECONDARY);
|
||||||
|
zend_string *const_SECONDARY_name = zend_string_init_interned("SECONDARY", sizeof("SECONDARY") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_SECONDARY_name, &const_SECONDARY_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_SECONDARY_name);
|
||||||
|
|
||||||
|
zval const_TERTIARY_value;
|
||||||
|
ZVAL_LONG(&const_TERTIARY_value, UCOL_TERTIARY);
|
||||||
|
zend_string *const_TERTIARY_name = zend_string_init_interned("TERTIARY", sizeof("TERTIARY") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_TERTIARY_name, &const_TERTIARY_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_TERTIARY_name);
|
||||||
|
|
||||||
|
zval const_DEFAULT_STRENGTH_value;
|
||||||
|
ZVAL_LONG(&const_DEFAULT_STRENGTH_value, UCOL_DEFAULT_STRENGTH);
|
||||||
|
zend_string *const_DEFAULT_STRENGTH_name = zend_string_init_interned("DEFAULT_STRENGTH", sizeof("DEFAULT_STRENGTH") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_DEFAULT_STRENGTH_name, &const_DEFAULT_STRENGTH_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_DEFAULT_STRENGTH_name);
|
||||||
|
|
||||||
|
zval const_QUATERNARY_value;
|
||||||
|
ZVAL_LONG(&const_QUATERNARY_value, UCOL_QUATERNARY);
|
||||||
|
zend_string *const_QUATERNARY_name = zend_string_init_interned("QUATERNARY", sizeof("QUATERNARY") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_QUATERNARY_name, &const_QUATERNARY_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_QUATERNARY_name);
|
||||||
|
|
||||||
|
zval const_IDENTICAL_value;
|
||||||
|
ZVAL_LONG(&const_IDENTICAL_value, UCOL_IDENTICAL);
|
||||||
|
zend_string *const_IDENTICAL_name = zend_string_init_interned("IDENTICAL", sizeof("IDENTICAL") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_IDENTICAL_name, &const_IDENTICAL_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_IDENTICAL_name);
|
||||||
|
|
||||||
|
zval const_OFF_value;
|
||||||
|
ZVAL_LONG(&const_OFF_value, UCOL_OFF);
|
||||||
|
zend_string *const_OFF_name = zend_string_init_interned("OFF", sizeof("OFF") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_OFF_name, &const_OFF_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_OFF_name);
|
||||||
|
|
||||||
|
zval const_ON_value;
|
||||||
|
ZVAL_LONG(&const_ON_value, UCOL_ON);
|
||||||
|
zend_string *const_ON_name = zend_string_init_interned("ON", sizeof("ON") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_ON_name, &const_ON_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_ON_name);
|
||||||
|
|
||||||
|
zval const_SHIFTED_value;
|
||||||
|
ZVAL_LONG(&const_SHIFTED_value, UCOL_SHIFTED);
|
||||||
|
zend_string *const_SHIFTED_name = zend_string_init_interned("SHIFTED", sizeof("SHIFTED") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_SHIFTED_name, &const_SHIFTED_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_SHIFTED_name);
|
||||||
|
|
||||||
|
zval const_NON_IGNORABLE_value;
|
||||||
|
ZVAL_LONG(&const_NON_IGNORABLE_value, UCOL_NON_IGNORABLE);
|
||||||
|
zend_string *const_NON_IGNORABLE_name = zend_string_init_interned("NON_IGNORABLE", sizeof("NON_IGNORABLE") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_NON_IGNORABLE_name, &const_NON_IGNORABLE_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_NON_IGNORABLE_name);
|
||||||
|
|
||||||
|
zval const_LOWER_FIRST_value;
|
||||||
|
ZVAL_LONG(&const_LOWER_FIRST_value, UCOL_LOWER_FIRST);
|
||||||
|
zend_string *const_LOWER_FIRST_name = zend_string_init_interned("LOWER_FIRST", sizeof("LOWER_FIRST") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_LOWER_FIRST_name, &const_LOWER_FIRST_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_LOWER_FIRST_name);
|
||||||
|
|
||||||
|
zval const_UPPER_FIRST_value;
|
||||||
|
ZVAL_LONG(&const_UPPER_FIRST_value, UCOL_UPPER_FIRST);
|
||||||
|
zend_string *const_UPPER_FIRST_name = zend_string_init_interned("UPPER_FIRST", sizeof("UPPER_FIRST") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_UPPER_FIRST_name, &const_UPPER_FIRST_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_UPPER_FIRST_name);
|
||||||
|
|
||||||
|
zval const_FRENCH_COLLATION_value;
|
||||||
|
ZVAL_LONG(&const_FRENCH_COLLATION_value, UCOL_FRENCH_COLLATION);
|
||||||
|
zend_string *const_FRENCH_COLLATION_name = zend_string_init_interned("FRENCH_COLLATION", sizeof("FRENCH_COLLATION") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_FRENCH_COLLATION_name, &const_FRENCH_COLLATION_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_FRENCH_COLLATION_name);
|
||||||
|
|
||||||
|
zval const_ALTERNATE_HANDLING_value;
|
||||||
|
ZVAL_LONG(&const_ALTERNATE_HANDLING_value, UCOL_ALTERNATE_HANDLING);
|
||||||
|
zend_string *const_ALTERNATE_HANDLING_name = zend_string_init_interned("ALTERNATE_HANDLING", sizeof("ALTERNATE_HANDLING") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_ALTERNATE_HANDLING_name, &const_ALTERNATE_HANDLING_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_ALTERNATE_HANDLING_name);
|
||||||
|
|
||||||
|
zval const_CASE_FIRST_value;
|
||||||
|
ZVAL_LONG(&const_CASE_FIRST_value, UCOL_CASE_FIRST);
|
||||||
|
zend_string *const_CASE_FIRST_name = zend_string_init_interned("CASE_FIRST", sizeof("CASE_FIRST") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_CASE_FIRST_name, &const_CASE_FIRST_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_CASE_FIRST_name);
|
||||||
|
|
||||||
|
zval const_CASE_LEVEL_value;
|
||||||
|
ZVAL_LONG(&const_CASE_LEVEL_value, UCOL_CASE_LEVEL);
|
||||||
|
zend_string *const_CASE_LEVEL_name = zend_string_init_interned("CASE_LEVEL", sizeof("CASE_LEVEL") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_CASE_LEVEL_name, &const_CASE_LEVEL_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_CASE_LEVEL_name);
|
||||||
|
|
||||||
|
zval const_NORMALIZATION_MODE_value;
|
||||||
|
ZVAL_LONG(&const_NORMALIZATION_MODE_value, UCOL_NORMALIZATION_MODE);
|
||||||
|
zend_string *const_NORMALIZATION_MODE_name = zend_string_init_interned("NORMALIZATION_MODE", sizeof("NORMALIZATION_MODE") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_NORMALIZATION_MODE_name, &const_NORMALIZATION_MODE_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_NORMALIZATION_MODE_name);
|
||||||
|
|
||||||
|
zval const_STRENGTH_value;
|
||||||
|
ZVAL_LONG(&const_STRENGTH_value, UCOL_STRENGTH);
|
||||||
|
zend_string *const_STRENGTH_name = zend_string_init_interned("STRENGTH", sizeof("STRENGTH") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_STRENGTH_name, &const_STRENGTH_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_STRENGTH_name);
|
||||||
|
|
||||||
|
zval const_HIRAGANA_QUATERNARY_MODE_value;
|
||||||
|
ZVAL_LONG(&const_HIRAGANA_QUATERNARY_MODE_value, UCOL_HIRAGANA_QUATERNARY_MODE);
|
||||||
|
zend_string *const_HIRAGANA_QUATERNARY_MODE_name = zend_string_init_interned("HIRAGANA_QUATERNARY_MODE", sizeof("HIRAGANA_QUATERNARY_MODE") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_HIRAGANA_QUATERNARY_MODE_name, &const_HIRAGANA_QUATERNARY_MODE_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_HIRAGANA_QUATERNARY_MODE_name);
|
||||||
|
|
||||||
|
zval const_NUMERIC_COLLATION_value;
|
||||||
|
ZVAL_LONG(&const_NUMERIC_COLLATION_value, UCOL_NUMERIC_COLLATION);
|
||||||
|
zend_string *const_NUMERIC_COLLATION_name = zend_string_init_interned("NUMERIC_COLLATION", sizeof("NUMERIC_COLLATION") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_NUMERIC_COLLATION_name, &const_NUMERIC_COLLATION_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_NUMERIC_COLLATION_name);
|
||||||
|
|
||||||
|
zval const_SORT_REGULAR_value;
|
||||||
|
ZVAL_LONG(&const_SORT_REGULAR_value, COLLATOR_SORT_REGULAR);
|
||||||
|
zend_string *const_SORT_REGULAR_name = zend_string_init_interned("SORT_REGULAR", sizeof("SORT_REGULAR") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_SORT_REGULAR_name, &const_SORT_REGULAR_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_SORT_REGULAR_name);
|
||||||
|
|
||||||
|
zval const_SORT_STRING_value;
|
||||||
|
ZVAL_LONG(&const_SORT_STRING_value, COLLATOR_SORT_STRING);
|
||||||
|
zend_string *const_SORT_STRING_name = zend_string_init_interned("SORT_STRING", sizeof("SORT_STRING") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_SORT_STRING_name, &const_SORT_STRING_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_SORT_STRING_name);
|
||||||
|
|
||||||
|
zval const_SORT_NUMERIC_value;
|
||||||
|
ZVAL_LONG(&const_SORT_NUMERIC_value, COLLATOR_SORT_NUMERIC);
|
||||||
|
zend_string *const_SORT_NUMERIC_name = zend_string_init_interned("SORT_NUMERIC", sizeof("SORT_NUMERIC") - 1, 1);
|
||||||
|
zend_declare_class_constant_ex(class_entry, const_SORT_NUMERIC_name, &const_SORT_NUMERIC_value, ZEND_ACC_PUBLIC, NULL);
|
||||||
|
zend_string_release(const_SORT_NUMERIC_name);
|
||||||
|
|
||||||
return class_entry;
|
return class_entry;
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,15 +13,17 @@
|
||||||
+----------------------------------------------------------------------+
|
+----------------------------------------------------------------------+
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "collator.h"
|
||||||
#include "collator_class.h"
|
#include "collator_class.h"
|
||||||
#include "php_intl.h"
|
#include "php_intl.h"
|
||||||
#include "collator_sort.h"
|
#include "collator_sort.h"
|
||||||
#include "collator_convert.h"
|
#include "collator_convert.h"
|
||||||
#include "collator_arginfo.h"
|
|
||||||
#include "intl_error.h"
|
#include "intl_error.h"
|
||||||
|
|
||||||
#include <unicode/ucol.h>
|
#include <unicode/ucol.h>
|
||||||
|
|
||||||
|
#include "collator_arginfo.h"
|
||||||
|
|
||||||
zend_class_entry *Collator_ce_ptr = NULL;
|
zend_class_entry *Collator_ce_ptr = NULL;
|
||||||
static zend_object_handlers Collator_handlers;
|
static zend_object_handlers Collator_handlers;
|
||||||
|
|
||||||
|
@ -58,11 +60,13 @@ zend_object *Collator_object_create(zend_class_entry *ce )
|
||||||
* 'Collator' class registration structures & functions
|
* 'Collator' class registration structures & functions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* {{{ collator_register_Collator_class
|
/* {{{ collator_register_Collator_symbols
|
||||||
* Initialize 'Collator' class
|
* Initialize 'Collator' class
|
||||||
*/
|
*/
|
||||||
void collator_register_Collator_class( void )
|
void collator_register_Collator_symbols(int module_number)
|
||||||
{
|
{
|
||||||
|
register_collator_symbols(module_number);
|
||||||
|
|
||||||
/* Create and register 'Collator' class. */
|
/* Create and register 'Collator' class. */
|
||||||
Collator_ce_ptr = register_class_Collator();
|
Collator_ce_ptr = register_class_Collator();
|
||||||
Collator_ce_ptr->create_object = Collator_object_create;
|
Collator_ce_ptr->create_object = Collator_object_create;
|
||||||
|
|
|
@ -46,7 +46,7 @@ static inline Collator_object *php_intl_collator_fetch_object(zend_object *obj)
|
||||||
}
|
}
|
||||||
#define Z_INTL_COLLATOR_P(zv) php_intl_collator_fetch_object(Z_OBJ_P(zv))
|
#define Z_INTL_COLLATOR_P(zv) php_intl_collator_fetch_object(Z_OBJ_P(zv))
|
||||||
|
|
||||||
void collator_register_Collator_class( void );
|
void collator_register_Collator_symbols(int module_number);
|
||||||
void collator_object_init( Collator_object* co );
|
void collator_object_init( Collator_object* co );
|
||||||
void collator_object_destroy( Collator_object* co );
|
void collator_object_destroy( Collator_object* co );
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,6 @@ if test "$PHP_INTL" != "no"; then
|
||||||
PHP_NEW_EXTENSION(intl, php_intl.c \
|
PHP_NEW_EXTENSION(intl, php_intl.c \
|
||||||
intl_error.c \
|
intl_error.c \
|
||||||
intl_convert.c \
|
intl_convert.c \
|
||||||
collator/collator.c \
|
|
||||||
collator/collator_class.c \
|
collator/collator_class.c \
|
||||||
collator/collator_sort.c \
|
collator/collator_sort.c \
|
||||||
collator/collator_convert.c \
|
collator/collator_convert.c \
|
||||||
|
|
|
@ -9,7 +9,6 @@ if (PHP_INTL != "no") {
|
||||||
EXTENSION("intl", "php_intl.c intl_convert.c intl_convertcpp.cpp intl_error.c ", true,
|
EXTENSION("intl", "php_intl.c intl_convert.c intl_convertcpp.cpp intl_error.c ", true,
|
||||||
"/I \"" + configure_module_dirname + "\" /DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
|
"/I \"" + configure_module_dirname + "\" /DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
|
||||||
ADD_SOURCES(configure_module_dirname + "/collator", "\
|
ADD_SOURCES(configure_module_dirname + "/collator", "\
|
||||||
collator.c \
|
|
||||||
collator_attr.c \
|
collator_attr.c \
|
||||||
collator_class.c \
|
collator_class.c \
|
||||||
collator_compare.c \
|
collator_compare.c \
|
||||||
|
|
|
@ -21,7 +21,6 @@
|
||||||
|
|
||||||
|
|
||||||
#include "php_intl.h"
|
#include "php_intl.h"
|
||||||
#include "php_intl_arginfo.h"
|
|
||||||
#include "intl_error.h"
|
#include "intl_error.h"
|
||||||
#include "collator/collator_class.h"
|
#include "collator/collator_class.h"
|
||||||
#include "collator/collator.h"
|
#include "collator/collator.h"
|
||||||
|
@ -76,6 +75,8 @@
|
||||||
|
|
||||||
#include "php_ini.h"
|
#include "php_ini.h"
|
||||||
|
|
||||||
|
#include "php_intl_arginfo.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* locale_get_default has a conflict since ICU also has
|
* locale_get_default has a conflict since ICU also has
|
||||||
* a function with the same name
|
* a function with the same name
|
||||||
|
@ -148,17 +149,10 @@ PHP_MINIT_FUNCTION( intl )
|
||||||
/* For the default locale php.ini setting */
|
/* For the default locale php.ini setting */
|
||||||
REGISTER_INI_ENTRIES();
|
REGISTER_INI_ENTRIES();
|
||||||
|
|
||||||
REGISTER_LONG_CONSTANT("INTL_MAX_LOCALE_LEN", INTL_MAX_LOCALE_LEN, CONST_PERSISTENT | CONST_CS);
|
register_php_intl_symbols(module_number);
|
||||||
REGISTER_STRING_CONSTANT("INTL_ICU_VERSION", U_ICU_VERSION, CONST_PERSISTENT | CONST_CS);
|
|
||||||
#ifdef U_ICU_DATA_VERSION
|
|
||||||
REGISTER_STRING_CONSTANT("INTL_ICU_DATA_VERSION", U_ICU_DATA_VERSION, CONST_PERSISTENT | CONST_CS);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Register 'Collator' PHP class */
|
/* Register collator symbols and classes */
|
||||||
collator_register_Collator_class( );
|
collator_register_Collator_symbols(module_number);
|
||||||
|
|
||||||
/* Expose Collator constants to PHP scripts */
|
|
||||||
collator_register_constants( INIT_FUNC_ARGS_PASSTHRU );
|
|
||||||
|
|
||||||
/* Register 'NumberFormatter' PHP class */
|
/* Register 'NumberFormatter' PHP class */
|
||||||
formatter_register_class( );
|
formatter_register_class( );
|
||||||
|
|
|
@ -2,6 +2,24 @@
|
||||||
|
|
||||||
/** @generate-class-entries */
|
/** @generate-class-entries */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int
|
||||||
|
* @cvalue INTL_MAX_LOCALE_LEN
|
||||||
|
*/
|
||||||
|
const INTL_MAX_LOCALE_LEN = UNKNOWN;
|
||||||
|
/**
|
||||||
|
* @var string
|
||||||
|
* @cvalue U_ICU_VERSION
|
||||||
|
*/
|
||||||
|
const INTL_ICU_VERSION = UNKNOWN;
|
||||||
|
#ifdef U_ICU_DATA_VERSION
|
||||||
|
/**
|
||||||
|
* @var string
|
||||||
|
* @cvalue U_ICU_DATA_VERSION
|
||||||
|
*/
|
||||||
|
const INTL_ICU_DATA_VERSION = UNKNOWN;
|
||||||
|
#endif
|
||||||
|
|
||||||
class IntlException extends Exception
|
class IntlException extends Exception
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
11
ext/intl/php_intl_arginfo.h
generated
11
ext/intl/php_intl_arginfo.h
generated
|
@ -1,5 +1,5 @@
|
||||||
/* This is a generated file, edit the .stub.php file instead.
|
/* This is a generated file, edit the .stub.php file instead.
|
||||||
* Stub hash: 09aa0aa66c78b86c0e6e0e554c3ebe205a0e5f59 */
|
* Stub hash: 00c129ef1fe3ff8227fd6926f8702e05582a33a8 */
|
||||||
|
|
||||||
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_intlcal_create_instance, 0, 0, IntlCalendar, 1)
|
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_intlcal_create_instance, 0, 0, IntlCalendar, 1)
|
||||||
ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, timezone, "null")
|
ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, timezone, "null")
|
||||||
|
@ -1171,6 +1171,15 @@ static const zend_function_entry class_IntlException_methods[] = {
|
||||||
ZEND_FE_END
|
ZEND_FE_END
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static void register_php_intl_symbols(int module_number)
|
||||||
|
{
|
||||||
|
REGISTER_LONG_CONSTANT("INTL_MAX_LOCALE_LEN", INTL_MAX_LOCALE_LEN, CONST_CS | CONST_PERSISTENT);
|
||||||
|
REGISTER_STRING_CONSTANT("INTL_ICU_VERSION", U_ICU_VERSION, CONST_CS | CONST_PERSISTENT);
|
||||||
|
#if defined(U_ICU_DATA_VERSION)
|
||||||
|
REGISTER_STRING_CONSTANT("INTL_ICU_DATA_VERSION", U_ICU_DATA_VERSION, CONST_CS | CONST_PERSISTENT);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
static zend_class_entry *register_class_IntlException(zend_class_entry *class_entry_Exception)
|
static zend_class_entry *register_class_IntlException(zend_class_entry *class_entry_Exception)
|
||||||
{
|
{
|
||||||
zend_class_entry ce, *class_entry;
|
zend_class_entry ce, *class_entry;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue