mirror of
https://github.com/danog/psalm.git
synced 2024-11-30 04:39:00 +01:00
Merge pull request #10187 from gsteel/date-time-zone-name-is-non-empty
This commit is contained in:
commit
5b54bd8171
@ -1307,8 +1307,8 @@ return [
|
||||
'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', 'object'=>'DateTime', 'year'=>'int', 'month'=>'int', 'day'=>'int'],
|
||||
'date_default_timezone_get' => ['string'],
|
||||
'date_default_timezone_set' => ['bool', 'timezoneId'=>'string'],
|
||||
'date_default_timezone_get' => ['non-empty-string'],
|
||||
'date_default_timezone_set' => ['bool', 'timezoneId'=>'non-empty-string'],
|
||||
'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<int,string>,error_count:int,errors:array<int,string>}|false'],
|
||||
@ -1390,11 +1390,11 @@ return [
|
||||
'DateTimeInterface::getTimezone' => ['DateTimeZone|false'],
|
||||
'DateTimeInterface::__serialize' => ['array'],
|
||||
'DateTimeInterface::__unserialize' => ['void', 'data'=>'array'],
|
||||
'DateTimeZone::__construct' => ['void', 'timezone'=>'string'],
|
||||
'DateTimeZone::__construct' => ['void', 'timezone'=>'non-empty-string'],
|
||||
'DateTimeZone::__set_state' => ['DateTimeZone', 'array'=>'array'],
|
||||
'DateTimeZone::__wakeup' => ['void'],
|
||||
'DateTimeZone::getLocation' => ['array|false'],
|
||||
'DateTimeZone::getName' => ['string'],
|
||||
'DateTimeZone::getName' => ['non-empty-string'],
|
||||
'DateTimeZone::getOffset' => ['int', 'datetime'=>'DateTimeInterface'],
|
||||
'DateTimeZone::getTransitions' => ['list<array{ts: int, time: string, offset: int, isdst: bool, abbr: string}>|false', 'timestampBegin='=>'int', 'timestampEnd='=>'int'],
|
||||
'DateTimeZone::listAbbreviations' => ['array<string, list<array{dst: bool, offset: int, timezone_id: string|null}>>'],
|
||||
|
@ -847,11 +847,11 @@ return [
|
||||
'DateTimeInterface::getOffset' => ['int'],
|
||||
'DateTimeInterface::getTimestamp' => ['int|false'],
|
||||
'DateTimeInterface::getTimezone' => ['DateTimeZone|false'],
|
||||
'DateTimeZone::__construct' => ['void', 'timezone'=>'string'],
|
||||
'DateTimeZone::__construct' => ['void', 'timezone'=>'non-empty-string'],
|
||||
'DateTimeZone::__set_state' => ['DateTimeZone', 'array'=>'array'],
|
||||
'DateTimeZone::__wakeup' => ['void'],
|
||||
'DateTimeZone::getLocation' => ['array|false'],
|
||||
'DateTimeZone::getName' => ['string'],
|
||||
'DateTimeZone::getName' => ['non-empty-string'],
|
||||
'DateTimeZone::getOffset' => ['int|false', 'datetime'=>'DateTimeInterface'],
|
||||
'DateTimeZone::getTransitions' => ['list<array{ts: int, time: string, offset: int, isdst: bool, abbr: string}>|false', 'timestampBegin='=>'int', 'timestampEnd='=>'int'],
|
||||
'DateTimeZone::listAbbreviations' => ['array<string, list<array{dst: bool, offset: int, timezone_id: string|null}>>'],
|
||||
@ -9820,8 +9820,8 @@ return [
|
||||
'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_default_timezone_get' => ['string'],
|
||||
'date_default_timezone_set' => ['bool', 'timezoneId'=>'string'],
|
||||
'date_default_timezone_get' => ['non-empty-string'],
|
||||
'date_default_timezone_set' => ['bool', 'timezoneId'=>'non-empty-string'],
|
||||
'date_diff' => ['DateInterval|false', 'baseObject'=>'DateTimeInterface', 'targetObject'=>'DateTimeInterface', 'absolute='=>'bool'],
|
||||
'date_format' => ['string|false', 'object'=>'DateTimeInterface', 'format'=>'string'],
|
||||
'date_get_last_errors' => ['array{warning_count:int,warnings:array<int,string>,error_count:int,errors:array<int,string>}|false'],
|
||||
|
@ -105,6 +105,7 @@ class DateTimeImmutable implements DateTimeInterface
|
||||
*/
|
||||
class DateTimeZone
|
||||
{
|
||||
/** @param non-empty-string $timezone */
|
||||
public function __construct(string $timezone) {}
|
||||
}
|
||||
|
||||
|
@ -152,7 +152,10 @@ class PureAnnotationTest extends TestCase
|
||||
'code' => '<?php
|
||||
final class Date
|
||||
{
|
||||
/** @psalm-pure */
|
||||
/**
|
||||
* @param non-empty-string $tzString
|
||||
* @psalm-pure
|
||||
*/
|
||||
public static function timeZone(string $tzString) : DateTimeZone
|
||||
{
|
||||
return new \DateTimeZone($tzString);
|
||||
|
Loading…
Reference in New Issue
Block a user