Skip to content

Commit 4903f7c

Browse files
committed
Fix IntlGregorianCalendar constructor signature
Give these conversative UNKNOWN defaults and no types, as the overload is something of a mess.
1 parent 83478d4 commit 4903f7c

File tree

5 files changed

+19
-8
lines changed

5 files changed

+19
-8
lines changed

ext/intl/calendar/calendar.stub.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ public function toDateTime() {}
283283

284284
class IntlGregorianCalendar extends IntlCalendar
285285
{
286-
public function __construct() {}
286+
public function __construct($timeZoneOrYear = UNKNOWN, $localeOrMonth = UNKNOWN, $dayOfMonth = UNKNOWN, $hour = UNKNOWN, $minute = UNKNOWN, $second = UNKNOWN) {}
287287

288288
/**
289289
* @return bool

ext/intl/calendar/calendar_arginfo.h

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* This is a generated file, edit the .stub.php file instead.
2-
* Stub hash: e9aea4eb45aba216347d3cf821cf5adebc217ba1 */
2+
* Stub hash: 7261d52837a7ac393453511d2c29ee9106407236 */
33

44
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlCalendar___construct, 0, 0, 0)
55
ZEND_END_ARG_INFO()
@@ -142,7 +142,14 @@ ZEND_END_ARG_INFO()
142142

143143
#define arginfo_class_IntlCalendar_toDateTime arginfo_class_IntlCalendar___construct
144144

145-
#define arginfo_class_IntlGregorianCalendar___construct arginfo_class_IntlCalendar___construct
145+
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlGregorianCalendar___construct, 0, 0, 0)
146+
ZEND_ARG_INFO(0, timeZoneOrYear)
147+
ZEND_ARG_INFO(0, localeOrMonth)
148+
ZEND_ARG_INFO(0, dayOfMonth)
149+
ZEND_ARG_INFO(0, hour)
150+
ZEND_ARG_INFO(0, minute)
151+
ZEND_ARG_INFO(0, second)
152+
ZEND_END_ARG_INFO()
146153

147154
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlGregorianCalendar_setGregorianChange, 0, 0, 1)
148155
ZEND_ARG_TYPE_INFO(0, change, IS_DOUBLE, 0)

ext/intl/php_intl.stub.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ function intlcal_get_error_code(IntlCalendar $calendar): int|false {}
9999
function intlcal_get_error_message(IntlCalendar $calendar): string|false {}
100100

101101
/** @param IntlTimeZone|DateTimeZone|string|null $timeZone */
102-
function intlgregcal_create_instance($timeZone = null, ?string $locale = null): ?IntlGregorianCalendar {}
102+
function intlgregcal_create_instance($timeZoneOrYear = UNKNOWN, $localeOrMonth = UNKNOWN, $dayOfMonth = UNKNOWN, $hour = UNKNOWN, $minute = UNKNOWN, $second = UNKNOWN): ?IntlGregorianCalendar {}
103103

104104
function intlgregcal_set_gregorian_change(IntlGregorianCalendar $calendar, float $change): bool {}
105105

ext/intl/php_intl_arginfo.h

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* This is a generated file, edit the .stub.php file instead.
2-
* Stub hash: f5411cdc67ac288183c4210932b222c406bfe254 */
2+
* Stub hash: 6130944985187815dd839f7425213f91c3261735 */
33

44
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_intlcal_create_instance, 0, 0, IntlCalendar, 1)
55
ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, timeZone, "null")
@@ -179,8 +179,12 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intlcal_get_error_message, 0, 1,
179179
ZEND_END_ARG_INFO()
180180

181181
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_intlgregcal_create_instance, 0, 0, IntlGregorianCalendar, 1)
182-
ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, timeZone, "null")
183-
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, locale, IS_STRING, 1, "null")
182+
ZEND_ARG_INFO(0, timeZoneOrYear)
183+
ZEND_ARG_INFO(0, localeOrMonth)
184+
ZEND_ARG_INFO(0, dayOfMonth)
185+
ZEND_ARG_INFO(0, hour)
186+
ZEND_ARG_INFO(0, minute)
187+
ZEND_ARG_INFO(0, second)
184188
ZEND_END_ARG_INFO()
185189

186190
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlgregcal_set_gregorian_change, 0, 2, _IS_BOOL, 0)

ext/intl/tests/gregoriancalendar___construct_error.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,4 @@ Too many arguments
3838
Too many arguments
3939
No variant with 4 arguments (excluding trailing NULLs)
4040
No variant with 4 arguments (excluding trailing NULLs)
41-
IntlGregorianCalendar::__construct(): Argument #6 must be of type int, array given
41+
IntlGregorianCalendar::__construct(): Argument #6 ($second) must be of type int, array given

0 commit comments

Comments
 (0)