diff --git a/src/Psalm/CallMap.php b/src/Psalm/CallMap.php index aa11b5e50..dfd9bfcfb 100644 --- a/src/Psalm/CallMap.php +++ b/src/Psalm/CallMap.php @@ -56,7 +56,8 @@ return [ 'apache_reset_timeout' => ['bool'], 'apache_response_headers' => ['array|false'], 'apache_setenv' => ['bool', 'variable'=>'string', 'value'=>'string', 'walk_to_top='=>'bool'], -'apc_add' => ['array', 'key'=>'string', 'var='=>'', 'ttl='=>'int', 'values='=>'array', 'unused='=>''], +'apc_add' => ['bool', 'key'=>'string', 'ttl='=>'int'], +'apc_add\'1' => ['array', 'values'=>'array', 'unused='=>'', 'ttl='=>'int'], 'apc_bin_dumpfile' => ['int', 'files'=>'array', 'user_vars'=>'array', 'filename'=>'string', 'flags='=>'int', 'context='=>''], 'apc_bin_dump' => ['string', 'files='=>'array', 'user_vars='=>'array'], 'apc_bin_load' => ['bool', 'data'=>'string', 'flags='=>'int'], @@ -65,25 +66,51 @@ return [ 'apc_cas' => ['bool', 'key'=>'string', 'old'=>'int', 'new'=>'int'], 'apc_clear_cache' => ['bool', 'cache_type='=>'string'], 'apc_compile_file' => ['', 'filename'=>'string', 'atomic='=>'bool'], -'apc_dec' => ['int', 'key'=>'string', 'step='=>'int', 'success='=>'bool'], +'apc_dec' => ['int', 'key'=>'string', 'step='=>'int', '&success='=>'bool'], 'apc_define_constants' => ['bool', 'key'=>'string', 'constants'=>'array', 'case_sensitive='=>'bool'], 'apc_delete_file' => ['', 'keys'=>''], -'apc_delete' => ['', 'key'=>'string'], -'apc_exists' => ['', 'keys'=>''], -'apc_fetch' => ['', 'key'=>'', 'success='=>'bool'], -'apc_inc' => ['int', 'key'=>'string', 'step='=>'int', 'success='=>'bool'], +'apc_delete' => ['bool', 'key'=>'string|string[]|APCIterator'], +'apc_exists' => ['bool', 'keys'=>'string'], +'apc_exists' => ['array', 'keys'=>'string[]'], +'apc_fetch' => ['', 'key'=>'', '&success='=>'bool'], +'apc_inc' => ['int', 'key'=>'string', 'step='=>'int', '&success='=>'bool'], 'APCIterator::__construct' => ['APCIterator', 'cache'=>'string', 'search='=>'', 'format='=>'int', 'chunk_size='=>'int', 'list='=>'int'], 'APCIterator::current' => [''], 'APCIterator::getTotalCount' => ['int'], 'APCIterator::getTotalHits' => ['int'], 'APCIterator::getTotalSize' => ['int'], 'APCIterator::key' => ['string'], -'APCIterator::next' => [''], -'APCIterator::rewind' => [''], -'APCIterator::valid' => [''], +'APCIterator::next' => ['void'], +'APCIterator::rewind' => ['void'], +'APCIterator::valid' => ['bool'], 'apc_load_constants' => ['bool', 'key'=>'string', 'case_sensitive='=>'bool'], 'apc_sma_info' => ['array', 'limited='=>'bool'], -'apc_store' => ['array|bool', 'key'=>'string', 'var'=>'', 'ttl='=>'int', 'values='=>'array', 'unused='=>''], +'apc_store' => ['bool', 'key'=>'string', 'ttl='=>'int'], +'apc_store\'1' => ['array', 'values'=>'array', 'unused='=>'', 'ttl='=>'int'], +'apcu_add' => ['bool', 'key'=>'string', 'ttl='=>'int'], +'apcu_add\'1' => ['array', 'values'=>'array', 'unused='=>'', 'ttl='=>'int'], +'apcu_cache_info' => ['array', 'limited='=>'bool'], +'apcu_cas' => ['bool', 'key'=>'string', 'old'=>'int', 'new'=>'int'], +'apcu_clear_cache' => ['bool'], +'apcu_dec' => ['int', 'key'=>'string', 'step='=>'int', '&success='=>'bool'], +'apcu_delete' => ['bool', 'key'=>'string|string[]|APCUIterator'], +'apcu_entry' => ['', 'key'=>'string', 'generator'=>'callable', 'ttl='=>'int'], +'apcu_exists' => ['bool', 'keys'=>'string'], +'apcu_exists\'1' => ['array', 'keys'=>'string[]'], +'apcu_fetch' => ['', 'key'=>'', '&success='=>'bool'], +'apcu_inc' => ['int', 'key'=>'string', 'step='=>'int', '&success='=>'bool'], +'APCUIterator::__construct' => ['APCUIterator', 'search='=>'string|string[]|null', 'format='=>'int', 'chunk_size='=>'int', 'list='=>'int'], +'APCUIterator::current' => [''], +'APCUIterator::getTotalCount' => ['int'], +'APCUIterator::getTotalHits' => ['int'], +'APCUIterator::getTotalSize' => ['int'], +'APCUIterator::key' => ['string'], +'APCUIterator::next' => ['void'], +'APCUIterator::rewind' => ['void'], +'APCUIterator::valid' => ['bool'], +'apcu_sma_info' => ['array', 'limited='=>'bool'], +'apcu_store' => ['bool', 'key'=>'string', 'ttl='=>'int'], +'apcu_store\'1' => ['array', 'values'=>'array', 'unused='=>'', 'ttl='=>'int'], 'apd_breakpoint' => ['bool', 'debug_level'=>'int'], 'apd_callstack' => ['array'], 'apd_clunk' => ['', 'warning'=>'string', 'delimiter='=>'string'], @@ -219,8 +246,8 @@ return [ 'atan' => ['float', 'number'=>'float'], 'atanh' => ['float', 'number'=>'float'], 'BadFunctionCallException::__clone' => ['Throwable|BadFunctionCallException'], -'BadFunctionCallException::__construct' => ['BadFunctionCallException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|BadFunctionCallException'], -'BadFunctionCallException::__construct' => ['BadMethodCallException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|BadMethodCallException'], +'BadFunctionCallException::__construct' => ['BadFunctionCallException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|BadFunctionCallException|null'], +'BadFunctionCallException::__construct' => ['BadMethodCallException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|BadMethodCallException|null'], 'BadFunctionCallException::getCode' => ['int'], 'BadFunctionCallException::getFile' => ['string'], 'BadFunctionCallException::getLine' => ['int'], @@ -1081,16 +1108,16 @@ return [ 'DateTimeImmutable::createFromFormat' => ['DateTimeImmutable', 'format'=>'string', 'time'=>'string', 'timezone='=>'DateTimeZone'], 'DateTimeImmutable::createFromMutable' => ['DateTimeImmutable', 'datetime'=>'DateTime'], 'DateTimeImmutable::diff' => ['DateInterval', 'datetime2'=>'DateTime', 'absolute='=>'bool'], -'DateTimeImmutable::format' => ['DateTimeImmutable', 'format'=>'string'], +'DateTimeImmutable::format' => ['string|false', 'format'=>'string'], 'DateTimeImmutable::getLastErrors' => ['array'], 'DateTimeImmutable::getOffset' => ['int'], 'DateTimeImmutable::getTimestamp' => ['int'], 'DateTimeImmutable::getTimezone' => ['DateTimeZone', 'object'=>'DateTime'], 'DateTimeImmutable::modify' => ['DateTimeImmutable', 'modify'=>'string'], 'DateTimeImmutable::setDate' => ['DateTimeImmutable', 'year'=>'int', 'month'=>'int', 'day'=>'int'], -'DateTimeImmutable::setISODate' => ['DateTimeImmutable', 'year'=>'int', 'week'=>'int', 'day'=>'int'], +'DateTimeImmutable::setISODate' => ['DateTimeImmutable', 'year'=>'int', 'week'=>'int', 'day='=>'int'], 'DateTimeImmutable::__set_state' => ['DateTimeImmutable', 'array'=>'array'], -'DateTimeImmutable::setTime' => ['DateTimeImmutable', 'hour'=>'int', 'minute'=>'int', 'second'=>'int'], +'DateTimeImmutable::setTime' => ['DateTimeImmutable', 'hour'=>'int', 'minute'=>'int', 'second='=>'int'], 'DateTimeImmutable::setTimestamp' => ['DateTimeImmutable', 'unixtimestamp'=>'int'], 'DateTimeImmutable::setTimezone' => ['DateTimeImmutable', 'timezone'=>'DateTimeZone'], 'DateTimeImmutable::sub' => ['DateTimeImmutable', 'interval'=>'DateInterval'], @@ -1139,7 +1166,7 @@ return [ 'db2_field_num' => ['int', 'stmt'=>'', 'column'=>''], 'db2_field_precision' => ['int', 'stmt'=>'', 'column'=>''], 'db2_field_scale' => ['int', 'stmt'=>'', 'column'=>''], -'db2_field_type' => ['stri=>ng', 'stmt'=>'', 'column'=>''], +'db2_field_type' => ['string', 'stmt'=>'', 'column'=>''], 'db2_field_width' => ['int', 'stmt'=>'', 'column'=>''], 'db2_foreign_keys' => ['resource', 'connection'=>'', 'qualifier'=>'string', 'schema'=>'string', 'table-name'=>'string'], 'db2_free_result' => ['bool', 'stmt'=>''], @@ -1318,7 +1345,7 @@ return [ 'dns_get_mx' => ['bool', 'hostname'=>'string', 'mxhosts'=>'array', 'weight'=>'array'], 'dns_get_record' => ['array|false', 'hostname'=>'string', 'type='=>'int', 'authns='=>'array', 'addtl='=>'array'], 'DomainException::__clone' => ['Throwable|DomainException'], -'DomainException::__construct' => ['DomainException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|DomainException'], +'DomainException::__construct' => ['DomainException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|DomainException|null'], 'DomainException::getCode' => ['int'], 'DomainException::getFile' => ['string'], 'DomainException::getLine' => ['int'], @@ -1568,7 +1595,7 @@ return [ 'Error::__clone' => ['Error'], 'Error::__construct' => ['Error', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|Error'], 'ErrorException::__clone' => ['ErrorException'], -'ErrorException::__construct' => ['ErrorException', 'message='=>'string', 'code='=>'int', 'severity='=>'int', 'filename='=>'string', 'lineno='=>'int', 'previous='=>'Throwable|ErrorException'], +'ErrorException::__construct' => ['ErrorException', 'message='=>'string', 'code='=>'int', 'severity='=>'int', 'filename='=>'string', 'lineno='=>'int', 'previous='=>'Throwable|ErrorException|null'], 'ErrorException::getCode' => ['int'], 'ErrorException::getFile' => ['string'], 'ErrorException::getLine' => ['int'], @@ -1856,7 +1883,7 @@ return [ 'EvWatcher::start' => ['void'], 'EvWatcher::stop' => ['void'], 'Exception::__clone' => ['Throwable|Exception'], -'Exception::__construct' => ['Exception', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|null'], +'Exception::__construct' => ['Exception', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|Exception|null'], 'Exception::getCode' => ['int'], 'Exception::getFile' => ['string'], 'Exception::getLine' => ['int'], @@ -3399,6 +3426,8 @@ return [ 'ifxus_seek_slob' => ['int', 'bid'=>'int', 'mode'=>'int', 'offset'=>'int'], 'ifxus_tell_slob' => ['int', 'bid'=>'int'], 'ifxus_write_slob' => ['int', 'bid'=>'int', 'content'=>'string'], +'igbinary_serialize' => ['string|false', 'value'=>''], +'igbinary_unserialize' => ['', 'str'=>'string'], 'ignore_user_abort' => ['int', 'value='=>'bool'], 'iis_add_server' => ['int', 'path'=>'string', 'comment'=>'string', 'server_ip'=>'string', 'port'=>'int', 'host_name'=>'string', 'rights'=>'int', 'start_server'=>'int'], 'iis_get_dir_security' => ['int', 'server_instance'=>'int', 'virtual_path'=>'string'], @@ -4355,7 +4384,7 @@ return [ 'IntlTimeZone::useDaylightTime' => ['bool'], 'intval' => ['int', 'var'=>'', 'base='=>'int'], 'InvalidArgumentException::__clone' => ['Throwable|InvalidArgumentException'], -'InvalidArgumentException::__construct' => ['InvalidArgumentException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|InvalidArgumentException'], +'InvalidArgumentException::__construct' => ['InvalidArgumentException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|InvalidArgumentException|null'], 'InvalidArgumentException::getCode' => ['int'], 'InvalidArgumentException::getFile' => ['string'], 'InvalidArgumentException::getLine' => ['int'], @@ -4565,7 +4594,7 @@ return [ 'leak' => ['', 'num_bytes'=>'int'], 'leak_variable' => ['', 'variable'=>'', 'leak_data'=>'bool'], 'LengthException::__clone' => ['Throwable|LengthException'], -'LengthException::__construct' => ['LengthException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|LengthException'], +'LengthException::__construct' => ['LengthException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|LengthException|null'], 'LengthException::getCode' => ['int'], 'LengthException::getFile' => ['string'], 'LengthException::getLine' => ['int'], @@ -4583,7 +4612,7 @@ return [ 'libxml_set_external_entity_loader' => ['', 'resolver_function'=>'callable'], 'libxml_set_streams_context' => ['', 'streams_context'=>''], 'libxml_use_internal_errors' => ['bool', 'use_errors='=>'bool'], -'LimitIterator::__construct' => ['Iterator', 'iterator'=>'Iterator', 'offset='=>'int', 'count='=>'int'], +'LimitIterator::__construct' => ['Iterator', 'offset='=>'int', 'count='=>'int'], 'LimitIterator::current' => [''], 'LimitIterator::getInnerIterator' => ['Iterator'], 'LimitIterator::getPosition' => ['int'], @@ -4638,7 +4667,7 @@ return [ 'log1p' => ['float', 'number'=>'float'], 'log' => ['float', 'number'=>'float', 'base='=>'float'], 'LogicException::__clone' => ['Throwable|LogicException'], -'LogicException::__construct' => ['LogicException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|LogicException'], +'LogicException::__construct' => ['LogicException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|LogicException|null'], 'LogicException::getCode' => ['int'], 'LogicException::getFile' => ['string'], 'LogicException::getLine' => ['int'], @@ -4898,7 +4927,7 @@ return [ 'mb_strwidth' => ['int', 'str'=>'string', 'encoding='=>'string'], 'mb_substitute_character' => ['', 'substchar='=>''], 'mb_substr_count' => ['int', 'haystack'=>'string', 'needle'=>'string', 'encoding='=>'string'], -'mb_substr' => ['string', 'str'=>'string', 'start'=>'int', 'length='=>'int', 'encoding='=>'string'], +'mb_substr' => ['string', 'str'=>'string', 'start'=>'int', 'length='=>'int|null', 'encoding='=>'string'], 'm_checkstatus' => ['int', 'conn'=>'', 'identifier'=>'int'], 'm_completeauthorizations' => ['int', 'conn'=>'', 'array'=>'int'], 'm_connect' => ['int', 'conn'=>''], @@ -5998,6 +6027,25 @@ return [ 'ncurses_wstandend' => ['int', 'window'=>''], 'ncurses_wstandout' => ['int', 'window'=>''], 'ncurses_wvline' => ['int', 'window'=>'', 'charattr'=>'int', 'n'=>'int'], +'newrelic_add_custom_parameter' => ['bool', 'key'=>'string', 'value'=>''], +'newrelic_add_custom_tracer' => ['bool', 'function_name'=>'string'], +'newrelic_background_job' => ['void', 'flag='=>'bool'], +'newrelic_capture_params' => ['void', 'enable='=>'bool'], +'newrelic_custom_metric' => ['bool', 'metric_name'=>'string', 'value'=>'float'], +'newrelic_disable_autorum' => ['bool'], +'newrelic_end_of_transaction' => ['void'], +'newrelic_end_transaction' => ['bool', 'ignore='=>'bool'], +'newrelic_get_browser_timing_footer' => ['string', 'include_tags='=>'bool'], +'newrelic_get_browser_timing_header' => ['string', 'include_tags='=>'bool'], +'newrelic_ignore_apdex' => ['void'], +'newrelic_ignore_transaction' => ['void'], +'newrelic_name_transaction' => ['bool', 'name'=>'string'], +'newrelic_notice_error' => ['void', 'message'=>'string', 'exception='=>'exception'], +'newrelic_notice_error\'1' => ['void', 'unused_1'=>'string', 'message'=>'string', 'unused_2'=>'string', 'unused_3'=>'int', 'unused_4='=>''], +'newrelic_record_custom_event' => ['void', 'name'=>'string', 'attributes'=>'array'], +'newrelic_set_appname' => ['bool', 'name'=>'string', 'license='=>'string', 'xmit='=>'bool'], +'newrelic_set_user_attributes' => ['bool', 'user'=>'string', 'account'=>'string', 'product'=>'string'], +'newrelic_start_transaction' => ['bool', 'appname'=>'string', 'license='=>'string'], 'newt_bell' => [''], 'newt_button_bar' => ['resource', 'buttons'=>'array'], 'newt_button' => ['resource', 'left'=>'int', 'top'=>'int', 'text'=>'string'], @@ -6480,7 +6528,7 @@ return [ 'ord' => ['int', 'character'=>'string'], 'OuterIterator::getInnerIterator' => ['Iterator'], 'OutOfBoundsException::__clone' => ['Throwable|OutOfBoundsException'], -'OutOfBoundsException::__construct' => ['OutOfBoundsException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|OutOfBoundsException'], +'OutOfBoundsException::__construct' => ['OutOfBoundsException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|OutOfBoundsException|null'], 'OutOfBoundsException::getCode' => ['int'], 'OutOfBoundsException::getFile' => ['string'], 'OutOfBoundsException::getLine' => ['int'], @@ -6490,7 +6538,7 @@ return [ 'OutOfBoundsException::getTraceAsString' => ['string'], 'OutOfBoundsException::__toString' => ['string'], 'OutOfRangeException::__clone' => ['Throwable|Exception'], -'OutOfRangeException::__construct' => ['OutOfRangeException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|OutOfRangeException'], +'OutOfRangeException::__construct' => ['OutOfRangeException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|OutOfRangeException|null'], 'OutOfRangeException::getCode' => ['int'], 'OutOfRangeException::getFile' => ['string'], 'OutOfRangeException::getLine' => ['int'], @@ -6502,7 +6550,7 @@ return [ 'output_add_rewrite_var' => ['bool', 'name'=>'string', 'value'=>'string'], 'output_reset_rewrite_vars' => ['bool'], 'OverflowException::__clone' => ['Throwable|Exception'], -'OverflowException::__construct' => ['OverflowException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|OverflowException'], +'OverflowException::__construct' => ['OverflowException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|OverflowException|null'], 'OverflowException::getCode' => ['int'], 'OverflowException::getFile' => ['string'], 'OverflowException::getLine' => ['int'], @@ -7087,7 +7135,7 @@ return [ 'proc_close' => ['int', 'process'=>''], 'proc_get_status' => ['array', 'process'=>''], 'proc_nice' => ['bool', 'priority'=>'int'], -'proc_open' => ['resource|false', 'command'=>'string', 'descriptorspec'=>'array', '&pipes'=>'array', 'cwd='=>'string', 'env='=>'array', 'other_options='=>'array'], +'proc_open' => ['resource|false', 'command'=>'string', 'descriptorspec'=>'array', '&pipes'=>'array', 'cwd='=>'string|null', 'env='=>'array|null', 'other_options='=>'array'], 'proc_terminate' => ['bool', 'process'=>'', 'signal='=>'int'], 'property_exists' => ['bool', 'object_or_class'=>'object|string', 'property_name'=>'string'], 'ps_add_bookmark' => ['int', 'psdoc'=>'', 'text'=>'string', 'parent='=>'int', 'open='=>'int'], @@ -7298,7 +7346,7 @@ return [ 'random_int' => ['int', 'min'=>'int', 'max'=>'int'], 'range' => ['array', 'low'=>'', 'high'=>'', 'step='=>'int'], 'RangeException::__clone' => ['Throwable|Exception'], -'RangeException::__construct' => ['RangeException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|RangeException'], +'RangeException::__construct' => ['RangeException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|RangeException|null'], 'RangeException::getCode' => ['int'], 'RangeException::getFile' => ['string'], 'RangeException::getLine' => ['int'], @@ -7425,6 +7473,80 @@ return [ 'RecursiveTreeIterator::setPostfix' => ['', 'prefix'=>'string'], 'RecursiveTreeIterator::setPrefixPart' => ['', 'part'=>'int', 'prefix'=>'string'], 'RecursiveTreeIterator::valid' => ['bool'], +'Redis::__construct' => ['Redis'], +'Redis::append' => ['int', 'key'=>'string', 'value'=>'string'], +'Redis::auth' => ['bool', 'password'=>'string'], +'Redis::bgRewriteAOF' => ['bool'], +'Redis::bgSave' => ['bool'], +'Redis::bitCount' => ['int', 'key'=>'string'], +'Redis::bitOp' => ['int', 'operation'=>'string', '...'=>'string'], +'Redis::close' => ['void'], +'Redis::config' => ['string', 'key'=>'string', 'value='=>'string'], +'Redis::connect' => ['bool', 'host'=>'string', 'port='=>'int', 'timeout='=>'float', 'retry_interval='=>'int|null'], +'Redis::dbSize' => ['int'], +'Redis::decrByFloat' => ['float', 'key'=>'string', 'value'=>'float'], +'Redis::decrBy' => ['int', 'key'=>'string', 'value'=>'int'], +'Redis::decr' => ['int', 'key'=>'string'], +'Redis::del\'1' => ['bool', 'key'=>'string[]'], +'Redis::del' => ['bool', 'key'=>'string', '...'=>'string'], +'Redis::delete\'1' => ['bool', 'key'=>'string[]'], +'Redis::delete' => ['bool', 'key'=>'string', '...'=>'string'], +'Redis::dump' => ['string|false', 'key'=>'string'], +'Redis::echo' => ['string', 'message'=>'string'], +'Redis::exists' => ['bool', 'key'=>'string'], +'Redis::expireAt' => ['bool', 'key'=>'string', 'expiry'=>'int'], +'Redis::flushAll' => ['bool'], +'Redis::flushDb' => ['bool'], +'Redis::getBit' => ['int', 'key'=>'string', 'offset'=>'int'], +'Redis::getKeys' => ['string[]', 'pattern'=>'string'], +'Redis::getMultiple' => ['array', 'keys'=>'string[]'], +'Redis::getOption' => ['', 'name'=>'int'], +'Redis::getRange' => ['int', 'key'=>'string', 'start'=>'int', 'end'=>'int'], +'Redis::getSet' => ['string', 'key'=>'string', 'string'=>'string'], +'Redis::get' => ['string|false', 'key'=>'string'], +'Redis::incrByFloat' => ['float', 'key'=>'string'], +'Redis::incrBy' => ['int', 'key'=>'string', 'value'=>'int'], +'Redis::incr' => ['int', 'key'=>'string'], +'Redis::info' => ['array', 'option='=>'string'], +'Redis::keys' => ['string[]', 'pattern'=>'string'], +'Redis::lastSave' => ['int'], +'Redis::mGet' => ['array', 'keys'=>'string[]'], +'Redis::migrate' => ['', 'host'=>'string', 'port'=>'int', 'db'=>'int', 'timeout'=>'int', 'copy='=>'bool', 'replace='=>'bool'], +'Redis::move' => ['bool', 'key' => 'string', 'dbindex'=>'int'], +'Redis::mSet' => ['bool', 'pairs'=>'array'], +'Redis::mSetNx' => ['bool', 'pairs'=>'array'], +'Redis::object' => ['string|long|false', 'info'=>'string', 'key'=>'string'], +'Redis::open' => ['bool', 'host'=>'string', 'port='=>'int', 'timeout='=>'float', 'retry_interval='=>'int|null'], +'Redis::pconnect' => ['bool', 'host'=>'string', 'port='=>'int', 'timeout='=>'float', 'persistent_id='=>'string', 'retry_interval='=>'int|null'], +'Redis::persist' => ['bool', 'key'=>'string'], +'Redis::pexpireAt' => ['bool', 'key'=>'string', 'expiry'=>'int'], +'Redis::ping' => ['string'], +'Redis::popen' => ['bool', 'host'=>'string', 'port='=>'int', 'timeout='=>'float', 'persistent_id='=>'string', 'retry_interval='=>'int|null'], +'Redis::pttl' => ['int', 'key'=>'string'], +'Redis::randomKey' => ['string'], +'Redis::rename' => ['bool', 'srckey'=>'string', 'dstkey'=>'string'], +'Redis::renameKey' => ['bool', 'srckey'=>'string', 'dstkey'=>'string'], +'Redis::renameNx' => ['bool', 'srckey'=>'string', 'dstkey'=>'string'], +'Redis::resetStat' => ['bool'], +'Redis::restore' => ['', 'key'=>'string', 'ttl'=>'int', 'value'=>'string'], +'Redis::save' => ['bool'], +'Redis::scan' => ['string[]|false', 'iterator'=>'int|null', 'pattern='=>'string|null', 'count='=>'int|null'], +'Redis::select' => ['bool', 'dbindex'=>'int'], +'Redis::setBit' => ['int', 'key'=>'string', 'offset'=>'int', 'value'=>'int'], +'Redis::set' => ['bool', 'key'=>'string', 'value'=>'string', 'options='=>'array'], +'Redis::set' => ['bool', 'key'=>'string', 'value'=>'string', 'timeout='=>'int'], +'Redis::setEx' => ['bool', 'key'=>'string', 'ttl'=>'int', 'value'=>'string'], +'Redis::setNx' => ['bool', 'key'=>'string', 'value'=>'string'], +'Redis::setOption' => ['bool', 'name'=>'int', 'value'=>''], +'Redis::setRange' => ['int', 'key'=>'string', 'offset'=>'int', 'end'=>'int'], +'Redis::slave\'1' => ['bool', 'host'=>'string', 'port'=>'int'], +'Redis::slave' => ['bool', 'host'=>'string', 'port'=>'int'], +'Redis::slowLog' => ['', 'operation'=>'string', 'length='=>'int'], +'Redis::sort' => ['array|int', 'options='=>'array|null'], +'Redis::strLen' => ['int', 'key'=>'string'], +'Redis::time' => ['array'], +'Redis::ttl' => ['array|int', 'options='=>'array|null'], +'Redis::type' => ['int', 'key'=>'string'], 'ReflectionClass::__clone' => ['ReflectionClass'], 'ReflectionClass::__construct' => ['ReflectionClass', 'argument'=>''], 'ReflectionClass::export' => ['string', 'argument'=>'', 'return='=>'bool'], @@ -7701,17 +7823,21 @@ return [ 'runkit_constant_add' => ['bool', 'constname'=>'string', 'value'=>''], 'runkit_constant_redefine' => ['bool', 'constname'=>'string', 'newvalue'=>''], 'runkit_constant_remove' => ['bool', 'constname'=>'string'], -'runkit_function_add' => ['bool', 'funcname'=>'string', 'arglist'=>'string', 'code'=>'string'], +'runkit_function_add\'1' => ['bool', 'funcname'=>'string', 'closure'=>'Closure', 'doccomment='=>'string|null'], +'runkit_function_add' => ['bool', 'funcname'=>'string', 'arglist'=>'string', 'code'=>'string', 'doccomment='=>'string|null'], 'runkit_function_copy' => ['bool', 'funcname'=>'string', 'targetname'=>'string'], -'runkit_function_redefine' => ['bool', 'funcname'=>'string', 'arglist'=>'string', 'code'=>'string'], +'runkit_function_redefine\'1' => ['bool', 'funcname'=>'string', 'closure'=>'Closure', 'doccomment='=>'string|null'], +'runkit_function_redefine' => ['bool', 'funcname'=>'string', 'arglist'=>'string', 'code'=>'string', 'doccomment='=>'string|null'], 'runkit_function_remove' => ['bool', 'funcname'=>'string'], 'runkit_function_rename' => ['bool', 'funcname'=>'string', 'newname'=>'string'], 'runkit_import' => ['bool', 'filename'=>'string', 'flags='=>'int'], 'runkit_lint' => ['bool', 'code'=>'string'], 'runkit_lint_file' => ['bool', 'filename'=>'string'], -'runkit_method_add' => ['bool', 'classname'=>'string', 'methodname'=>'string', 'args'=>'string', 'code'=>'string', 'flags='=>'int'], +'runkit_method_add\'1' => ['bool', 'classname'=>'string', 'methodname'=>'string', 'closure'=>'Closure', 'flags='=>'int', 'doccomment='=>'string|null'], +'runkit_method_add' => ['bool', 'classname'=>'string', 'methodname'=>'string', 'args'=>'string', 'code'=>'string', 'flags='=>'int', 'doccomment='=>'string|null'], 'runkit_method_copy' => ['bool', 'dclass'=>'string', 'dmethod'=>'string', 'sclass'=>'string', 'smethod='=>'string'], -'runkit_method_redefine' => ['bool', 'classname'=>'string', 'methodname'=>'string', 'args'=>'string', 'code'=>'string', 'flags='=>'int'], +'runkit_method_redefine\'1' => ['bool', 'classname'=>'string', 'methodname'=>'string', 'closure'=>'Closure', 'flags='=>'int', 'doccomment='=>'string|null'], +'runkit_method_redefine' => ['bool', 'classname'=>'string', 'methodname'=>'string', 'args'=>'string', 'code'=>'string', 'flags='=>'int', 'doccomment='=>'string|null'], 'runkit_method_remove' => ['bool', 'classname'=>'string', 'methodname'=>'string'], 'runkit_method_rename' => ['bool', 'classname'=>'string', 'methodname'=>'string', 'newname'=>'string'], 'runkit_return_value_used' => ['bool'], @@ -7721,7 +7847,7 @@ return [ 'Runkit_Sandbox_Parent::__construct' => ['void'], 'runkit_superglobals' => ['array'], 'RuntimeException::__clone' => ['Throwable|Exception'], -'RuntimeException::__construct' => ['RuntimeException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|RuntimeException'], +'RuntimeException::__construct' => ['RuntimeException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|RuntimeException|null'], 'RuntimeException::getCode' => ['int'], 'RuntimeException::getFile' => ['string'], 'RuntimeException::getLine' => ['int'], @@ -7865,8 +7991,8 @@ return [ 'session_reset' => [''], 'session_save_path' => ['string', 'newname='=>'string'], 'session_set_cookie_params' => ['', 'lifetime'=>'int', 'path='=>'string', 'domain='=>'string', 'secure='=>'bool', 'httponly='=>'bool'], -'session_set_save_handler' => ['bool', 'open'=>'string', 'close'=>'string', 'read'=>'string', 'write'=>'string', 'destroy'=>'string', 'gc'=>'string', 'create_sid='=>'string'], -'session_set_save_handler\'1' => ['bool', 'sessionhandler'=>'SessionHandlerInterface', 'register_shutdown'=>'bool'], +'session_set_save_handler' => ['bool', 'open'=>'callable', 'close'=>'callable', 'read'=>'callable', 'write'=>'callable', 'destroy'=>'callable', 'gc'=>'callable', 'create_sid='=>'callable', 'validate_sid='=>'callable','update_timestamp='=>'callable'], +'session_set_save_handler\'1' => ['bool', 'sessionhandler'=>'SessionHandlerInterface', 'register_shutdown='=>'bool'], 'session_start' => ['bool', 'options='=>'array'], 'session_status' => ['int'], 'session_unregister' => ['bool', 'name'=>'string'], @@ -7923,7 +8049,7 @@ return [ 'SimpleXMLElement::registerXPathNamespace' => ['bool', 'prefix'=>'string', 'ns'=>'string'], 'SimpleXMLElement::__toString' => ['string'], 'SimpleXMLElement::xpath' => ['array', 'path'=>'string'], -'simplexml_import_dom' => ['simplemxml_element', 'node'=>'domnode', 'class_name='=>'string'], +'simplexml_import_dom' => ['SimpleXMLElement', 'node'=>'domnode', 'class_name='=>'string'], 'SimpleXMLIterator::current' => ['SimpleXMLIterator'], 'SimpleXMLIterator::getChildren' => ['SimpleXMLIterator'], 'SimpleXMLIterator::hasChildren' => ['bool'], @@ -9645,10 +9771,10 @@ return [ 'TypeError::__toString' => ['string'], 'uasort' => ['bool', 'array_arg'=>'array', 'cmp_function'=>'callable'], 'ucfirst' => ['string', 'str'=>'string'], -'UConverter::__construct' => ['UConverter', 'dest'=>'string', 'src'=>'string'], -'UConverter::convert' => ['string', 'str'=>'string', 'reverse'=>'bool'], +'UConverter::__construct' => ['UConverter', 'destination_encoding'=>'string', 'source_encoding='=>'string'], +'UConverter::convert' => ['string', 'str'=>'string', 'reverse='=>'bool'], 'UConverter::fromUCallback' => ['mixed', 'reason'=>'int', 'source'=>'string', 'codePoint'=>'string', '&error'=>'int'], -'UConverter::getAliases' => ['array', 'name'=>'string'], +'UConverter::getAliases' => ['array', 'name='=>'string'], 'UConverter::getAvailable' => ['array'], 'UConverter::getDestinationEncoding' => ['string'], 'UConverter::getDestinationType' => ['int'], @@ -9658,12 +9784,12 @@ return [ 'UConverter::getSourceType' => ['int'], 'UConverter::getStandards' => ['array'], 'UConverter::getSubstChars' => ['string'], -'UConverter::reasonText' => ['string', 'reason'=>'int'], +'UConverter::reasonText' => ['string', 'reason='=>'int'], 'UConverter::setDestinationEncoding' => ['bool', 'encoding'=>'string'], 'UConverter::setSourceEncoding' => ['bool', 'encoding'=>'string'], 'UConverter::setSubstChars' => ['bool', 'chars'=>'string'], 'UConverter::toUCallback' => ['mixed', 'reason'=>'int', 'source'=>'string', 'codeUnits'=>'string', '&error'=>'int'], -'UConverter::transcode' => ['string', 'str'=>'string', 'toencoding'=>'string', 'fromencoding'=>'string', 'options'=>'array'], +'UConverter::transcode' => ['string', 'str'=>'string', 'toEncoding'=>'string', 'fromEncoding'=>'string', 'options='=>'array'], 'ucwords' => ['string', 'str'=>'string', 'delims='=>'string'], 'udm_add_search_limit' => ['bool', 'agent'=>'', 'var'=>'int', 'val'=>'string'], 'udm_alloc_agent_array' => ['resource', 'databases'=>'array'], @@ -9692,7 +9818,7 @@ return [ 'uksort' => ['bool', 'array_arg'=>'array', 'cmp_function'=>'callable'], 'umask' => ['int', 'mask='=>'int'], 'UnderflowException::__clone' => ['Throwable|UnderflowException'], -'UnderflowException::__construct' => ['UnderflowException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|UnderflowException'], +'UnderflowException::__construct' => ['UnderflowException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|UnderflowException|null'], 'UnderflowException::getCode' => ['int'], 'UnderflowException::getFile' => ['string'], 'UnderflowException::getLine' => ['int'], @@ -9702,7 +9828,7 @@ return [ 'UnderflowException::getTraceAsString' => ['string'], 'UnderflowException::__toString' => ['string'], 'UnexpectedValueException::__clone' => ['Throwable|UnexpectedValueException'], -'UnexpectedValueException::__construct' => ['UnexpectedValueException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|null'], +'UnexpectedValueException::__construct' => ['UnexpectedValueException', 'message='=>'string', 'code='=>'int', 'previous='=>'Throwable|UnexpectedValueException|null'], 'UnexpectedValueException::getCode' => ['int'], 'UnexpectedValueException::getFile' => ['string'], 'UnexpectedValueException::getLine' => ['int'],