mirror of
https://github.com/danog/psalm.git
synced 2024-11-26 20:34:47 +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_get_errors' => ['array<int,LibXMLError>'],
|
||||
'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_use_internal_errors' => ['bool', 'use_errors='=>'bool'],
|
||||
'LimitIterator::__construct' => ['void', 'iterator'=>'Iterator', 'offset='=>'int', 'count='=>'int'],
|
||||
@ -16761,6 +16762,7 @@ return [
|
||||
'ZipArchive::addFromString' => ['bool', 'entryname'=>'string', 'content'=>'string'],
|
||||
'ZipArchive::addGlob' => ['bool', 'pattern'=>'string', 'flags='=>'int', 'options='=>'array'],
|
||||
'ZipArchive::addPattern' => ['bool', 'pattern'=>'string', 'path='=>'string', 'options='=>'array'],
|
||||
'ZipArchive::clearError' => ['void'],
|
||||
'ZipArchive::close' => ['bool'],
|
||||
'ZipArchive::count' => ['int'],
|
||||
'ZipArchive::createEmptyDir' => ['bool', 'dirname'=>'string'],
|
||||
@ -16777,6 +16779,8 @@ return [
|
||||
'ZipArchive::getNameIndex' => ['string|false', 'index'=>'int', 'flags='=>'int'],
|
||||
'ZipArchive::getStatusString' => ['string|false'],
|
||||
'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::isEncryptionMethodSupported' => ['bool', 'method'=>'int', 'encode='=>'bool'],
|
||||
'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'],
|
||||
'curl_upkeep' => ['bool', 'handle'=>'CurlHandle'],
|
||||
'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'],
|
||||
'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' => [
|
||||
|
@ -12626,7 +12626,7 @@ return [
|
||||
'libxml_disable_entity_loader' => ['bool', 'disable='=>'bool'],
|
||||
'libxml_get_errors' => ['array<int,LibXMLError>'],
|
||||
'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_use_internal_errors' => ['bool', 'use_errors='=>'bool'],
|
||||
'lineObj::__construct' => ['void'],
|
||||
|
@ -303,7 +303,10 @@ abstract class Atomic implements TypeNode
|
||||
return $analysis_php_version_id !== null ? new TNamedObject($value) : new TNumeric();
|
||||
|
||||
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':
|
||||
if ($analysis_php_version_id === null || $analysis_php_version_id >= 8_00_00) {
|
||||
|
@ -1154,6 +1154,31 @@ class ReturnTypeTest extends TestCase
|
||||
'ignored_issues' => [],
|
||||
'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