]> granicus.if.org Git - php/commitdiff
Add stubs for IntlTimeZone
authorMáté Kocsis <kocsismate@woohoolabs.com>
Fri, 11 Oct 2019 23:19:56 +0000 (01:19 +0200)
committerChristoph M. Becker <cmbecker69@gmx.de>
Mon, 4 Nov 2019 13:10:01 +0000 (14:10 +0100)
ext/intl/php_intl.c
ext/intl/timezone/timezone.stub.php [new file with mode: 0644]
ext/intl/timezone/timezone_arginfo.h [new file with mode: 0644]
ext/intl/timezone/timezone_class.cpp

index 72582883af65938f63c3d0e4a82b9fd4306afed8..0173de003dcf218d862f419ae6d9e25f095645e3 100644 (file)
@@ -74,6 +74,7 @@
 
 #include "timezone/timezone_class.h"
 #include "timezone/timezone_methods.h"
+#include "timezone/timezone_arginfo.h"
 
 #include "calendar/calendar_class.h"
 #include "calendar/calendar_methods.h"
@@ -435,61 +436,6 @@ ZEND_BEGIN_ARG_INFO_EX( arginfo_transliterator_error, 0, 0, 1 )
        ZEND_ARG_OBJ_INFO( 0, trans, Transliterator, 0 )
 ZEND_END_ARG_INFO()
 
-ZEND_BEGIN_ARG_INFO_EX( arginfo_tz_idarg_static, 0, 0, 1 )
-       ZEND_ARG_INFO( 0, zoneId )
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX( arginfo_tz_from_date_time_zone, 0, 0, 1 )
-       ZEND_ARG_OBJ_INFO( 0, dateTimeZone, DateTimeZone, 0 )
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX( arginfo_tz_create_enumeration, 0, 0, 0 )
-       ZEND_ARG_INFO( 0, countryOrRawOffset )
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX( arginfo_tz_create_time_zone_id_enumeration, 0, 0, 1 )
-       ZEND_ARG_INFO( 0, zoneType )
-       ZEND_ARG_INFO( 0, region )
-       ZEND_ARG_INFO( 0, rawOffset )
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX( arginfo_tz_get_canonical_id, 0, 0, 1 )
-       ZEND_ARG_INFO( 0, zoneId )
-       ZEND_ARG_INFO( 1, isSystemID )
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX( arginfo_tz_get_equivalent_id, 0, 0, 2 )
-       ZEND_ARG_INFO( 0, zoneId )
-       ZEND_ARG_INFO( 0, index )
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX( arginfo_tz_get_offset, 0, 0, 5 )
-       ZEND_ARG_OBJ_INFO( 0, timeZone, IntlTimeZone, 0 )
-       ZEND_ARG_INFO( 0, date )
-       ZEND_ARG_INFO( 0, local )
-       ZEND_ARG_INFO( 1, rawOffset )
-       ZEND_ARG_INFO( 1, dstOffset )
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX( arginfo_tz_has_same_rules, 0, 0, 1 )
-       ZEND_ARG_OBJ_INFO( 0, timeZone, IntlTimeZone, 0 )
-       ZEND_ARG_OBJ_INFO( 0, otherTimeZone, IntlTimeZone, 0 )
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX( arginfo_tz_get_display_name, 0, 0, 1 )
-       ZEND_ARG_OBJ_INFO( 0, timeZone, IntlTimeZone, 0 )
-       ZEND_ARG_INFO( 0, isDaylight )
-       ZEND_ARG_INFO( 0, style )
-       ZEND_ARG_INFO( 0, locale )
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX( arginfo_tz_only_tz, 0, 0, 1 )
-       ZEND_ARG_OBJ_INFO( 0, timeZone, IntlTimeZone, 0 )
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX( arginfo_tz_void, 0, 0, 0 )
-ZEND_END_ARG_INFO()
-
 ZEND_BEGIN_ARG_INFO_EX( ainfo_cal_create_instance, 0, 0, 0 )
        ZEND_ARG_INFO( 0, timeZone )
        ZEND_ARG_INFO( 0, locale )
