diff --git a/dictionaries/CallMap.php b/dictionaries/CallMap.php index f8326105b00..f3add7ca748 100644 --- a/dictionaries/CallMap.php +++ b/dictionaries/CallMap.php @@ -1001,7 +1001,7 @@ 'CairoSvgSurface::restrictToVersion' => ['void', 'version'=>'string'], 'CairoSvgSurface::versionToString' => ['string', 'version'=>'int'], 'cal_days_in_month' => ['int', 'calendar'=>'int', 'month'=>'int', 'year'=>'int'], -'cal_from_jd' => ['false|array{date:string,month:int,day:int,year:int,dow:int,abbrevdayname:string,dayname:string,abbrevmonth:string,monthname:string}', 'julian_day'=>'int', 'calendar'=>'int'], +'cal_from_jd' => ['array{date:string,month:int,day:int,year:int,dow:int,abbrevdayname:string,dayname:string,abbrevmonth:string,monthname:string}', 'julian_day'=>'int', 'calendar'=>'int'], 'cal_info' => ['array', 'calendar='=>'int'], 'cal_to_jd' => ['int', 'calendar'=>'int', 'month'=>'int', 'day'=>'int', 'year'=>'int'], 'calcul_hmac' => ['string', 'clent'=>'string', 'siretcode'=>'string', 'price'=>'string', 'reference'=>'string', 'validity'=>'string', 'taxation'=>'string', 'devise'=>'string', 'language'=>'string'], @@ -1099,7 +1099,7 @@ 'Collator::getErrorMessage' => ['string'], 'Collator::getLocale' => ['string', 'type'=>'int'], 'Collator::getSortKey' => ['string|false', 'string'=>'string'], -'Collator::getStrength' => ['int|false'], +'Collator::getStrength' => ['int'], 'Collator::setAttribute' => ['bool', 'attr'=>'int', 'value'=>'int'], 'Collator::setStrength' => ['bool', 'strength'=>'int'], 'Collator::sort' => ['bool', '&rw_arr'=>'array', 'sort_flags='=>'int'], @@ -1112,7 +1112,7 @@ 'collator_get_error_message' => ['string', 'object'=>'collator'], 'collator_get_locale' => ['string', 'object'=>'collator', 'type'=>'int'], 'collator_get_sort_key' => ['string', 'object'=>'collator', 'string'=>'string'], -'collator_get_strength' => ['int|false', 'object'=>'collator'], +'collator_get_strength' => ['int', 'object'=>'collator'], 'collator_set_attribute' => ['bool', 'object'=>'collator', 'attribute'=>'int', 'value'=>'int'], 'collator_set_strength' => ['bool', 'object'=>'collator', 'strength'=>'int'], 'collator_sort' => ['bool', 'object'=>'collator', '&rw_array'=>'array', 'flags='=>'int'], @@ -1714,33 +1714,33 @@ 'cyrus_query' => ['array', 'connection'=>'resource', 'query'=>'string'], 'cyrus_unbind' => ['bool', 'connection'=>'resource', 'trigger_name'=>'string'], 'date' => ['string', 'format'=>'string', 'timestamp='=>'?int'], -'date_add' => ['DateTime|false', 'object'=>'DateTime', 'interval'=>'DateInterval'], +'date_add' => ['DateTime', 'object'=>'DateTime', 'interval'=>'DateInterval'], 'date_create' => ['DateTime|false', 'datetime='=>'string', 'timezone='=>'?DateTimeZone'], 'date_create_from_format' => ['DateTime|false', 'format'=>'string', 'datetime'=>'string', 'timezone='=>'?\DateTimeZone'], 'date_create_immutable' => ['DateTimeImmutable|false', 'datetime='=>'string', 'timezone='=>'?DateTimeZone'], 'date_create_immutable_from_format' => ['DateTimeImmutable|false', 'format'=>'string', 'datetime'=>'string', 'timezone='=>'?DateTimeZone'], -'date_date_set' => ['DateTime|false', 'object'=>'DateTime', 'year'=>'int', 'month'=>'int', 'day'=>'int'], +'date_date_set' => ['DateTime', 'object'=>'DateTime', 'year'=>'int', 'month'=>'int', 'day'=>'int'], 'date_default_timezone_get' => ['string'], 'date_default_timezone_set' => ['bool', 'timezoneId'=>'string'], -'date_diff' => ['DateInterval|false', 'baseObject'=>'DateTimeInterface', 'targetObject'=>'DateTimeInterface', 'absolute='=>'bool'], +'date_diff' => ['DateInterval', 'baseObject'=>'DateTimeInterface', 'targetObject'=>'DateTimeInterface', 'absolute='=>'bool'], 'date_format' => ['string', 'object'=>'DateTimeInterface', 'format'=>'string'], 'date_get_last_errors' => ['array{warning_count:int,warnings:array,error_count:int,errors:array}|false'], 'date_interval_create_from_date_string' => ['DateInterval', 'datetime'=>'string'], 'date_interval_format' => ['string', 'object'=>'DateInterval', 'format'=>'string'], 'date_isodate_set' => ['DateTime|false', 'object'=>'DateTime', 'year'=>'int', 'week'=>'int', 'dayOfWeek='=>'int|mixed'], 'date_modify' => ['DateTime|false', 'object'=>'DateTime', 'modifier'=>'string'], -'date_offset_get' => ['int|false', 'object'=>'DateTimeInterface'], -'date_parse' => ['array|false', 'datetime'=>'string'], +'date_offset_get' => ['int', 'object'=>'DateTimeInterface'], +'date_parse' => ['array', 'datetime'=>'string'], 'date_parse_from_format' => ['array', 'format'=>'string', 'datetime'=>'string'], -'date_sub' => ['DateTime|false', 'object'=>'DateTime', 'interval'=>'DateInterval'], -'date_sun_info' => ['array|false', 'timestamp'=>'int', 'latitude'=>'float', 'longitude'=>'float'], -'date_sunrise' => ['mixed', 'timestamp'=>'int', 'returnFormat='=>'int', 'latitude='=>'float', 'longitude='=>'float', 'zenith='=>'float', 'utcOffset='=>'float'], -'date_sunset' => ['mixed', 'timestamp'=>'int', 'returnFormat='=>'int', 'latitude='=>'float', 'longitude='=>'float', 'zenith='=>'float', 'utcOffset='=>'float'], -'date_time_set' => ['DateTime|false', 'object'=>'', 'hour'=>'', 'minute'=>'', 'second='=>'', 'microsecond='=>''], +'date_sub' => ['DateTime', 'object'=>'DateTime', 'interval'=>'DateInterval'], +'date_sun_info' => ['array', 'timestamp'=>'int', 'latitude'=>'float', 'longitude'=>'float'], +'date_sunrise' => ['string|int|float|false', 'timestamp'=>'int', 'returnFormat='=>'int', 'latitude='=>'float', 'longitude='=>'float', 'zenith='=>'float', 'utcOffset='=>'float'], +'date_sunset' => ['string|int|float|false', 'timestamp'=>'int', 'returnFormat='=>'int', 'latitude='=>'float', 'longitude='=>'float', 'zenith='=>'float', 'utcOffset='=>'float'], +'date_time_set' => ['DateTime', 'object'=>'', 'hour'=>'', 'minute'=>'', 'second='=>'', 'microsecond='=>''], 'date_timestamp_get' => ['int', 'object'=>'DateTimeInterface'], -'date_timestamp_set' => ['DateTime|false', 'object'=>'DateTime', 'timestamp'=>'int'], +'date_timestamp_set' => ['DateTime', 'object'=>'DateTime', 'timestamp'=>'int'], 'date_timezone_get' => ['DateTimeZone|false', 'object'=>'DateTimeInterface'], -'date_timezone_set' => ['DateTime|false', 'object'=>'DateTime', 'timezone'=>'DateTimeZone'], +'date_timezone_set' => ['DateTime', 'object'=>'DateTime', 'timezone'=>'DateTimeZone'], 'datefmt_create' => ['?IntlDateFormatter', 'locale'=>'?string', 'dateType='=>'int', 'timeType='=>'int', 'timezone='=>'DateTimeZone|IntlTimeZone|string|null', 'calendar='=>'IntlCalendar|int|null', 'pattern='=>'?string'], 'datefmt_format' => ['string|false', 'formatter'=>'IntlDateFormatter', 'datetime'=>'DateTime|IntlCalendar|array|int'], 'datefmt_format_object' => ['string|false', 'datetime'=>'object', 'format='=>'mixed', 'locale='=>'string'], @@ -1781,7 +1781,7 @@ 'DateTime::createFromFormat' => ['static|false', 'format'=>'string', 'time'=>'string', 'timezone='=>'?DateTimeZone'], 'DateTime::createFromImmutable' => ['static', 'object'=>'DateTimeImmutable'], 'DateTime::createFromInterface' => ['static', 'object' => 'DateTimeInterface'], -'DateTime::diff' => ['DateInterval|false', 'datetime2'=>'DateTimeInterface', 'absolute='=>'bool'], +'DateTime::diff' => ['DateInterval', 'datetime2'=>'DateTimeInterface', 'absolute='=>'bool'], 'DateTime::format' => ['string', 'format'=>'string'], 'DateTime::getLastErrors' => ['array{warning_count:int,warnings:array,error_count:int,errors:array}|false'], 'DateTime::getOffset' => ['int'], @@ -1790,7 +1790,7 @@ 'DateTime::modify' => ['static|false', 'modify'=>'string'], 'DateTime::setDate' => ['static', 'year'=>'int', 'month'=>'int', 'day'=>'int'], 'DateTime::setISODate' => ['static', 'year'=>'int', 'week'=>'int', 'day='=>'int'], -'DateTime::setTime' => ['static|false', 'hour'=>'int', 'minute'=>'int', 'second='=>'int', 'microseconds='=>'int'], +'DateTime::setTime' => ['static', 'hour'=>'int', 'minute'=>'int', 'second='=>'int', 'microseconds='=>'int'], 'DateTime::setTimestamp' => ['static', 'unixtimestamp'=>'int'], 'DateTime::setTimezone' => ['static', 'timezone'=>'DateTimeZone'], 'DateTime::sub' => ['static', 'interval'=>'DateInterval'], diff --git a/dictionaries/CallMap_80_delta.php b/dictionaries/CallMap_80_delta.php index e961f2bcf26..025282e8978 100644 --- a/dictionaries/CallMap_80_delta.php +++ b/dictionaries/CallMap_80_delta.php @@ -37,6 +37,14 @@ 'str_starts_with' => ['bool', 'haystack'=>'string', 'needle'=>'string'], ], 'changed' => [ + 'Collator::getStrength' => [ + 'old' => ['int|false'], + 'new' => ['int'], + ], + 'DateTime::diff' => [ + 'old' => ['DateInterval|false', 'datetime2'=>'DateTimeInterface', 'absolute='=>'bool'], + 'new' => ['DateInterval', 'datetime2'=>'DateTimeInterface', 'absolute='=>'bool'], + ], 'DateTime::format' => [ 'old' => ['string|false', 'format'=>'string'], 'new' => ['string', 'format'=>'string'], @@ -45,6 +53,10 @@ 'old' => ['int|false'], 'new' => ['int'], ], + 'DateTime::setTime' => [ + 'old' => ['static|false', 'hour'=>'int', 'minute'=>'int', 'second='=>'int', 'microseconds='=>'int'], + 'new' => ['static', 'hour'=>'int', 'minute'=>'int', 'second='=>'int', 'microseconds='=>'int'], + ], 'DateTimeInterface::getTimestamp' => [ 'old' => ['int|false'], 'new' => ['int'], @@ -285,6 +297,10 @@ 'old' => ['numeric-string', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int'], 'new' => ['numeric-string', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int|null'], ], + 'collator_get_strength' => [ + 'old' => ['int|false', 'object'=>'collator'], + 'new' => ['int', 'object'=>'collator'], + ], 'com_load_typelib' => [ 'old' => ['bool', 'typelib_name'=>'string', 'case_insensitive='=>'bool'], 'new' => ['bool', 'typelib_name'=>'string', 'case_insensitive='=>'true'], @@ -417,10 +433,58 @@ 'old' => ['string', 'format'=>'string', 'timestamp='=>'int'], 'new' => ['string', 'format'=>'string', 'timestamp='=>'?int'], ], + 'date_add' => [ + 'old' => ['DateTime|false', 'object'=>'DateTime', 'interval'=>'DateInterval'], + 'new' => ['DateTime', 'object'=>'DateTime', 'interval'=>'DateInterval'], + ], + 'date_date_set' => [ + 'old' => ['DateTime|false', 'object'=>'DateTime', 'year'=>'int', 'month'=>'int', 'day'=>'int'], + 'new' => ['DateTime', 'object'=>'DateTime', 'year'=>'int', 'month'=>'int', 'day'=>'int'], + ], + 'date_diff' => [ + 'old' => ['DateInterval|false', 'baseObject'=>'DateTimeInterface', 'targetObject'=>'DateTimeInterface', 'absolute='=>'bool'], + 'new' => ['DateInterval', 'baseObject'=>'DateTimeInterface', 'targetObject'=>'DateTimeInterface', 'absolute='=>'bool'], + ], 'date_format' => [ 'old' => ['string|false', 'object'=>'DateTimeInterface', 'format'=>'string'], 'new' => ['string', 'object'=>'DateTimeInterface', 'format'=>'string'], ], + 'date_offset_get' => [ + 'old' => ['int|false', 'object'=>'DateTimeInterface'], + 'new' => ['int', 'object'=>'DateTimeInterface'], + ], + 'date_parse' => [ + 'old' => ['array|false', 'datetime'=>'string'], + 'new' => ['array', 'datetime'=>'string'], + ], + 'date_sub' => [ + 'old' => ['DateTime|false', 'object'=>'DateTime', 'interval'=>'DateInterval'], + 'new' => ['DateTime', 'object'=>'DateTime', 'interval'=>'DateInterval'], + ], + 'date_sun_info' => [ + 'old' => ['array|false', 'timestamp'=>'int', 'latitude'=>'float', 'longitude'=>'float'], + 'new' => ['array', 'timestamp'=>'int', 'latitude'=>'float', 'longitude'=>'float'], + ], + 'date_sunrise' => [ + 'old' => ['mixed', 'timestamp'=>'int', 'returnFormat='=>'int', 'latitude='=>'float', 'longitude='=>'float', 'zenith='=>'float', 'utcOffset='=>'float'], + 'new' => ['string|int|float|false', 'timestamp'=>'int', 'returnFormat='=>'int', 'latitude='=>'float', 'longitude='=>'float', 'zenith='=>'float', 'utcOffset='=>'float'], + ], + 'date_sunset' => [ + 'old' => ['mixed', 'timestamp'=>'int', 'returnFormat='=>'int', 'latitude='=>'float', 'longitude='=>'float', 'zenith='=>'float', 'utcOffset='=>'float'], + 'new' => ['string|int|float|false', 'timestamp'=>'int', 'returnFormat='=>'int', 'latitude='=>'float', 'longitude='=>'float', 'zenith='=>'float', 'utcOffset='=>'float'], + ], + 'date_time_set' => [ + 'old' => ['DateTime|false', 'object'=>'', 'hour'=>'', 'minute'=>'', 'second='=>'', 'microsecond='=>''], + 'new' => ['DateTime', 'object'=>'', 'hour'=>'', 'minute'=>'', 'second='=>'', 'microsecond='=>''], + ], + 'date_timestamp_set' => [ + 'old' => ['DateTime|false', 'object'=>'DateTime', 'timestamp'=>'int'], + 'new' => ['DateTime', 'object'=>'DateTime', 'timestamp'=>'int'], + ], + 'date_timezone_set' => [ + 'old' => ['DateTime|false', 'object'=>'DateTime', 'timezone'=>'DateTimeZone'], + 'new' => ['DateTime', 'object'=>'DateTime', 'timezone'=>'DateTimeZone'], + ], 'datefmt_create' => [ 'old' => ['?IntlDateFormatter', 'locale'=>'?string', 'dateType'=>'int', 'timeType'=>'int', 'timezone='=>'DateTimeZone|IntlTimeZone|string|null', 'calendar='=>'IntlCalendar|int|null', 'pattern='=>'string'], 'new' => ['?IntlDateFormatter', 'locale'=>'?string', 'dateType='=>'int', 'timeType='=>'int', 'timezone='=>'DateTimeZone|IntlTimeZone|string|null', 'calendar='=>'IntlCalendar|int|null', 'pattern='=>'?string'], diff --git a/dictionaries/CallMap_historical.php b/dictionaries/CallMap_historical.php index 142f58167f8..e5a39ba701c 100644 --- a/dictionaries/CallMap_historical.php +++ b/dictionaries/CallMap_historical.php @@ -9935,7 +9935,7 @@ 'cairo_version' => ['int'], 'cairo_version_string' => ['string'], 'cal_days_in_month' => ['int', 'calendar'=>'int', 'month'=>'int', 'year'=>'int'], - 'cal_from_jd' => ['false|array{date:string,month:int,day:int,year:int,dow:int,abbrevdayname:string,dayname:string,abbrevmonth:string,monthname:string}', 'julian_day'=>'int', 'calendar'=>'int'], + 'cal_from_jd' => ['array{date:string,month:int,day:int,year:int,dow:int,abbrevdayname:string,dayname:string,abbrevmonth:string,monthname:string}', 'julian_day'=>'int', 'calendar'=>'int'], 'cal_info' => ['array', 'calendar='=>'int'], 'cal_to_jd' => ['int', 'calendar'=>'int', 'month'=>'int', 'day'=>'int', 'year'=>'int'], 'calcul_hmac' => ['string', 'clent'=>'string', 'siretcode'=>'string', 'price'=>'string', 'reference'=>'string', 'validity'=>'string', 'taxation'=>'string', 'devise'=>'string', 'language'=>'string'], diff --git a/tests/Internal/Codebase/InternalCallMapHandlerTest.php b/tests/Internal/Codebase/InternalCallMapHandlerTest.php index bbdd00c8b29..0a672a487e2 100644 --- a/tests/Internal/Codebase/InternalCallMapHandlerTest.php +++ b/tests/Internal/Codebase/InternalCallMapHandlerTest.php @@ -337,22 +337,8 @@ class InternalCallMapHandlerTest extends TestCase */ private static $ignoredReturnTypeOnlyFunctions = [ 'bcsqrt', - 'cal_from_jd', - 'collator_get_strength', 'curl_multi_init', 'curl_multi_getcontent', // issue #8351 - 'date_add', - 'date_date_set', - 'date_diff', - 'date_offset_get', - 'date_parse', - 'date_sub', - 'date_sun_info', - 'date_sunrise', - 'date_sunset', - 'date_time_set', - 'date_timestamp_set', - 'date_timezone_set', 'datefmt_set_lenient', 'deflate_init', 'enchant_broker_init', @@ -718,7 +704,7 @@ public function assertEntryReturnType(ReflectionFunction $function, string $entr } if ($expectedType !== null) { - $this->assertTypeValidity($expectedType, $entryReturnType, true, 'CallMap entry has incorrect return type'); + $this->assertTypeValidity($expectedType, $entryReturnType, true, 'CallMap entry has incorrect return type, reflection returned: ' . $expectedType); } else { $this->assertNotEmpty($entryReturnType); }