mirror of
https://github.com/danog/psalm.git
synced 2024-12-02 09:37:59 +01:00
Merge branch 'master' into add-missing-sodium-functions
# Conflicts: # dictionaries/CallMap_82_delta.php
This commit is contained in:
commit
0afe0d54f2
@ -6865,7 +6865,8 @@ return [
|
|||||||
'libxml_disable_entity_loader' => ['bool', 'disable='=>'bool'],
|
'libxml_disable_entity_loader' => ['bool', 'disable='=>'bool'],
|
||||||
'libxml_get_errors' => ['array<int,LibXMLError>'],
|
'libxml_get_errors' => ['array<int,LibXMLError>'],
|
||||||
'libxml_get_last_error' => ['LibXMLError|false'],
|
'libxml_get_last_error' => ['LibXMLError|false'],
|
||||||
'libxml_set_external_entity_loader' => ['bool', 'resolver_function'=>'callable'],
|
'libxml_get_external_entity_loader' => ['(callable(string,string,array{directory:?string,intSubName:?string,extSubURI:?string,extSubSystem:?string}):(resource|string|null))|null'],
|
||||||
|
'libxml_set_external_entity_loader' => ['bool', 'resolver_function'=>'(callable(string,string,array{directory:?string,intSubName:?string,extSubURI:?string,extSubSystem:?string}):(resource|string|null))|null'],
|
||||||
'libxml_set_streams_context' => ['void', 'context'=>'resource'],
|
'libxml_set_streams_context' => ['void', 'context'=>'resource'],
|
||||||
'libxml_use_internal_errors' => ['bool', 'use_errors='=>'bool'],
|
'libxml_use_internal_errors' => ['bool', 'use_errors='=>'bool'],
|
||||||
'LimitIterator::__construct' => ['void', 'iterator'=>'Iterator', 'offset='=>'int', 'count='=>'int'],
|
'LimitIterator::__construct' => ['void', 'iterator'=>'Iterator', 'offset='=>'int', 'count='=>'int'],
|
||||||
@ -16761,6 +16762,7 @@ return [
|
|||||||
'ZipArchive::addFromString' => ['bool', 'entryname'=>'string', 'content'=>'string'],
|
'ZipArchive::addFromString' => ['bool', 'entryname'=>'string', 'content'=>'string'],
|
||||||
'ZipArchive::addGlob' => ['bool', 'pattern'=>'string', 'flags='=>'int', 'options='=>'array'],
|
'ZipArchive::addGlob' => ['bool', 'pattern'=>'string', 'flags='=>'int', 'options='=>'array'],
|
||||||
'ZipArchive::addPattern' => ['bool', 'pattern'=>'string', 'path='=>'string', 'options='=>'array'],
|
'ZipArchive::addPattern' => ['bool', 'pattern'=>'string', 'path='=>'string', 'options='=>'array'],
|
||||||
|
'ZipArchive::clearError' => ['void'],
|
||||||
'ZipArchive::close' => ['bool'],
|
'ZipArchive::close' => ['bool'],
|
||||||
'ZipArchive::count' => ['int'],
|
'ZipArchive::count' => ['int'],
|
||||||
'ZipArchive::createEmptyDir' => ['bool', 'dirname'=>'string'],
|
'ZipArchive::createEmptyDir' => ['bool', 'dirname'=>'string'],
|
||||||
@ -16777,6 +16779,8 @@ return [
|
|||||||
'ZipArchive::getNameIndex' => ['string|false', 'index'=>'int', 'flags='=>'int'],
|
'ZipArchive::getNameIndex' => ['string|false', 'index'=>'int', 'flags='=>'int'],
|
||||||
'ZipArchive::getStatusString' => ['string|false'],
|
'ZipArchive::getStatusString' => ['string|false'],
|
||||||
'ZipArchive::getStream' => ['resource|false', 'entryname'=>'string'],
|
'ZipArchive::getStream' => ['resource|false', 'entryname'=>'string'],
|
||||||
|
'ZipArchive::getStreamIndex' => ['resource|false', 'index'=>'int', 'flags='=>'int'],
|
||||||
|
'ZipArchive::getStreamName' => ['resource|false', 'name'=>'string', 'flags='=>'int'],
|
||||||
'ZipArchive::isCompressionMethodSupported' => ['bool', 'method'=>'int', 'encode='=>'bool'],
|
'ZipArchive::isCompressionMethodSupported' => ['bool', 'method'=>'int', 'encode='=>'bool'],
|
||||||
'ZipArchive::isEncryptionMethodSupported' => ['bool', 'method'=>'int', 'encode='=>'bool'],
|
'ZipArchive::isEncryptionMethodSupported' => ['bool', 'method'=>'int', 'encode='=>'bool'],
|
||||||
'ZipArchive::locateName' => ['int|false', 'filename'=>'string', 'flags='=>'int'],
|
'ZipArchive::locateName' => ['int|false', 'filename'=>'string', 'flags='=>'int'],
|
||||||
|
@ -21,8 +21,12 @@ return [
|
|||||||
'openssl_cipher_key_length' => ['positive-int|false', 'cipher_algo'=>'non-empty-string'],
|
'openssl_cipher_key_length' => ['positive-int|false', 'cipher_algo'=>'non-empty-string'],
|
||||||
'curl_upkeep' => ['bool', 'handle'=>'CurlHandle'],
|
'curl_upkeep' => ['bool', 'handle'=>'CurlHandle'],
|
||||||
'ini_parse_quantity' => ['int', 'shorthand'=>'non-empty-string'],
|
'ini_parse_quantity' => ['int', 'shorthand'=>'non-empty-string'],
|
||||||
'sodium_crypto_stream_xchacha20_xor_ic' => ['string', 'message'=>'string', 'nonce'=>'non-empty-string', 'counter'=>'int', 'key'=>'non-empty-string'],
|
'libxml_get_external_entity_loader' => ['(callable(string,string,array{directory:?string,intSubName:?string,extSubURI:?string,extSubSystem:?string}):(resource|string|null))|null'],
|
||||||
'memory_reset_peak_usage' => ['void'],
|
'memory_reset_peak_usage' => ['void'],
|
||||||
|
'sodium_crypto_stream_xchacha20_xor_ic' => ['string', 'message'=>'string', 'nonce'=>'non-empty-string', 'counter'=>'int', 'key'=>'non-empty-string'],
|
||||||
|
'ZipArchive::clearError' => ['void'],
|
||||||
|
'ZipArchive::getStreamIndex' => ['resource|false', 'index'=>'int', 'flags='=>'int'],
|
||||||
|
'ZipArchive::getStreamName' => ['resource|false', 'name'=>'string', 'flags='=>'int'],
|
||||||
],
|
],
|
||||||
|
|
||||||
'changed' => [
|
'changed' => [
|
||||||
|
@ -12626,7 +12626,7 @@ return [
|
|||||||
'libxml_disable_entity_loader' => ['bool', 'disable='=>'bool'],
|
'libxml_disable_entity_loader' => ['bool', 'disable='=>'bool'],
|
||||||
'libxml_get_errors' => ['array<int,LibXMLError>'],
|
'libxml_get_errors' => ['array<int,LibXMLError>'],
|
||||||
'libxml_get_last_error' => ['LibXMLError|false'],
|
'libxml_get_last_error' => ['LibXMLError|false'],
|
||||||
'libxml_set_external_entity_loader' => ['bool', 'resolver_function'=>'callable'],
|
'libxml_set_external_entity_loader' => ['bool', 'resolver_function'=>'(callable(string,string,array{directory:?string,intSubName:?string,extSubURI:?string,extSubSystem:?string}):(resource|string|null))|null'],
|
||||||
'libxml_set_streams_context' => ['void', 'context'=>'resource'],
|
'libxml_set_streams_context' => ['void', 'context'=>'resource'],
|
||||||
'libxml_use_internal_errors' => ['bool', 'use_errors='=>'bool'],
|
'libxml_use_internal_errors' => ['bool', 'use_errors='=>'bool'],
|
||||||
'lineObj::__construct' => ['void'],
|
'lineObj::__construct' => ['void'],
|
||||||
|
@ -303,7 +303,10 @@ abstract class Atomic implements TypeNode
|
|||||||
return $analysis_php_version_id !== null ? new TNamedObject($value) : new TNumeric();
|
return $analysis_php_version_id !== null ? new TNamedObject($value) : new TNumeric();
|
||||||
|
|
||||||
case 'true':
|
case 'true':
|
||||||
return $analysis_php_version_id !== null ? new TNamedObject($value) : new TTrue();
|
if ($analysis_php_version_id === null || $analysis_php_version_id >= 8_02_00) {
|
||||||
|
return new TTrue();
|
||||||
|
}
|
||||||
|
return new TNamedObject($value);
|
||||||
|
|
||||||
case 'false':
|
case 'false':
|
||||||
if ($analysis_php_version_id === null || $analysis_php_version_id >= 8_00_00) {
|
if ($analysis_php_version_id === null || $analysis_php_version_id >= 8_00_00) {
|
||||||
|
@ -1154,6 +1154,31 @@ class ReturnTypeTest extends TestCase
|
|||||||
'ignored_issues' => [],
|
'ignored_issues' => [],
|
||||||
'php_version' => '8.0',
|
'php_version' => '8.0',
|
||||||
],
|
],
|
||||||
|
'newReturnTypesInPhp82' => [
|
||||||
|
'code' => '<?php
|
||||||
|
function alwaysTrue(): true {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function alwaysFalse(): false {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function alwaysNull(): null {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
$true = alwaysTrue();
|
||||||
|
$false = alwaysFalse();
|
||||||
|
$null = alwaysNull();
|
||||||
|
',
|
||||||
|
'assertions' => [
|
||||||
|
'$true===' => 'true',
|
||||||
|
'$false===' => 'false',
|
||||||
|
'$null===' => 'null',
|
||||||
|
],
|
||||||
|
'ignored_issues' => [],
|
||||||
|
'php_version' => '8.2',
|
||||||
|
],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user