@@ -754,28 +700,28 @@ static const zend_function_entry intl_functions[] = {
        PHP_FE( transliterator_get_error_message, arginfo_transliterator_error )
 
        /* TimeZone functions */
-       PHP_FE( intltz_create_time_zone, arginfo_tz_idarg_static )
-       PHP_FE( intltz_from_date_time_zone, arginfo_tz_from_date_time_zone )
-       PHP_FE( intltz_create_default, arginfo_tz_void )
-       PHP_FE( intltz_get_id, arginfo_tz_only_tz )
-       PHP_FE( intltz_get_gmt, arginfo_tz_void )
-       PHP_FE( intltz_get_unknown, arginfo_tz_void )
-       PHP_FE( intltz_create_enumeration, arginfo_tz_create_enumeration )
-       PHP_FE( intltz_count_equivalent_ids, arginfo_tz_idarg_static )
-       PHP_FE( intltz_create_time_zone_id_enumeration, arginfo_tz_create_time_zone_id_enumeration )
-       PHP_FE( intltz_get_canonical_id, arginfo_tz_get_canonical_id )
-       PHP_FE( intltz_get_region, arginfo_tz_idarg_static )
-       PHP_FE( intltz_get_tz_data_version, arginfo_tz_void )
-       PHP_FE( intltz_get_equivalent_id, arginfo_tz_get_equivalent_id )
-       PHP_FE( intltz_use_daylight_time, arginfo_tz_only_tz )
-       PHP_FE( intltz_get_offset, arginfo_tz_get_offset )
-       PHP_FE( intltz_get_raw_offset, arginfo_tz_only_tz )
-       PHP_FE( intltz_has_same_rules, arginfo_tz_has_same_rules )
-       PHP_FE( intltz_get_display_name, arginfo_tz_get_display_name )
-       PHP_FE( intltz_get_dst_savings, arginfo_tz_only_tz )
-       PHP_FE( intltz_to_date_time_zone, arginfo_tz_only_tz )
-       PHP_FE( intltz_get_error_code, arginfo_tz_only_tz )
-       PHP_FE( intltz_get_error_message, arginfo_tz_only_tz )
+       PHP_FE( intltz_create_time_zone, arginfo_intltz_create_time_zone )
+       PHP_FE( intltz_from_date_time_zone, arginfo_intltz_from_date_time_zone )
+       PHP_FE( intltz_create_default, arginfo_intltz_create_default )
+       PHP_FE( intltz_get_id, arginfo_intltz_get_id )
+       PHP_FE( intltz_get_gmt, arginfo_intltz_get_gmt )
+       PHP_FE( intltz_get_unknown, arginfo_intltz_get_unknown )
+       PHP_FE( intltz_create_enumeration, arginfo_intltz_create_enumeration )
+       PHP_FE( intltz_count_equivalent_ids, arginfo_intltz_count_equivalent_ids )
+       PHP_FE( intltz_create_time_zone_id_enumeration, arginfo_intltz_create_time_zone_id_enumeration )
+       PHP_FE( intltz_get_canonical_id, arginfo_intltz_get_canonical_id )
+       PHP_FE( intltz_get_region, arginfo_intltz_get_region )
+       PHP_FE( intltz_get_tz_data_version, arginfo_intltz_get_tz_data_version )
+       PHP_FE( intltz_get_equivalent_id, arginfo_intltz_get_equivalent_id )
+       PHP_FE( intltz_use_daylight_time, arginfo_intltz_use_daylight_time )
+       PHP_FE( intltz_get_offset, arginfo_intltz_get_offset )
+       PHP_FE( intltz_get_raw_offset, arginfo_intltz_get_raw_offset )
+       PHP_FE( intltz_has_same_rules, arginfo_intltz_has_same_rules )
+       PHP_FE( intltz_get_display_name, arginfo_intltz_get_display_name )
+       PHP_FE( intltz_get_dst_savings, arginfo_intltz_get_dst_savings )
+       PHP_FE( intltz_to_date_time_zone, arginfo_intltz_to_date_time_zone )
+       PHP_FE( intltz_get_error_code, arginfo_intltz_get_error_code )
+       PHP_FE( intltz_get_error_message, arginfo_intltz_get_error_message )
 
        PHP_FE( intlcal_create_instance, ainfo_cal_create_instance )
        PHP_FE( intlcal_get_keyword_values_for_locale, ainfo_cal_get_keyword_values_for_locale )
diff --git a/ext/intl/timezone/timezone.stub.php b/ext/intl/timezone/timezone.stub.php
new file mode 100644 (file)
index 0000000..36b1c91
--- /dev/null
@@ -0,0 +1,151 @@
+<?php
+
+class IntlTimeZone
+{
+    private function __construct() {}
+
+    /** @return int|false */
+    public static function countEquivalentIDs(string $zoneId) {}
+
+    /** @return IntlTimeZone */
+    public static function createDefault() {}
+
+    /**
+     * @param IntlTimeZone|string|int|double|null $countryOrRawOffset
+     * @return IntlIterator|false
+     */
+    public static function createEnumeration($countryOrRawOffset = null) {}
+
+    /** @return ?IntlTimeZone */
+    public static function createTimeZone(string $zoneId) {}
+
+    /** @return IntlIterator|false */
+    public static function createTimeZoneIDEnumeration(int $zoneType, ?string $region = null, ?int $rawOffset = null) {}
+
+    /** @return ?IntlTimeZone */
+    public static function fromDateTimeZone(DateTimeZone $zone) {}
+
+    /** @return string|false */
+    public static function getCanonicalID(string $zoneId, &$isSystemID = null) {}
+
+    /** @return string|false */
+    public function getDisplayName(bool $isDaylight = false, int $style = IntlTimeZone::DISPLAY_LONG, ?string $locale = null) {}
+
+    /** @return int|false */
+    public function getDSTSavings() {}
+
+    /** @return string|false */
+    public static function getEquivalentID(string $zoneId, int $index) {}
+
+    /** @return int|false */
+    public function getErrorCode() {}
+
+    /** @return string|false */
+    public function getErrorMessage() {}
+
+    /** @return IntlTimeZone */
+    public static function getGMT() {}
+
+    /** @return string|false */
+    public function getID() {}
+
+    /** @return bool */
+    public function getOffset(float $date, bool $local, &$rawOffset, &$dstOffset) {}
+
+    /** @return int|false */
+    public function getRawOffset() {}
+
+    /** @return string|false */
+    public static function getRegion(string $zoneId) {}
+
+    /** @return string|false */
+    public static function getTZDataVersion() {}
+
+    /** @return IntlTimeZone */
+    public static function getUnknown() {}
+
+#if U_ICU_VERSION_MAJOR_NUM >= 52
+    /** @return string|false */
+    public static function getWindowsID(string $timezone) {}
+
+    /** @return string|false */
+    public static function getIDForWindowsID(string $timezone, string $region = UNKNOWN) {}
+#endif
+    /** @return bool */
+    public function hasSameRules(IntlTimeZone $otherTimeZone) {}
+
+    /** @return DateTimeZone|false */
+    public function toDateTimeZone() {}
+
+    /** @return bool */
+    public function useDaylightTime() {}
+}
+
+/** @return int|false */
+function intltz_count_equivalent_ids(string $zoneId) {}
+
+function intltz_create_default(): IntlTimeZone {}
+
+/**
+ * @param IntlTimeZone|string|int|double|null $countryOrRawOffset
+ * @return IntlIterator|false
+ */
+function intltz_create_enumeration($countryOrRawOffset = null) {}
+
+function intltz_create_time_zone(string $zoneId): ?IntlTimeZone {}
+
+/** @return IntlIterator|false */
+function intltz_create_time_zone_id_enumeration(int $zoneType, ?string $region = null, ?int $rawOffset = null) {}
+
+function intltz_from_date_time_zone(DateTimeZone $zone): ?IntlTimeZone {}
+
+/** @return string|false */
+function intltz_get_canonical_id(string $zoneId, &$isSystemID = null) {}
+
+/** @return string|false */
+function intltz_get_display_name(IntlTimeZone $tz, bool $isDaylight = false, int $style = IntlTimeZone::DISPLAY_LONG, ?string $locale = null) {}
+
+/** @return int|false */
+function intltz_get_dst_savings(IntlTimeZone $tz) {}
+
+/** @return string|false */
+function intltz_get_equivalent_id(string $zoneId, int $index) {}
+
+/** @return int|false */
+function intltz_get_error_code(IntlTimeZone $tz) {}
+
+/** @return string|false */
+function intltz_get_error_message(IntlTimeZone $tz) {}
+
+function intltz_get_gmt(): IntlTimeZone {}
+
+/** @return string|false */
+function intltz_get_id(IntlTimeZone $tz) {}
+
+function intltz_get_offset(IntlTimeZone $tz, float $date, bool $local, &$rawOffset, &$dstOffset): bool {}
+
+/** @return int|false */
+function intltz_get_raw_offset(IntlTimeZone $tz) {}
+
+/** @return string|false */
+function intltz_get_region(string $zoneId) {}
+
+/** @return string|false */
+function intltz_get_tz_data_version() {}
+
+function intltz_get_unknown(): IntlTimeZone {}
+
+#if U_ICU_VERSION_MAJOR_NUM >= 52
+/** @return string|false */
+function intltz_get_windows_id(string $timezone) {}
+
+/** @return string|false */
+function intltz_get_id_for_windows_id(string $timezone, string $region = UNKNOWN) {}
+#endif
+
+function intltz_has_same_rules(IntlTimeZone $tz, IntlTimeZone $otherTimeZone): bool {}
+
+/** @return DateTimeZone|false */
+function intltz_to_date_time_zone(IntlTimeZone $tz) {}
+
+function intltz_use_daylight_time(IntlTimeZone $tz): bool {}
diff --git a/ext/intl/timezone/timezone_arginfo.h b/ext/intl/timezone/timezone_arginfo.h
new file mode 100644 (file)
index 0000000..48d99f5
--- /dev/null
@@ -0,0 +1,163 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlTimeZone___construct, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlTimeZone_countEquivalentIDs, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, zoneId, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_IntlTimeZone_createDefault arginfo_class_IntlTimeZone___construct
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlTimeZone_createEnumeration, 0, 0, 0)
+       ZEND_ARG_INFO(0, countryOrRawOffset)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_IntlTimeZone_createTimeZone arginfo_class_IntlTimeZone_countEquivalentIDs
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlTimeZone_createTimeZoneIDEnumeration, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, zoneType, IS_LONG, 0)
+       ZEND_ARG_TYPE_INFO(0, region, IS_STRING, 1)
+       ZEND_ARG_TYPE_INFO(0, rawOffset, IS_LONG, 1)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlTimeZone_fromDateTimeZone, 0, 0, 1)
+       ZEND_ARG_OBJ_INFO(0, zone, DateTimeZone, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlTimeZone_getCanonicalID, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, zoneId, IS_STRING, 0)
+       ZEND_ARG_INFO(1, isSystemID)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlTimeZone_getDisplayName, 0, 0, 0)
+       ZEND_ARG_TYPE_INFO(0, isDaylight, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, style, IS_LONG, 0)
+       ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 1)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_IntlTimeZone_getDSTSavings arginfo_class_IntlTimeZone___construct
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlTimeZone_getEquivalentID, 0, 0, 2)
+       ZEND_ARG_TYPE_INFO(0, zoneId, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_IntlTimeZone_getErrorCode arginfo_class_IntlTimeZone___construct
+
+#define arginfo_class_IntlTimeZone_getErrorMessage arginfo_class_IntlTimeZone___construct
+
+#define arginfo_class_IntlTimeZone_getGMT arginfo_class_IntlTimeZone___construct
+
+#define arginfo_class_IntlTimeZone_getID arginfo_class_IntlTimeZone___construct
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlTimeZone_getOffset, 0, 0, 4)
+       ZEND_ARG_TYPE_INFO(0, date, IS_DOUBLE, 0)
+       ZEND_ARG_TYPE_INFO(0, local, _IS_BOOL, 0)
+       ZEND_ARG_INFO(1, rawOffset)
+       ZEND_ARG_INFO(1, dstOffset)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_IntlTimeZone_getRawOffset arginfo_class_IntlTimeZone___construct
+
+#define arginfo_class_IntlTimeZone_getRegion arginfo_class_IntlTimeZone_countEquivalentIDs
+
+#define arginfo_class_IntlTimeZone_getTZDataVersion arginfo_class_IntlTimeZone___construct
+
+#define arginfo_class_IntlTimeZone_getUnknown arginfo_class_IntlTimeZone___construct
+
+#if U_ICU_VERSION_MAJOR_NUM >= 52
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlTimeZone_getWindowsID, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, timezone, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+#if U_ICU_VERSION_MAJOR_NUM >= 52
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlTimeZone_getIDForWindowsID, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, timezone, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, region, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlTimeZone_hasSameRules, 0, 0, 1)
+       ZEND_ARG_OBJ_INFO(0, otherTimeZone, IntlTimeZone, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_IntlTimeZone_toDateTimeZone arginfo_class_IntlTimeZone___construct
+
+#define arginfo_class_IntlTimeZone_useDaylightTime arginfo_class_IntlTimeZone___construct
+
+#define arginfo_intltz_count_equivalent_ids arginfo_class_IntlTimeZone_countEquivalentIDs
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_intltz_create_default, 0, 0, IntlTimeZone, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_intltz_create_enumeration arginfo_class_IntlTimeZone_createEnumeration
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_intltz_create_time_zone, 0, 1, IntlTimeZone, 1)
+       ZEND_ARG_TYPE_INFO(0, zoneId, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_intltz_create_time_zone_id_enumeration arginfo_class_IntlTimeZone_createTimeZoneIDEnumeration
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_intltz_from_date_time_zone, 0, 1, IntlTimeZone, 1)
+       ZEND_ARG_OBJ_INFO(0, zone, DateTimeZone, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_intltz_get_canonical_id arginfo_class_IntlTimeZone_getCanonicalID
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_intltz_get_display_name, 0, 0, 1)
+       ZEND_ARG_OBJ_INFO(0, tz, IntlTimeZone, 0)
+       ZEND_ARG_TYPE_INFO(0, isDaylight, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, style, IS_LONG, 0)
+       ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 1)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_intltz_get_dst_savings, 0, 0, 1)
+       ZEND_ARG_OBJ_INFO(0, tz, IntlTimeZone, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_intltz_get_equivalent_id arginfo_class_IntlTimeZone_getEquivalentID
+
+#define arginfo_intltz_get_error_code arginfo_intltz_get_dst_savings
+
+#define arginfo_intltz_get_error_message arginfo_intltz_get_dst_savings
+
+#define arginfo_intltz_get_gmt arginfo_intltz_create_default
+
+#define arginfo_intltz_get_id arginfo_intltz_get_dst_savings
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intltz_get_offset, 0, 5, _IS_BOOL, 0)
+       ZEND_ARG_OBJ_INFO(0, tz, IntlTimeZone, 0)
+       ZEND_ARG_TYPE_INFO(0, date, IS_DOUBLE, 0)
+       ZEND_ARG_TYPE_INFO(0, local, _IS_BOOL, 0)
+       ZEND_ARG_INFO(1, rawOffset)
+       ZEND_ARG_INFO(1, dstOffset)
+ZEND_END_ARG_INFO()
+
+#define arginfo_intltz_get_raw_offset arginfo_intltz_get_dst_savings
+
+#define arginfo_intltz_get_region arginfo_class_IntlTimeZone_countEquivalentIDs
+
+#define arginfo_intltz_get_tz_data_version arginfo_class_IntlTimeZone___construct
+
+#define arginfo_intltz_get_unknown arginfo_intltz_create_default
+
+#if U_ICU_VERSION_MAJOR_NUM >= 52
+#define arginfo_intltz_get_windows_id arginfo_class_IntlTimeZone_getWindowsID
+#endif
+
+#if U_ICU_VERSION_MAJOR_NUM >= 52
+#define arginfo_intltz_get_id_for_windows_id arginfo_class_IntlTimeZone_getIDForWindowsID
+#endif
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intltz_has_same_rules, 0, 2, _IS_BOOL, 0)
+       ZEND_ARG_OBJ_INFO(0, tz, IntlTimeZone, 0)
+       ZEND_ARG_OBJ_INFO(0, otherTimeZone, IntlTimeZone, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_intltz_to_date_time_zone arginfo_intltz_get_dst_savings
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intltz_use_daylight_time, 0, 1, _IS_BOOL, 0)
+       ZEND_ARG_OBJ_INFO(0, tz, IntlTimeZone, 0)
+ZEND_END_ARG_INFO()
index 516b39837c7b0e05dd8e6bbe6f27b81b75aa6a49..5ada926d9e08011c747a96641fe89c3d2c94a981 100644 (file)
@@ -30,6 +30,7 @@ extern "C" {
 #define USE_TIMEZONE_POINTER 1
 #include "timezone_class.h"
 #include "timezone_methods.h"
+#include "timezone_arginfo.h"
 #include <zend_exceptions.h>
 #include <zend_interfaces.h>
 #include <ext/date/php_date.h>
@@ -390,104 +391,37 @@ static zend_object *TimeZone_object_create(zend_class_entry *ce)
 }
 /* }}} */
 
