diff --git a/bin/gen_callmap.php b/bin/gen_callmap.php index ffbc0b304a3..1bf67c118b4 100644 --- a/bin/gen_callmap.php +++ b/bin/gen_callmap.php @@ -145,6 +145,7 @@ function assertTypeValidity(ReflectionType $reflected, string &$specified, strin try { if (!UnionTypeComparator::isContainedBy($codebase, $callMapType, $expectedType, false, false, null, false, false) && !str_contains($specified, 'static')) { $specified = $expectedType->getId(true); + $callMapType = $expectedType; } } catch (Throwable) { } diff --git a/dictionaries/CallMap.php b/dictionaries/CallMap.php index 8ef7ed66c73..fc9571f8014 100644 --- a/dictionaries/CallMap.php +++ b/dictionaries/CallMap.php @@ -1211,11 +1211,11 @@ ), 'AppendIterator::getInnerIterator' => array ( - 0 => 'Iterator', + 0 => 'Iterator|null', ), 'AppendIterator::getIteratorIndex' => array ( - 0 => 'int', + 0 => 'int|null', ), 'AppendIterator::key' => array ( @@ -2556,7 +2556,7 @@ array ( 0 => 'void', 'iterator' => 'Iterator', - 'flags=' => 'mixed', + 'flags=' => 'int', ), 'CachingIterator::__toString' => array ( @@ -2580,7 +2580,7 @@ ), 'CachingIterator::getInnerIterator' => array ( - 0 => 'Iterator', + 0 => 'Iterator|null', ), 'CachingIterator::hasNext' => array ( @@ -2715,7 +2715,7 @@ ), 'CallbackFilterIterator::getInnerIterator' => array ( - 0 => 'Iterator', + 0 => 'Iterator|null', ), 'CallbackFilterIterator::key' => array ( @@ -6218,7 +6218,7 @@ ), 'curl_multi_getcontent' => array ( - 0 => 'string', + 0 => 'null|string', 'handle' => 'CurlHandle', ), 'curl_multi_info_read' => @@ -14842,7 +14842,7 @@ ), 'FilterIterator::getInnerIterator' => array ( - 0 => 'Iterator', + 0 => 'Iterator|null', ), 'FilterIterator::key' => array ( @@ -15027,7 +15027,7 @@ ), 'fscanf' => array ( - 0 => 'list', + 0 => 'list|null', 'stream' => 'resource', 'format' => 'string', ), @@ -17188,7 +17188,7 @@ 'getenv' => array ( 0 => 'false|string', - 'name' => 'string', + 'name' => 'null|string', 'local_only=' => 'bool', ), 'getenv\'1' => @@ -26072,7 +26072,7 @@ 'image' => 'GdImage', 'points' => 'array', 'num_points_or_color' => 'int', - 'color' => 'int', + 'color' => 'int|null', ), 'imagefilledrectangle' => array ( @@ -26249,7 +26249,7 @@ 'image' => 'GdImage', 'points' => 'array', 'num_points' => 'int', - 'color' => 'int', + 'color' => 'int|null', ), 'imagepalettecopy' => array ( @@ -26276,7 +26276,7 @@ 'image' => 'GdImage', 'points' => 'array', 'num_points_or_color' => 'int', - 'color' => 'int', + 'color' => 'int|null', ), 'imagerectangle' => array ( @@ -29921,7 +29921,7 @@ array ( 0 => 'string', 'separator' => 'string', - 'array' => 'array', + 'array' => 'array|null', ), 'implode\'1' => array ( @@ -29966,7 +29966,7 @@ ), 'InfiniteIterator::getInnerIterator' => array ( - 0 => 'Iterator', + 0 => 'Iterator|null', ), 'InfiniteIterator::key' => array ( @@ -32358,7 +32358,7 @@ ), 'IteratorIterator::getInnerIterator' => array ( - 0 => 'Iterator', + 0 => 'Iterator|null', ), 'IteratorIterator::key' => array ( @@ -32467,7 +32467,7 @@ array ( 0 => 'string', 'separator' => 'string', - 'array' => 'array', + 'array' => 'array|null', ), 'join\'1' => array ( @@ -34017,7 +34017,7 @@ ), 'LimitIterator::getInnerIterator' => array ( - 0 => 'Iterator', + 0 => 'Iterator|null', ), 'LimitIterator::getPosition' => array ( @@ -34126,7 +34126,7 @@ ), 'Locale::getAllVariants' => array ( - 0 => 'array', + 0 => 'array|null', 'locale' => 'string', ), 'Locale::getDefault' => @@ -34165,22 +34165,22 @@ ), 'Locale::getKeywords' => array ( - 0 => 'array|false', + 0 => 'array|false|null', 'locale' => 'string', ), 'Locale::getPrimaryLanguage' => array ( - 0 => 'string', + 0 => 'null|string', 'locale' => 'string', ), 'Locale::getRegion' => array ( - 0 => 'string', + 0 => 'null|string', 'locale' => 'string', ), 'Locale::getScript' => array ( - 0 => 'string', + 0 => 'null|string', 'locale' => 'string', ), 'Locale::lookup' => @@ -34193,7 +34193,7 @@ ), 'Locale::parseLocale' => array ( - 0 => 'array', + 0 => 'array|null', 'locale' => 'string', ), 'Locale::setDefault' => @@ -34924,7 +34924,7 @@ 'mb_check_encoding' => array ( 0 => 'bool', - 'value' => 'array|string', + 'value' => 'array|null|string', 'encoding=' => 'null|string', ), 'mb_chr' => @@ -36381,7 +36381,7 @@ ), 'MessageFormatter::create' => array ( - 0 => 'MessageFormatter', + 0 => 'MessageFormatter|null', 'locale' => 'string', 'pattern' => 'string', ), @@ -41276,7 +41276,7 @@ ), 'mysqli::get_charset' => array ( - 0 => 'object', + 0 => 'null|object', ), 'mysqli::get_client_info' => array ( @@ -42980,7 +42980,7 @@ ), 'NoRewindIterator::getInnerIterator' => array ( - 0 => 'Iterator', + 0 => 'Iterator|null', ), 'NoRewindIterator::key' => array ( @@ -43163,7 +43163,7 @@ 'NumberFormatter::format' => array ( 0 => 'false|string', - 'num' => 'mixed', + 'num' => 'float|int', 'type=' => 'int', ), 'NumberFormatter::formatCurrency' => @@ -44289,7 +44289,7 @@ array ( 0 => 'bool|int', 'odbc' => 'Odbc\\Connection', - 'enable=' => 'bool', + 'enable=' => 'bool|null', ), 'odbc_binmode' => array ( @@ -44333,8 +44333,8 @@ array ( 0 => 'Odbc\\Connection|false', 'dsn' => 'string', - 'user' => 'string', - 'password' => 'string', + 'user' => 'null|string', + 'password' => 'null|string', 'cursor_option=' => 'int', ), 'odbc_cursor' => @@ -44344,7 +44344,7 @@ ), 'odbc_data_source' => array ( - 0 => 'array|false', + 0 => 'array|false|null', 'odbc' => 'Odbc\\Connection', 'fetch_type' => 'int', ), @@ -44380,20 +44380,20 @@ array ( 0 => 'array|false', 'statement' => 'resource', - 'row=' => 'int', + 'row=' => 'int|null', ), 'odbc_fetch_into' => array ( 0 => 'int', 'statement' => 'resource', '&w_array' => 'array', - 'row=' => 'int', + 'row=' => 'int|null', ), 'odbc_fetch_object' => array ( 0 => 'false|stdClass', 'statement' => 'resource', - 'row=' => 'int', + 'row=' => 'int|null', ), 'odbc_fetch_row' => array ( @@ -44484,8 +44484,8 @@ array ( 0 => 'Odbc\\Connection|false', 'dsn' => 'string', - 'user' => 'string', - 'password' => 'string', + 'user' => 'null|string', + 'password' => 'null|string', 'cursor_option=' => 'int', ), 'odbc_prepare' => @@ -45170,7 +45170,7 @@ ), 'OuterIterator::getInnerIterator' => array ( - 0 => 'Iterator', + 0 => 'Iterator|null', ), 'OuterIterator::key' => array ( @@ -52422,7 +52422,7 @@ ), 'RecursiveCachingIterator::getInnerIterator' => array ( - 0 => 'Iterator', + 0 => 'Iterator|null', ), 'RecursiveCachingIterator::hasChildren' => array ( @@ -52494,7 +52494,7 @@ ), 'RecursiveCallbackFilterIterator::getInnerIterator' => array ( - 0 => 'Iterator', + 0 => 'Iterator|null', ), 'RecursiveCallbackFilterIterator::hasChildren' => array ( @@ -52716,7 +52716,7 @@ ), 'RecursiveFilterIterator::getInnerIterator' => array ( - 0 => 'Iterator', + 0 => 'Iterator|null', ), 'RecursiveFilterIterator::hasChildren' => array ( @@ -52874,7 +52874,7 @@ ), 'RecursiveRegexIterator::getInnerIterator' => array ( - 0 => 'Iterator', + 0 => 'Iterator|null', ), 'RecursiveRegexIterator::getMode' => array ( @@ -56073,7 +56073,7 @@ ), 'ReflectionClass::newInstanceArgs' => array ( - 0 => 'object', + 0 => 'null|object', 'args=' => 'array|string, mixed>', ), 'ReflectionClass::newInstanceWithoutConstructor' => @@ -56240,11 +56240,11 @@ ), 'ReflectionFunction::getClosureScopeClass' => array ( - 0 => 'ReflectionClass', + 0 => 'ReflectionClass|null', ), 'ReflectionFunction::getClosureThis' => array ( - 0 => 'object', + 0 => 'null|object', ), 'ReflectionFunction::getDocComment' => array ( @@ -56530,11 +56530,11 @@ ), 'ReflectionMethod::getClosureScopeClass' => array ( - 0 => 'ReflectionClass', + 0 => 'ReflectionClass|null', ), 'ReflectionMethod::getClosureThis' => array ( - 0 => 'object', + 0 => 'null|object', ), 'ReflectionMethod::getDeclaringClass' => array ( @@ -56922,7 +56922,7 @@ ), 'ReflectionObject::newInstanceArgs' => array ( - 0 => 'object', + 0 => 'null|object', 'args=' => 'array|string, mixed>', ), 'ReflectionObject::newInstanceWithoutConstructor' => @@ -57213,7 +57213,7 @@ ), 'RegexIterator::getInnerIterator' => array ( - 0 => 'Iterator', + 0 => 'Iterator|null', ), 'RegexIterator::getMode' => array ( @@ -59448,9 +59448,9 @@ 'write' => 'callable(string, string):bool', 'destroy' => 'callable(string):bool', 'gc' => 'callable(string):bool', - 'create_sid=' => 'callable():string', - 'validate_sid=' => 'callable(string):bool', - 'update_timestamp=' => 'callable(string):bool', + 'create_sid=' => 'callable():string|null', + 'validate_sid=' => 'callable(string):bool|null', + 'update_timestamp=' => 'callable(string):bool|null', ), 'session_set_save_handler\'1' => array ( @@ -60514,11 +60514,11 @@ array ( 0 => 'void', 'name' => 'string', - 'value=' => 'string', + 'value=' => 'null|string', ), 'SoapClient::__setLocation' => array ( - 0 => 'string', + 0 => 'null|string', 'new_location=' => 'string', ), 'SoapClient::__setSoapHeaders' => @@ -60531,7 +60531,7 @@ 0 => 'mixed', 'function_name' => 'string', 'arguments' => 'array', - 'options=' => 'array', + 'options=' => 'array|null', 'input_headers=' => 'SoapHeader|array', '&w_output_headers=' => 'array', ), @@ -60608,7 +60608,7 @@ 'name' => 'string', 'data=' => 'mixed', 'mustunderstand=' => 'bool', - 'actor=' => 'string', + 'actor=' => 'null|string', ), 'SoapHeader::SoapHeader' => array ( @@ -60691,7 +60691,7 @@ array ( 0 => 'void', 'data' => 'mixed', - 'encoding' => 'int', + 'encoding' => 'int|null', 'type_name=' => 'null|string', 'type_namespace=' => 'null|string', 'node_name=' => 'null|string', @@ -65321,7 +65321,7 @@ ), 'SplFileObject::fscanf' => array ( - 0 => 'array|int', + 0 => 'array|int|null', 'format' => 'string', '&...w_vars=' => 'float|int|string', ), @@ -66164,7 +66164,7 @@ ), 'SplTempFileObject::fscanf' => array ( - 0 => 'array|int', + 0 => 'array|int|null', 'format' => 'string', '&...w_vars=' => 'float|int|string', ), @@ -68420,7 +68420,7 @@ 0 => 'true', 'context' => 'mixed', 'wrapper_or_options' => 'string', - 'option_name' => 'string', + 'option_name' => 'null|string', 'value' => 'mixed', ), 'stream_context_set_option\'1' => @@ -68930,7 +68930,7 @@ array ( 0 => 'false|non-empty-string', 'string' => 'string', - 'token' => 'string', + 'token' => 'null|string', ), 'strtok\'1' => array ( @@ -68958,7 +68958,7 @@ 0 => 'string', 'string' => 'string', 'from' => 'string', - 'to' => 'string', + 'to' => 'null|string', ), 'strtr\'1' => array ( @@ -76501,7 +76501,7 @@ 0 => 'bool', 'version1' => 'string', 'version2' => 'string', - 'operator' => '\'!=\'|\'<\'|\'<=\'|\'<>\'|\'=\'|\'==\'|\'>\'|\'>=\'|\'eq\'|\'ge\'|\'gt\'|\'le\'|\'lt\'|\'ne\'', + 'operator' => '\'!=\'|\'<\'|\'<=\'|\'<>\'|\'=\'|\'==\'|\'>\'|\'>=\'|\'eq\'|\'ge\'|\'gt\'|\'le\'|\'lt\'|\'ne\'|null', ), 'version_compare\'1' => array ( @@ -78315,32 +78315,32 @@ array ( 0 => 'true', 'parser' => 'XMLParser', - 'handler' => 'callable', + 'handler' => 'callable|null', ), 'xml_set_element_handler' => array ( 0 => 'true', 'parser' => 'XMLParser', 'start_handler' => 'callable|null', - 'end_handler' => 'callable', + 'end_handler' => 'callable|null', ), 'xml_set_end_namespace_decl_handler' => array ( 0 => 'true', 'parser' => 'XMLParser', - 'handler' => 'callable', + 'handler' => 'callable|null', ), 'xml_set_external_entity_ref_handler' => array ( 0 => 'true', 'parser' => 'XMLParser', - 'handler' => 'callable', + 'handler' => 'callable|null', ), 'xml_set_notation_decl_handler' => array ( 0 => 'true', 'parser' => 'XMLParser', - 'handler' => 'callable', + 'handler' => 'callable|null', ), 'xml_set_object' => array ( @@ -78364,7 +78364,7 @@ array ( 0 => 'true', 'parser' => 'XMLParser', - 'handler' => 'callable', + 'handler' => 'callable|null', ), 'XMLDiff\\Base::__construct' => array ( @@ -79087,7 +79087,7 @@ 0 => 'bool', 'namespace' => 'string', 'name' => 'string', - 'value' => 'string', + 'value' => 'null|string', ), 'XSLTProcessor::setParameter\'1' => array ( @@ -79119,7 +79119,7 @@ ), 'XSLTProcessor::transformToXML' => array ( - 0 => 'false|string', + 0 => 'false|null|string', 'document' => 'DOMDocument', ), 'yac::__construct' => diff --git a/dictionaries/CallMap_84_delta.php b/dictionaries/CallMap_84_delta.php index 24bb09cf977..589602a072c 100644 --- a/dictionaries/CallMap_84_delta.php +++ b/dictionaries/CallMap_84_delta.php @@ -398,7 +398,7 @@ array ( 'old' => array ( - 0 => 'false|resource', + 0 => 'Odbc\\Connection|false', 'dsn' => 'string', 'user' => 'string', 'password' => 'string', @@ -408,8 +408,8 @@ array ( 0 => 'Odbc\\Connection|false', 'dsn' => 'string', - 'user' => 'string', - 'password' => 'string', + 'user' => 'null|string', + 'password' => 'null|string', 'cursor_option=' => 'int', ), ), @@ -515,7 +515,7 @@ array ( 'old' => array ( - 0 => 'false|resource', + 0 => 'Odbc\\Connection|false', 'dsn' => 'string', 'user' => 'string', 'password' => 'string', @@ -525,8 +525,8 @@ array ( 0 => 'Odbc\\Connection|false', 'dsn' => 'string', - 'user' => 'string', - 'password' => 'string', + 'user' => 'null|string', + 'password' => 'null|string', 'cursor_option=' => 'int', ), ), @@ -975,7 +975,7 @@ array ( 'old' => array ( - 0 => 'mixed', + 0 => 'void', 'name' => 'string', 'value=' => 'string', ), @@ -983,7 +983,7 @@ array ( 0 => 'void', 'name' => 'string', - 'value=' => 'string', + 'value=' => 'null|string', ), ), 'SplFixedArray::setSize' => @@ -1092,7 +1092,7 @@ array ( 'old' => array ( - 0 => 'bool', + 0 => 'true', 'context' => 'mixed', 'wrapper_or_options' => 'string', 'option_name' => 'string', @@ -1103,7 +1103,7 @@ 0 => 'true', 'context' => 'mixed', 'wrapper_or_options' => 'string', - 'option_name' => 'string', + 'option_name' => 'null|string', 'value' => 'mixed', ), ), @@ -1344,14 +1344,14 @@ 'old' => array ( 0 => 'bool|int', - 'odbc' => 'resource', + 'odbc' => 'Odbc\\Connection', 'enable=' => 'bool', ), 'new' => array ( 0 => 'bool|int', 'odbc' => 'Odbc\\Connection', - 'enable=' => 'bool', + 'enable=' => 'bool|null', ), ), 'odbc_close' => @@ -1398,12 +1398,12 @@ 'old' => array ( 0 => 'array|false', - 'odbc' => 'resource', + 'odbc' => 'Odbc\\Connection', 'fetch_type' => 'int', ), 'new' => array ( - 0 => 'array|false', + 0 => 'array|false|null', 'odbc' => 'Odbc\\Connection', 'fetch_type' => 'int', ), @@ -1725,7 +1725,7 @@ array ( 0 => 'true', 'parser' => 'XMLParser', - 'start_handler' => 'callable', + 'start_handler' => 'callable|null', 'end_handler' => 'callable', ), 'new' => @@ -1733,7 +1733,7 @@ 0 => 'true', 'parser' => 'XMLParser', 'start_handler' => 'callable|null', - 'end_handler' => 'callable', + 'end_handler' => 'callable|null', ), ), 'xml_set_start_namespace_decl_handler' => @@ -1751,5 +1751,857 @@ 'handler' => 'callable|null', ), ), + 'AppendIterator::getInnerIterator' => + array ( + 'old' => + array ( + 0 => 'Iterator', + ), + 'new' => + array ( + 0 => 'Iterator|null', + ), + ), + 'AppendIterator::getIteratorIndex' => + array ( + 'old' => + array ( + 0 => 'int', + ), + 'new' => + array ( + 0 => 'int|null', + ), + ), + 'CachingIterator::__construct' => + array ( + 'old' => + array ( + 0 => 'void', + 'iterator' => 'Iterator', + 'flags=' => 'mixed', + ), + 'new' => + array ( + 0 => 'void', + 'iterator' => 'Iterator', + 'flags=' => 'int', + ), + ), + 'CachingIterator::getInnerIterator' => + array ( + 'old' => + array ( + 0 => 'Iterator', + ), + 'new' => + array ( + 0 => 'Iterator|null', + ), + ), + 'CallbackFilterIterator::getInnerIterator' => + array ( + 'old' => + array ( + 0 => 'Iterator', + ), + 'new' => + array ( + 0 => 'Iterator|null', + ), + ), + 'curl_multi_getcontent' => + array ( + 'old' => + array ( + 0 => 'string', + 'handle' => 'CurlHandle', + ), + 'new' => + array ( + 0 => 'null|string', + 'handle' => 'CurlHandle', + ), + ), + 'FilterIterator::getInnerIterator' => + array ( + 'old' => + array ( + 0 => 'Iterator', + ), + 'new' => + array ( + 0 => 'Iterator|null', + ), + ), + 'fscanf' => + array ( + 'old' => + array ( + 0 => 'list', + 'stream' => 'resource', + 'format' => 'string', + ), + 'new' => + array ( + 0 => 'list|null', + 'stream' => 'resource', + 'format' => 'string', + ), + ), + 'getenv' => + array ( + 'old' => + array ( + 0 => 'false|string', + 'name' => 'string', + 'local_only=' => 'bool', + ), + 'new' => + array ( + 0 => 'false|string', + 'name' => 'null|string', + 'local_only=' => 'bool', + ), + ), + 'imagefilledpolygon' => + array ( + 'old' => + array ( + 0 => 'bool', + 'image' => 'GdImage', + 'points' => 'array', + 'num_points_or_color' => 'int', + 'color' => 'int', + ), + 'new' => + array ( + 0 => 'bool', + 'image' => 'GdImage', + 'points' => 'array', + 'num_points_or_color' => 'int', + 'color' => 'int|null', + ), + ), + 'imageopenpolygon' => + array ( + 'old' => + array ( + 0 => 'bool', + 'image' => 'GdImage', + 'points' => 'array', + 'num_points' => 'int', + 'color' => 'int', + ), + 'new' => + array ( + 0 => 'bool', + 'image' => 'GdImage', + 'points' => 'array', + 'num_points' => 'int', + 'color' => 'int|null', + ), + ), + 'imagepolygon' => + array ( + 'old' => + array ( + 0 => 'bool', + 'image' => 'GdImage', + 'points' => 'array', + 'num_points_or_color' => 'int', + 'color' => 'int', + ), + 'new' => + array ( + 0 => 'bool', + 'image' => 'GdImage', + 'points' => 'array', + 'num_points_or_color' => 'int', + 'color' => 'int|null', + ), + ), + 'implode' => + array ( + 'old' => + array ( + 0 => 'string', + 'separator' => 'string', + 'array' => 'array', + ), + 'new' => + array ( + 0 => 'string', + 'separator' => 'string', + 'array' => 'array|null', + ), + ), + 'InfiniteIterator::getInnerIterator' => + array ( + 'old' => + array ( + 0 => 'Iterator', + ), + 'new' => + array ( + 0 => 'Iterator|null', + ), + ), + 'IteratorIterator::getInnerIterator' => + array ( + 'old' => + array ( + 0 => 'Iterator', + ), + 'new' => + array ( + 0 => 'Iterator|null', + ), + ), + 'join' => + array ( + 'old' => + array ( + 0 => 'string', + 'separator' => 'string', + 'array' => 'array', + ), + 'new' => + array ( + 0 => 'string', + 'separator' => 'string', + 'array' => 'array|null', + ), + ), + 'LimitIterator::getInnerIterator' => + array ( + 'old' => + array ( + 0 => 'Iterator', + ), + 'new' => + array ( + 0 => 'Iterator|null', + ), + ), + 'Locale::getAllVariants' => + array ( + 'old' => + array ( + 0 => 'array', + 'locale' => 'string', + ), + 'new' => + array ( + 0 => 'array|null', + 'locale' => 'string', + ), + ), + 'Locale::getKeywords' => + array ( + 'old' => + array ( + 0 => 'array|false', + 'locale' => 'string', + ), + 'new' => + array ( + 0 => 'array|false|null', + 'locale' => 'string', + ), + ), + 'Locale::getPrimaryLanguage' => + array ( + 'old' => + array ( + 0 => 'string', + 'locale' => 'string', + ), + 'new' => + array ( + 0 => 'null|string', + 'locale' => 'string', + ), + ), + 'Locale::getRegion' => + array ( + 'old' => + array ( + 0 => 'string', + 'locale' => 'string', + ), + 'new' => + array ( + 0 => 'null|string', + 'locale' => 'string', + ), + ), + 'Locale::getScript' => + array ( + 'old' => + array ( + 0 => 'string', + 'locale' => 'string', + ), + 'new' => + array ( + 0 => 'null|string', + 'locale' => 'string', + ), + ), + 'Locale::parseLocale' => + array ( + 'old' => + array ( + 0 => 'array', + 'locale' => 'string', + ), + 'new' => + array ( + 0 => 'array|null', + 'locale' => 'string', + ), + ), + 'mb_check_encoding' => + array ( + 'old' => + array ( + 0 => 'bool', + 'value' => 'array|string', + 'encoding=' => 'null|string', + ), + 'new' => + array ( + 0 => 'bool', + 'value' => 'array|null|string', + 'encoding=' => 'null|string', + ), + ), + 'MessageFormatter::create' => + array ( + 'old' => + array ( + 0 => 'MessageFormatter', + 'locale' => 'string', + 'pattern' => 'string', + ), + 'new' => + array ( + 0 => 'MessageFormatter|null', + 'locale' => 'string', + 'pattern' => 'string', + ), + ), + 'mysqli::get_charset' => + array ( + 'old' => + array ( + 0 => 'object', + ), + 'new' => + array ( + 0 => 'null|object', + ), + ), + 'NoRewindIterator::getInnerIterator' => + array ( + 'old' => + array ( + 0 => 'Iterator', + ), + 'new' => + array ( + 0 => 'Iterator|null', + ), + ), + 'NumberFormatter::format' => + array ( + 'old' => + array ( + 0 => 'false|string', + 'num' => 'mixed', + 'type=' => 'int', + ), + 'new' => + array ( + 0 => 'false|string', + 'num' => 'float|int', + 'type=' => 'int', + ), + ), + 'odbc_fetch_array' => + array ( + 'old' => + array ( + 0 => 'array|false', + 'statement' => 'resource', + 'row=' => 'int', + ), + 'new' => + array ( + 0 => 'array|false', + 'statement' => 'resource', + 'row=' => 'int|null', + ), + ), + 'odbc_fetch_into' => + array ( + 'old' => + array ( + 0 => 'int', + 'statement' => 'resource', + '&w_array' => 'array', + 'row=' => 'int', + ), + 'new' => + array ( + 0 => 'int', + 'statement' => 'resource', + '&w_array' => 'array', + 'row=' => 'int|null', + ), + ), + 'odbc_fetch_object' => + array ( + 'old' => + array ( + 0 => 'false|stdClass', + 'statement' => 'resource', + 'row=' => 'int', + ), + 'new' => + array ( + 0 => 'false|stdClass', + 'statement' => 'resource', + 'row=' => 'int|null', + ), + ), + 'OuterIterator::getInnerIterator' => + array ( + 'old' => + array ( + 0 => 'Iterator', + ), + 'new' => + array ( + 0 => 'Iterator|null', + ), + ), + 'RecursiveCachingIterator::getInnerIterator' => + array ( + 'old' => + array ( + 0 => 'Iterator', + ), + 'new' => + array ( + 0 => 'Iterator|null', + ), + ), + 'RecursiveCallbackFilterIterator::getInnerIterator' => + array ( + 'old' => + array ( + 0 => 'Iterator', + ), + 'new' => + array ( + 0 => 'Iterator|null', + ), + ), + 'RecursiveFilterIterator::getInnerIterator' => + array ( + 'old' => + array ( + 0 => 'Iterator', + ), + 'new' => + array ( + 0 => 'Iterator|null', + ), + ), + 'RecursiveRegexIterator::getInnerIterator' => + array ( + 'old' => + array ( + 0 => 'Iterator', + ), + 'new' => + array ( + 0 => 'Iterator|null', + ), + ), + 'ReflectionClass::newInstanceArgs' => + array ( + 'old' => + array ( + 0 => 'object', + 'args=' => 'array|string, mixed>', + ), + 'new' => + array ( + 0 => 'null|object', + 'args=' => 'array|string, mixed>', + ), + ), + 'ReflectionFunction::getClosureScopeClass' => + array ( + 'old' => + array ( + 0 => 'ReflectionClass', + ), + 'new' => + array ( + 0 => 'ReflectionClass|null', + ), + ), + 'ReflectionFunction::getClosureThis' => + array ( + 'old' => + array ( + 0 => 'object', + ), + 'new' => + array ( + 0 => 'null|object', + ), + ), + 'ReflectionMethod::getClosureScopeClass' => + array ( + 'old' => + array ( + 0 => 'ReflectionClass', + ), + 'new' => + array ( + 0 => 'ReflectionClass|null', + ), + ), + 'ReflectionMethod::getClosureThis' => + array ( + 'old' => + array ( + 0 => 'object', + ), + 'new' => + array ( + 0 => 'null|object', + ), + ), + 'ReflectionObject::newInstanceArgs' => + array ( + 'old' => + array ( + 0 => 'object', + 'args=' => 'array|string, mixed>', + ), + 'new' => + array ( + 0 => 'null|object', + 'args=' => 'array|string, mixed>', + ), + ), + 'RegexIterator::getInnerIterator' => + array ( + 'old' => + array ( + 0 => 'Iterator', + ), + 'new' => + array ( + 0 => 'Iterator|null', + ), + ), + 'session_set_save_handler' => + array ( + 'old' => + array ( + 0 => 'bool', + 'open' => 'callable(string, string):bool', + 'close' => 'callable():bool', + 'read' => 'callable(string):string', + 'write' => 'callable(string, string):bool', + 'destroy' => 'callable(string):bool', + 'gc' => 'callable(string):bool', + 'create_sid=' => 'callable():string', + 'validate_sid=' => 'callable(string):bool', + 'update_timestamp=' => 'callable(string):bool', + ), + 'new' => + array ( + 0 => 'bool', + 'open' => 'callable(string, string):bool', + 'close' => 'callable():bool', + 'read' => 'callable(string):string', + 'write' => 'callable(string, string):bool', + 'destroy' => 'callable(string):bool', + 'gc' => 'callable(string):bool', + 'create_sid=' => 'callable():string|null', + 'validate_sid=' => 'callable(string):bool|null', + 'update_timestamp=' => 'callable(string):bool|null', + ), + ), + 'SoapClient::__setLocation' => + array ( + 'old' => + array ( + 0 => 'string', + 'new_location=' => 'string', + ), + 'new' => + array ( + 0 => 'null|string', + 'new_location=' => 'string', + ), + ), + 'SoapClient::__soapCall' => + array ( + 'old' => + array ( + 0 => 'mixed', + 'function_name' => 'string', + 'arguments' => 'array', + 'options=' => 'array', + 'input_headers=' => 'SoapHeader|array', + '&w_output_headers=' => 'array', + ), + 'new' => + array ( + 0 => 'mixed', + 'function_name' => 'string', + 'arguments' => 'array', + 'options=' => 'array|null', + 'input_headers=' => 'SoapHeader|array', + '&w_output_headers=' => 'array', + ), + ), + 'SoapHeader::__construct' => + array ( + 'old' => + array ( + 0 => 'void', + 'namespace' => 'string', + 'name' => 'string', + 'data=' => 'mixed', + 'mustunderstand=' => 'bool', + 'actor=' => 'string', + ), + 'new' => + array ( + 0 => 'void', + 'namespace' => 'string', + 'name' => 'string', + 'data=' => 'mixed', + 'mustunderstand=' => 'bool', + 'actor=' => 'null|string', + ), + ), + 'SoapVar::__construct' => + array ( + 'old' => + array ( + 0 => 'void', + 'data' => 'mixed', + 'encoding' => 'int', + 'type_name=' => 'null|string', + 'type_namespace=' => 'null|string', + 'node_name=' => 'null|string', + 'node_namespace=' => 'null|string', + ), + 'new' => + array ( + 0 => 'void', + 'data' => 'mixed', + 'encoding' => 'int|null', + 'type_name=' => 'null|string', + 'type_namespace=' => 'null|string', + 'node_name=' => 'null|string', + 'node_namespace=' => 'null|string', + ), + ), + 'SplFileObject::fscanf' => + array ( + 'old' => + array ( + 0 => 'array|int', + 'format' => 'string', + '&...w_vars=' => 'float|int|string', + ), + 'new' => + array ( + 0 => 'array|int|null', + 'format' => 'string', + '&...w_vars=' => 'float|int|string', + ), + ), + 'SplTempFileObject::fscanf' => + array ( + 'old' => + array ( + 0 => 'array|int', + 'format' => 'string', + '&...w_vars=' => 'float|int|string', + ), + 'new' => + array ( + 0 => 'array|int|null', + 'format' => 'string', + '&...w_vars=' => 'float|int|string', + ), + ), + 'strtok' => + array ( + 'old' => + array ( + 0 => 'false|non-empty-string', + 'string' => 'string', + 'token' => 'string', + ), + 'new' => + array ( + 0 => 'false|non-empty-string', + 'string' => 'string', + 'token' => 'null|string', + ), + ), + 'strtr' => + array ( + 'old' => + array ( + 0 => 'string', + 'string' => 'string', + 'from' => 'string', + 'to' => 'string', + ), + 'new' => + array ( + 0 => 'string', + 'string' => 'string', + 'from' => 'string', + 'to' => 'null|string', + ), + ), + 'version_compare' => + array ( + 'old' => + array ( + 0 => 'bool', + 'version1' => 'string', + 'version2' => 'string', + 'operator' => '\'!=\'|\'<\'|\'<=\'|\'<>\'|\'=\'|\'==\'|\'>\'|\'>=\'|\'eq\'|\'ge\'|\'gt\'|\'le\'|\'lt\'|\'ne\'', + ), + 'new' => + array ( + 0 => 'bool', + 'version1' => 'string', + 'version2' => 'string', + 'operator' => '\'!=\'|\'<\'|\'<=\'|\'<>\'|\'=\'|\'==\'|\'>\'|\'>=\'|\'eq\'|\'ge\'|\'gt\'|\'le\'|\'lt\'|\'ne\'|null', + ), + ), + 'xml_set_default_handler' => + array ( + 'old' => + array ( + 0 => 'true', + 'parser' => 'XMLParser', + 'handler' => 'callable', + ), + 'new' => + array ( + 0 => 'true', + 'parser' => 'XMLParser', + 'handler' => 'callable|null', + ), + ), + 'xml_set_end_namespace_decl_handler' => + array ( + 'old' => + array ( + 0 => 'true', + 'parser' => 'XMLParser', + 'handler' => 'callable', + ), + 'new' => + array ( + 0 => 'true', + 'parser' => 'XMLParser', + 'handler' => 'callable|null', + ), + ), + 'xml_set_external_entity_ref_handler' => + array ( + 'old' => + array ( + 0 => 'true', + 'parser' => 'XMLParser', + 'handler' => 'callable', + ), + 'new' => + array ( + 0 => 'true', + 'parser' => 'XMLParser', + 'handler' => 'callable|null', + ), + ), + 'xml_set_notation_decl_handler' => + array ( + 'old' => + array ( + 0 => 'true', + 'parser' => 'XMLParser', + 'handler' => 'callable', + ), + 'new' => + array ( + 0 => 'true', + 'parser' => 'XMLParser', + 'handler' => 'callable|null', + ), + ), + 'xml_set_unparsed_entity_decl_handler' => + array ( + 'old' => + array ( + 0 => 'true', + 'parser' => 'XMLParser', + 'handler' => 'callable', + ), + 'new' => + array ( + 0 => 'true', + 'parser' => 'XMLParser', + 'handler' => 'callable|null', + ), + ), + 'XSLTProcessor::setParameter' => + array ( + 'old' => + array ( + 0 => 'bool', + 'namespace' => 'string', + 'name' => 'string', + 'value' => 'string', + ), + 'new' => + array ( + 0 => 'bool', + 'namespace' => 'string', + 'name' => 'string', + 'value' => 'null|string', + ), + ), + 'XSLTProcessor::transformToXML' => + array ( + 'old' => + array ( + 0 => 'false|string', + 'document' => 'DOMDocument', + ), + 'new' => + array ( + 0 => 'false|null|string', + 'document' => 'DOMDocument', + ), + ), ), ); \ No newline at end of file