-/* {{{ TimeZone methods arguments info */
-
-ZEND_BEGIN_ARG_INFO_EX(ainfo_tz_idarg, 0, 0, 1)
-       ZEND_ARG_INFO(0, zoneId)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(ainfo_tz_fromDateTimeZone, 0, 0, 1)
-       ZEND_ARG_OBJ_INFO(0, otherTimeZone, IntlTimeZone, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(ainfo_tz_createEnumeration, 0, 0, 0)
-       ZEND_ARG_INFO(0, countryOrRawOffset)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(ainfo_tz_countEquivalentIDs, 0, 0, 1)
-       ZEND_ARG_INFO(0, zoneId)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(ainfo_tz_createTimeZoneIDEnumeration, 0, 0, 1)
-       ZEND_ARG_INFO(0, zoneType)
-       ZEND_ARG_INFO(0, region)
-       ZEND_ARG_INFO(0, rawOffset)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(ainfo_tz_getCanonicalID, 0, 0, 1)
-       ZEND_ARG_INFO(0, zoneId)
-       ZEND_ARG_INFO(1, isSystemID)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(ainfo_tz_getEquivalentID, 0, 0, 2)
-       ZEND_ARG_INFO(0, zoneId)
-       ZEND_ARG_INFO(0, index)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(ainfo_tz_getOffset, 0, 0, 4)
-       ZEND_ARG_INFO(0, date)
-       ZEND_ARG_INFO(0, local)
-       ZEND_ARG_INFO(1, rawOffset)
-       ZEND_ARG_INFO(1, dstOffset)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(ainfo_tz_hasSameRules, 0, 0, 1)
-       ZEND_ARG_OBJ_INFO(0, otherTimeZone, IntlTimeZone, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(ainfo_tz_getDisplayName, 0, 0, 0)
-       ZEND_ARG_INFO(0, isDaylight)
-       ZEND_ARG_INFO(0, style)
-       ZEND_ARG_INFO(0, locale)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(ainfo_tz_void, 0, 0, 0)
-ZEND_END_ARG_INFO()
-
-#if U_ICU_VERSION_MAJOR_NUM >= 52
-ZEND_BEGIN_ARG_INFO_EX(ainfo_tz_getWindowsID, 0, ZEND_RETURN_VALUE, 1)
-       ZEND_ARG_INFO(0, timezone)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(ainfo_tz_getIDForWindowsID, 0, ZEND_RETURN_VALUE, 1)
-       ZEND_ARG_INFO(0, timezone)
-       ZEND_ARG_INFO(0, region)
-ZEND_END_ARG_INFO()
-#endif
-
-/* }}} */
-
 /* {{{ TimeZone_class_functions
  * Every 'IntlTimeZone' class method has an entry in this table
  */
 static const zend_function_entry TimeZone_class_functions[] = {
-       PHP_ME(IntlTimeZone,                            __construct,                                    ainfo_tz_void,                          ZEND_ACC_PRIVATE)
-       PHP_ME_MAPPING(createTimeZone,          intltz_create_time_zone,                ainfo_tz_idarg,                         ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
-       PHP_ME_MAPPING(fromDateTimeZone,        intltz_from_date_time_zone,             ainfo_tz_idarg,                         ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
-       PHP_ME_MAPPING(createDefault,           intltz_create_default,                  ainfo_tz_void,                          ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
-       PHP_ME_MAPPING(getGMT,                          intltz_get_gmt,                                 ainfo_tz_void,                          ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
-       PHP_ME_MAPPING(getUnknown,                      intltz_get_unknown,                             ainfo_tz_void,                          ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
-       PHP_ME_MAPPING(createEnumeration,       intltz_create_enumeration,              ainfo_tz_createEnumeration,     ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
-       PHP_ME_MAPPING(countEquivalentIDs,      intltz_count_equivalent_ids,    ainfo_tz_idarg,                         ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
-       PHP_ME_MAPPING(createTimeZoneIDEnumeration, intltz_create_time_zone_id_enumeration, ainfo_tz_createTimeZoneIDEnumeration, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
-       PHP_ME_MAPPING(getCanonicalID,          intltz_get_canonical_id,                ainfo_tz_getCanonicalID,        ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
-       PHP_ME_MAPPING(getRegion,                       intltz_get_region,                              ainfo_tz_idarg,                         ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
-       PHP_ME_MAPPING(getTZDataVersion,        intltz_get_tz_data_version,             ainfo_tz_void,                          ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
-       PHP_ME_MAPPING(getEquivalentID,         intltz_get_equivalent_id,               ainfo_tz_getEquivalentID,       ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
-
-       PHP_ME_MAPPING(getID,                           intltz_get_id,                                  ainfo_tz_void,                          ZEND_ACC_PUBLIC)
-       PHP_ME_MAPPING(useDaylightTime,         intltz_use_daylight_time,               ainfo_tz_void,                          ZEND_ACC_PUBLIC)
-       PHP_ME_MAPPING(getOffset,                       intltz_get_offset,                              ainfo_tz_getOffset,                     ZEND_ACC_PUBLIC)
-       PHP_ME_MAPPING(getRawOffset,            intltz_get_raw_offset,                  ainfo_tz_void,                          ZEND_ACC_PUBLIC)
-       PHP_ME_MAPPING(hasSameRules,            intltz_has_same_rules,                  ainfo_tz_hasSameRules,          ZEND_ACC_PUBLIC)
-       PHP_ME_MAPPING(getDisplayName,          intltz_get_display_name,                ainfo_tz_getDisplayName,        ZEND_ACC_PUBLIC)
-       PHP_ME_MAPPING(getDSTSavings,           intltz_get_dst_savings,                 ainfo_tz_void,                          ZEND_ACC_PUBLIC)
-       PHP_ME_MAPPING(toDateTimeZone,          intltz_to_date_time_zone,               ainfo_tz_void,                          ZEND_ACC_PUBLIC)
-       PHP_ME_MAPPING(getErrorCode,            intltz_get_error_code,                  ainfo_tz_void,                          ZEND_ACC_PUBLIC)
-       PHP_ME_MAPPING(getErrorMessage,         intltz_get_error_message,               ainfo_tz_void,                          ZEND_ACC_PUBLIC)
+       PHP_ME(IntlTimeZone,                            __construct,                                    arginfo_class_IntlTimeZone___construct,                                 ZEND_ACC_PRIVATE)
+       PHP_ME_MAPPING(createTimeZone,          intltz_create_time_zone,                arginfo_class_IntlTimeZone_createTimeZone,                              ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
+       PHP_ME_MAPPING(fromDateTimeZone,        intltz_from_date_time_zone,             arginfo_class_IntlTimeZone_fromDateTimeZone,                    ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
+       PHP_ME_MAPPING(createDefault,           intltz_create_default,                  arginfo_class_IntlTimeZone_createDefault,                               ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
+       PHP_ME_MAPPING(getGMT,                          intltz_get_gmt,                                 arginfo_class_IntlTimeZone_getGMT,                                              ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
+       PHP_ME_MAPPING(getUnknown,                      intltz_get_unknown,                             arginfo_class_IntlTimeZone_getUnknown,                                  ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
+       PHP_ME_MAPPING(createEnumeration,       intltz_create_enumeration,              arginfo_class_IntlTimeZone_createEnumeration,                   ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
+       PHP_ME_MAPPING(countEquivalentIDs,      intltz_count_equivalent_ids,    arginfo_class_IntlTimeZone_countEquivalentIDs,                  ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
+       PHP_ME_MAPPING(createTimeZoneIDEnumeration, intltz_create_time_zone_id_enumeration, arginfo_class_IntlTimeZone_createTimeZoneIDEnumeration, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
+       PHP_ME_MAPPING(getCanonicalID,          intltz_get_canonical_id,                arginfo_class_IntlTimeZone_getCanonicalID,                              ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
+       PHP_ME_MAPPING(getRegion,                       intltz_get_region,                              arginfo_class_IntlTimeZone_getRegion,                                   ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
+       PHP_ME_MAPPING(getTZDataVersion,        intltz_get_tz_data_version,             arginfo_class_IntlTimeZone_getTZDataVersion,                    ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
+       PHP_ME_MAPPING(getEquivalentID,         intltz_get_equivalent_id,               arginfo_class_IntlTimeZone_getEquivalentID,                             ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
+
+       PHP_ME_MAPPING(getID,                           intltz_get_id,                                  arginfo_class_IntlTimeZone_getID,                                               ZEND_ACC_PUBLIC)
+       PHP_ME_MAPPING(useDaylightTime,         intltz_use_daylight_time,               arginfo_class_IntlTimeZone_useDaylightTime,                             ZEND_ACC_PUBLIC)
+       PHP_ME_MAPPING(getOffset,                       intltz_get_offset,                              arginfo_class_IntlTimeZone_getOffset,                                   ZEND_ACC_PUBLIC)
+       PHP_ME_MAPPING(getRawOffset,            intltz_get_raw_offset,                  arginfo_class_IntlTimeZone_getRawOffset,                                ZEND_ACC_PUBLIC)
+       PHP_ME_MAPPING(hasSameRules,            intltz_has_same_rules,                  arginfo_class_IntlTimeZone_hasSameRules,                                ZEND_ACC_PUBLIC)
+       PHP_ME_MAPPING(getDisplayName,          intltz_get_display_name,                arginfo_class_IntlTimeZone_getDisplayName,                              ZEND_ACC_PUBLIC)
+       PHP_ME_MAPPING(getDSTSavings,           intltz_get_dst_savings,                 arginfo_class_IntlTimeZone_getDSTSavings,                               ZEND_ACC_PUBLIC)
+       PHP_ME_MAPPING(toDateTimeZone,          intltz_to_date_time_zone,               arginfo_class_IntlTimeZone_toDateTimeZone,                              ZEND_ACC_PUBLIC)
+       PHP_ME_MAPPING(getErrorCode,            intltz_get_error_code,                  arginfo_class_IntlTimeZone_getErrorCode,                                ZEND_ACC_PUBLIC)
+       PHP_ME_MAPPING(getErrorMessage,         intltz_get_error_message,               arginfo_class_IntlTimeZone_getErrorMessage,                             ZEND_ACC_PUBLIC)
 #if U_ICU_VERSION_MAJOR_NUM >= 52
-       PHP_ME_MAPPING(getWindowsID,            intltz_get_windows_id,                  ainfo_tz_getWindowsID,          ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
-       PHP_ME_MAPPING(getIDForWindowsID,       intltz_get_id_for_windows_id,           ainfo_tz_getIDForWindowsID,     ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
+       PHP_ME_MAPPING(getWindowsID,            intltz_get_windows_id,                  arginfo_class_IntlTimeZone_getWindowsID,                ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
+       PHP_ME_MAPPING(getIDForWindowsID,       intltz_get_id_for_windows_id,   arginfo_class_IntlTimeZone_getIDForWindowsID,   ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
 #endif
        PHP_FE_END
 };